@@ -606,6 +606,39 @@ typedef struct _snd_ump_msg_set_metronome {
606
606
#endif
607
607
} __attribute((packed )) snd_ump_msg_set_metronome_t ;
608
608
609
+ /** Set Key Signature Message (128bit) */
610
+ typedef struct _snd_ump_msg_set_key_sig {
611
+ #ifdef SNDRV_BIG_ENDIAN_BITFIELD
612
+ uint8_t type :4 ; /**< UMP packet type */
613
+ uint8_t group :4 ; /**< UMP Group */
614
+ uint8_t format :2 ; /**< Format */
615
+ uint8_t addrs :2 ; /**< Address */
616
+ uint8_t channel :4 ; /**< Channel */
617
+ uint8_t status_bank ; /**< Status Bank */
618
+ uint8_t status ; /**< Status */
619
+
620
+ uint8_t sharps_flats :4 ; /**< Sharps/Flats */
621
+ uint8_t tonic_note :4 ; /**< Tonic Note 1 */
622
+ uint8_t reserved1 [3 ]; /**< Unused */
623
+
624
+ uint32_t reserved2 [2 ]; /**< Unused */
625
+ #else
626
+ uint8_t status ; /**< Status */
627
+ uint8_t status_bank ; /**< Status Bank */
628
+ uint8_t channel :4 ; /**< Channel */
629
+ uint8_t addrs :2 ; /**< Address */
630
+ uint8_t format :2 ; /**< Format */
631
+ uint8_t group :4 ; /**< UMP Group */
632
+ uint8_t type :4 ; /**< UMP packet type */
633
+
634
+ uint8_t reserved1 [3 ]; /**< Unused */
635
+ uint8_t tonic_note :4 ; /**< Tonic Note */
636
+ uint8_t sharps_flats :4 ; /**< Sharps/Flats */
637
+
638
+ uint32_t reserved2 [2 ]; /**< Unused */
639
+ #endif
640
+ } __attribute((packed )) snd_ump_msg_set_key_sig_t ;
641
+
609
642
/** Set Chord Name Message (128bit) */
610
643
typedef struct _snd_ump_msg_set_chord_name {
611
644
#ifdef SNDRV_BIG_ENDIAN_BITFIELD
@@ -678,6 +711,7 @@ typedef union _snd_ump_msg_flex_data {
678
711
snd_ump_msg_set_tempo_t set_tempo ; /**< Set Tempo */
679
712
snd_ump_msg_set_time_sig_t set_time_sig ; /**< Set Time Signature */
680
713
snd_ump_msg_set_metronome_t set_metronome ; /**< Set Metronome */
714
+ snd_ump_msg_set_key_sig_t set_key_sig ; /**< Set Key Signature */
681
715
snd_ump_msg_set_chord_name_t set_chord_name ; /**< Set Chord Name */
682
716
snd_ump_msg_hdr_t hdr ; /**< UMP header */
683
717
uint32_t raw [4 ]; /**< raw UMP packet */
0 commit comments