Skip to content

Commit 41fea52

Browse files
committed
remove redundant midi2 from APIs and deprecate old versions
1 parent 3db6c53 commit 41fea52

File tree

2 files changed

+123
-56
lines changed

2 files changed

+123
-56
lines changed

inc/midi/midi2_channel_voice_message.h

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ struct midi2_channel_voice_message : universal_packet
5050
//--------------------------------------------------------------------------
5151

5252
constexpr bool is_midi2_channel_voice_message(const universal_packet&);
53-
constexpr bool is_midi2_registered_controller_message(const universal_packet&);
54-
constexpr bool is_midi2_assignable_controller_message(const universal_packet&);
55-
constexpr bool is_midi2_registered_per_note_controller_message(const universal_packet&);
56-
constexpr bool is_midi2_assignable_per_note_controller_message(const universal_packet&);
57-
constexpr bool is_midi2_per_note_pitch_bend_message(const universal_packet&);
53+
constexpr bool is_registered_controller_message(const universal_packet&);
54+
constexpr bool is_assignable_controller_message(const universal_packet&);
55+
constexpr bool is_registered_per_note_controller_message(const universal_packet&);
56+
constexpr bool is_assignable_per_note_controller_message(const universal_packet&);
57+
constexpr bool is_per_note_pitch_bend_message(const universal_packet&);
5858

5959
//--------------------------------------------------------------------------
6060

@@ -67,7 +67,7 @@ constexpr bool is_note_on_with_pitch_7_9(const universal_packet&);
6767
constexpr uint8_t get_midi2_note_attribute(const universal_packet&);
6868
constexpr uint16_t get_midi2_note_attribute_data(const universal_packet&);
6969

70-
constexpr uint8_t get_midi2_per_note_controller_index(const universal_packet&);
70+
constexpr uint8_t get_per_note_controller_index(const universal_packet&);
7171

7272
constexpr bool is_pitch_bend_sensitivity_message(const universal_packet&);
7373
constexpr bool is_per_note_pitch_bend_sensitivity_message(const universal_packet&);
@@ -388,25 +388,25 @@ constexpr midi2_channel_voice_message make_per_note_pitch_bend_message(group_t
388388
return { group, channel_voice_status::per_note_pitch_bend, channel, note_nr, 0, pb.value };
389389
}
390390

391-
constexpr bool is_midi2_registered_controller_message(const universal_packet& p)
391+
constexpr bool is_registered_controller_message(const universal_packet& p)
392392
{
393393
return is_midi2_channel_voice_message(p) && (p.status() & 0xF0) == channel_voice_status::registered_controller;
394394
}
395-
constexpr bool is_midi2_assignable_controller_message(const universal_packet& p)
395+
constexpr bool is_assignable_controller_message(const universal_packet& p)
396396
{
397397
return is_midi2_channel_voice_message(p) && (p.status() & 0xF0) == channel_voice_status::assignable_controller;
398398
}
399-
constexpr bool is_midi2_registered_per_note_controller_message(const universal_packet& p)
399+
constexpr bool is_registered_per_note_controller_message(const universal_packet& p)
400400
{
401401
return is_midi2_channel_voice_message(p) &&
402402
(p.status() & 0xF0) == channel_voice_status::registered_per_note_controller;
403403
}
404-
constexpr bool is_midi2_assignable_per_note_controller_message(const universal_packet& p)
404+
constexpr bool is_assignable_per_note_controller_message(const universal_packet& p)
405405
{
406406
return is_midi2_channel_voice_message(p) &&
407407
(p.status() & 0xF0) == channel_voice_status::assignable_per_note_controller;
408408
}
409-
constexpr bool is_midi2_per_note_pitch_bend_message(const universal_packet& p)
409+
constexpr bool is_per_note_pitch_bend_message(const universal_packet& p)
410410
{
411411
return is_midi2_channel_voice_message(p) && (p.status() & 0xF0) == channel_voice_status::per_note_pitch_bend;
412412
}
@@ -420,6 +420,31 @@ constexpr bool is_note_off_with_attribute(const universal_packet& p, uint8_t att
420420
return is_midi2_channel_voice_message(p) && ((p.status() & 0xF0) == channel_voice_status::note_off) &&
421421
(p.byte4() == attribute);
422422
}
423+
[[deprecated("use is_registered_controller_message instead")]]
424+
constexpr bool is_midi2_registered_controller_message(const universal_packet& p)
425+
{
426+
return is_registered_controller_message(p);
427+
}
428+
[[deprecated("use is_assignable_controller_message instead")]]
429+
constexpr bool is_midi2_assignable_controller_message(const universal_packet& p)
430+
{
431+
return is_assignable_controller_message(p);
432+
}
433+
[[deprecated("use is_registered_per_note_controller_message instead")]]
434+
constexpr bool is_midi2_registered_per_note_controller_message(const universal_packet& p)
435+
{
436+
return is_registered_per_note_controller_message(p);
437+
}
438+
[[deprecated("use is_assignable_per_note_controller_message instead")]]
439+
constexpr bool is_midi2_assignable_per_note_controller_message(const universal_packet& p)
440+
{
441+
return is_assignable_per_note_controller_message(p);
442+
}
443+
[[deprecated("use is_per_note_pitch_bend_message instead")]]
444+
constexpr bool is_midi2_per_note_pitch_bend_message(const universal_packet& p)
445+
{
446+
return is_per_note_pitch_bend_message(p);
447+
}
423448
constexpr bool is_note_on_with_pitch_7_9(const universal_packet& p)
424449
{
425450
return is_note_on_with_attribute(p, note_attribute::pitch_7_9);
@@ -432,18 +457,24 @@ constexpr uint16_t get_midi2_note_attribute_data(const universal_packet& p)
432457
{
433458
return uint16_t(p.data[1] & 0xFFFF);
434459
}
435-
constexpr uint8_t get_midi2_per_note_controller_index(const universal_packet& p)
460+
constexpr uint8_t get_per_note_controller_index(const universal_packet& p)
436461
{
437462
return p.byte4();
438463
}
464+
[[deprecated("use get_per_note_controller_index instead")]]
465+
constexpr uint8_t get_midi2_per_note_controller_index(const universal_packet& p)
466+
{
467+
return get_per_note_controller_index(p);
468+
}
469+
439470
constexpr bool is_pitch_bend_sensitivity_message(const universal_packet& p)
440471
{
441-
return is_midi2_registered_controller_message(p) && (p.byte3() == 0) &&
472+
return is_registered_controller_message(p) && (p.byte3() == 0) &&
442473
(p.byte4() == registered_parameter_number::pitch_bend_sensitivity);
443474
}
444475
constexpr bool is_per_note_pitch_bend_sensitivity_message(const universal_packet& p)
445476
{
446-
return is_midi2_registered_controller_message(p) && (p.byte3() == 0) &&
477+
return is_registered_controller_message(p) && (p.byte3() == 0) &&
447478
(p.byte4() == registered_parameter_number::per_note_pitch_bend_sensitivity);
448479
}
449480
constexpr pitch_bend_sensitivity get_pitch_bend_sensitivity_value(const universal_packet& p)

tests/midi2_channel_voice_message_tests.cpp

Lines changed: 78 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -153,14 +153,14 @@ TEST_F(midi2_channel_voice_message, make_midi2_channel_voice_message)
153153
const auto m =
154154
make_midi2_channel_voice_message(4, channel_voice_status::per_note_pitch_bend, 14, 0x43, 0x00, 0x8000D123);
155155
EXPECT_EQ((universal_packet{ 0x446E4300, 0x8000D123 }), m);
156-
EXPECT_TRUE(is_midi2_per_note_pitch_bend_message(m));
156+
EXPECT_TRUE(is_per_note_pitch_bend_message(m));
157157
}
158158

159159
{
160160
constexpr auto m =
161161
make_midi2_channel_voice_message(12, channel_voice_status::registered_controller, 5, 4, 0x62, 0xABCDEF00);
162162
EXPECT_EQ((universal_packet{ 0x4C250462, 0xABCDEF00 }), m);
163-
EXPECT_TRUE(is_midi2_registered_controller_message(m));
163+
EXPECT_TRUE(is_registered_controller_message(m));
164164
}
165165

166166
{ // invalid channel in status
@@ -236,15 +236,15 @@ TEST_F(midi2_channel_voice_message, make_registered_per_note_controller_message)
236236
constexpr auto m =
237237
make_registered_per_note_controller_message(0xF, 0xE, 44, 77, controller_value{ 0x33445566u });
238238
EXPECT_EQ((universal_packet{ 0x4F0E2C4D, 0x33445566 }), m);
239-
EXPECT_TRUE(is_midi2_registered_per_note_controller_message(m));
240-
EXPECT_TRUE(get_midi2_per_note_controller_index(m) == 77);
239+
EXPECT_TRUE(is_registered_per_note_controller_message(m));
240+
EXPECT_TRUE(get_per_note_controller_index(m) == 77);
241241
}
242242

243243
{
244244
const auto m = make_registered_per_note_controller_message(1, 5, 0x33, 0x44, controller_value{ 0x55u });
245245
EXPECT_EQ((universal_packet{ 0x41053344, 0x00000055 }), m);
246-
EXPECT_TRUE(is_midi2_registered_per_note_controller_message(m));
247-
EXPECT_TRUE(get_midi2_per_note_controller_index(m) == 0x44);
246+
EXPECT_TRUE(is_registered_per_note_controller_message(m));
247+
EXPECT_TRUE(get_per_note_controller_index(m) == 0x44);
248248
}
249249
}
250250

@@ -258,8 +258,8 @@ TEST_F(midi2_channel_voice_message, make_assignable_per_note_controller_message)
258258
constexpr auto m =
259259
make_assignable_per_note_controller_message(0xE, 0xD, 0x12, 0x34, controller_value{ 0x44556677u });
260260
EXPECT_EQ((universal_packet{ 0x4E1D1234, 0x44556677 }), m);
261-
EXPECT_TRUE(is_midi2_assignable_per_note_controller_message(m));
262-
EXPECT_TRUE(get_midi2_per_note_controller_index(m) == 0x34);
261+
EXPECT_TRUE(is_assignable_per_note_controller_message(m));
262+
EXPECT_TRUE(get_per_note_controller_index(m) == 0x34);
263263
}
264264

265265
{
@@ -316,7 +316,7 @@ TEST_F(midi2_channel_voice_message, make_registered_controller_message)
316316
{
317317
constexpr auto m = make_registered_controller_message(3, 7, 9, 0x45, controller_value{ 0x80101010u });
318318
EXPECT_EQ((universal_packet{ 0x43270945, 0x80101010 }), m);
319-
EXPECT_TRUE(is_midi2_registered_controller_message(m));
319+
EXPECT_TRUE(is_registered_controller_message(m));
320320
}
321321

322322
{ // invalid bank bits
@@ -339,7 +339,7 @@ TEST_F(midi2_channel_voice_message, make_assignable_controller_message)
339339
{
340340
constexpr auto m = make_assignable_controller_message(3, 7, 9, 0x45, controller_value{ 0x80101010u });
341341
EXPECT_EQ((universal_packet{ 0x43370945, 0x80101010 }), m);
342-
EXPECT_TRUE(is_midi2_assignable_controller_message(m));
342+
EXPECT_TRUE(is_assignable_controller_message(m));
343343
}
344344

345345
{ // invalid bank bits
@@ -486,66 +486,66 @@ TEST_F(midi2_channel_voice_message, is_midi2_type_query_functions)
486486
{
487487
constexpr auto m = make_midi1_note_on_message(1, 1, 60, velocity{ uint7_t{ 90 } });
488488
EXPECT_FALSE(is_midi2_channel_voice_message(m));
489-
EXPECT_FALSE(is_midi2_registered_controller_message(m));
490-
EXPECT_FALSE(is_midi2_assignable_controller_message(m));
491-
EXPECT_FALSE(is_midi2_registered_per_note_controller_message(m));
492-
EXPECT_FALSE(is_midi2_assignable_per_note_controller_message(m));
493-
EXPECT_FALSE(is_midi2_per_note_pitch_bend_message(m));
489+
EXPECT_FALSE(is_registered_controller_message(m));
490+
EXPECT_FALSE(is_assignable_controller_message(m));
491+
EXPECT_FALSE(is_registered_per_note_controller_message(m));
492+
EXPECT_FALSE(is_assignable_per_note_controller_message(m));
493+
EXPECT_FALSE(is_per_note_pitch_bend_message(m));
494494
}
495495

496496
{
497497
constexpr auto m =
498498
make_midi2_channel_voice_message(12, channel_voice_status::registered_controller, 5, 4, 0x62, 0xABCDEF00);
499499
EXPECT_TRUE(is_midi2_channel_voice_message(m));
500-
EXPECT_TRUE(is_midi2_registered_controller_message(m));
501-
EXPECT_FALSE(is_midi2_assignable_controller_message(m));
502-
EXPECT_FALSE(is_midi2_registered_per_note_controller_message(m));
503-
EXPECT_FALSE(is_midi2_assignable_per_note_controller_message(m));
504-
EXPECT_FALSE(is_midi2_per_note_pitch_bend_message(m));
500+
EXPECT_TRUE(is_registered_controller_message(m));
501+
EXPECT_FALSE(is_assignable_controller_message(m));
502+
EXPECT_FALSE(is_registered_per_note_controller_message(m));
503+
EXPECT_FALSE(is_assignable_per_note_controller_message(m));
504+
EXPECT_FALSE(is_per_note_pitch_bend_message(m));
505505
}
506506

507507
{
508508
constexpr auto m = make_assignable_controller_message(3, 7, 9, 0x45, controller_value{ 0x80101010u });
509509
EXPECT_TRUE(is_midi2_channel_voice_message(m));
510-
EXPECT_FALSE(is_midi2_registered_controller_message(m));
511-
EXPECT_TRUE(is_midi2_assignable_controller_message(m));
512-
EXPECT_FALSE(is_midi2_registered_per_note_controller_message(m));
513-
EXPECT_FALSE(is_midi2_assignable_per_note_controller_message(m));
514-
EXPECT_FALSE(is_midi2_per_note_pitch_bend_message(m));
510+
EXPECT_FALSE(is_registered_controller_message(m));
511+
EXPECT_TRUE(is_assignable_controller_message(m));
512+
EXPECT_FALSE(is_registered_per_note_controller_message(m));
513+
EXPECT_FALSE(is_assignable_per_note_controller_message(m));
514+
EXPECT_FALSE(is_per_note_pitch_bend_message(m));
515515
}
516516

517517
{
518518
const auto m = make_registered_per_note_controller_message(1, 5, 0x33, 0x44, controller_value{ 0x55u });
519519
EXPECT_TRUE(is_midi2_channel_voice_message(m));
520-
EXPECT_FALSE(is_midi2_registered_controller_message(m));
521-
EXPECT_FALSE(is_midi2_assignable_controller_message(m));
522-
EXPECT_TRUE(is_midi2_registered_per_note_controller_message(m));
523-
EXPECT_EQ(get_midi2_per_note_controller_index(m), 0x44);
524-
EXPECT_FALSE(is_midi2_assignable_per_note_controller_message(m));
525-
EXPECT_FALSE(is_midi2_per_note_pitch_bend_message(m));
520+
EXPECT_FALSE(is_registered_controller_message(m));
521+
EXPECT_FALSE(is_assignable_controller_message(m));
522+
EXPECT_TRUE(is_registered_per_note_controller_message(m));
523+
EXPECT_EQ(get_per_note_controller_index(m), 0x44);
524+
EXPECT_FALSE(is_assignable_per_note_controller_message(m));
525+
EXPECT_FALSE(is_per_note_pitch_bend_message(m));
526526
}
527527

528528
{
529529
const auto m =
530530
make_assignable_per_note_controller_message(0xE, 0xD, 0x12, 0x34, controller_value{ 0x44556677u });
531531
EXPECT_TRUE(is_midi2_channel_voice_message(m));
532-
EXPECT_FALSE(is_midi2_registered_controller_message(m));
533-
EXPECT_FALSE(is_midi2_assignable_controller_message(m));
534-
EXPECT_FALSE(is_midi2_registered_per_note_controller_message(m));
535-
EXPECT_TRUE(is_midi2_assignable_per_note_controller_message(m));
536-
EXPECT_EQ(get_midi2_per_note_controller_index(m), 0x34);
537-
EXPECT_FALSE(is_midi2_per_note_pitch_bend_message(m));
532+
EXPECT_FALSE(is_registered_controller_message(m));
533+
EXPECT_FALSE(is_assignable_controller_message(m));
534+
EXPECT_FALSE(is_registered_per_note_controller_message(m));
535+
EXPECT_TRUE(is_assignable_per_note_controller_message(m));
536+
EXPECT_EQ(get_per_note_controller_index(m), 0x34);
537+
EXPECT_FALSE(is_per_note_pitch_bend_message(m));
538538
}
539539

540540
{
541541
const auto m =
542542
make_midi2_channel_voice_message(4, channel_voice_status::per_note_pitch_bend, 14, 0x43, 0x00, 0x8000D123);
543543
EXPECT_TRUE(is_midi2_channel_voice_message(m));
544-
EXPECT_FALSE(is_midi2_registered_controller_message(m));
545-
EXPECT_FALSE(is_midi2_assignable_controller_message(m));
546-
EXPECT_FALSE(is_midi2_registered_per_note_controller_message(m));
547-
EXPECT_FALSE(is_midi2_assignable_per_note_controller_message(m));
548-
EXPECT_TRUE(is_midi2_per_note_pitch_bend_message(m));
544+
EXPECT_FALSE(is_registered_controller_message(m));
545+
EXPECT_FALSE(is_assignable_controller_message(m));
546+
EXPECT_FALSE(is_registered_per_note_controller_message(m));
547+
EXPECT_FALSE(is_assignable_per_note_controller_message(m));
548+
EXPECT_TRUE(is_per_note_pitch_bend_message(m));
549549
}
550550
}
551551

@@ -717,3 +717,39 @@ TEST_F(midi2_channel_voice_message, pitch_bend_sensitivities)
717717
}
718718

719719
//-----------------------------------------------
720+
721+
TEST_F(midi2_channel_voice_message, deprecations)
722+
{
723+
using namespace midi;
724+
725+
#if defined(_MSC_VER)
726+
__pragma( warning(push) )
727+
__pragma( warning(disable: 4996) )
728+
#elif defined(__clang__)
729+
#pragma clang diagnostic push
730+
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
731+
#elif defined(__GNUC__) || defined(__GNUG__)
732+
#pragma GCC diagnostic push
733+
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
734+
#pragma GCC diagnostic pop
735+
#endif
736+
737+
universal_packet p;
738+
EXPECT_EQ(is_midi2_registered_controller_message(p), is_registered_controller_message(p));
739+
EXPECT_EQ(is_midi2_assignable_controller_message(p), is_assignable_controller_message(p));
740+
EXPECT_EQ(is_midi2_registered_per_note_controller_message(p), is_registered_per_note_controller_message(p));
741+
EXPECT_EQ(is_midi2_assignable_per_note_controller_message(p), is_assignable_per_note_controller_message(p));
742+
EXPECT_EQ(is_midi2_per_note_pitch_bend_message(p), is_per_note_pitch_bend_message(p));
743+
if (is_registered_per_note_controller_message(p) || is_assignable_per_note_controller_message(p))
744+
EXPECT_EQ(get_midi2_per_note_controller_index(p), get_per_note_controller_index(p));
745+
746+
#if defined(_MSC_VER)
747+
__pragma( warning(pop) )
748+
#elif defined(__clang__)
749+
#pragma clang diagnostic pop
750+
#elif defined(__GNUC__) || defined(__GNUG__)
751+
#pragma GCC diagnostic pop
752+
#endif
753+
}
754+
755+
//-----------------------------------------------

0 commit comments

Comments
 (0)