forked from mirrors/qmk_userspace
		
	Fix for MIDI sustain effect issue (#10361)
This commit is contained in:
		
					parent
					
						
							
								c8cff1489a
							
						
					
				
			
			
				commit
				
					
						2bcac45650
					
				
			
		
					 1 changed files with 6 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -68,10 +68,12 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
            uint8_t tone     = keycode - MIDI_TONE_MIN;
 | 
			
		||||
            uint8_t velocity = compute_velocity(midi_config.velocity);
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                uint8_t note = midi_compute_note(keycode);
 | 
			
		||||
                midi_send_noteon(&midi_device, channel, note, velocity);
 | 
			
		||||
                dprintf("midi noteon channel:%d note:%d velocity:%d\n", channel, note, velocity);
 | 
			
		||||
                tone_status[tone] = note;
 | 
			
		||||
                if (tone_status[tone] == MIDI_INVALID_NOTE) {
 | 
			
		||||
                    uint8_t note = midi_compute_note(keycode);
 | 
			
		||||
                    midi_send_noteon(&midi_device, channel, note, velocity);
 | 
			
		||||
                    dprintf("midi noteon channel:%d note:%d velocity:%d\n", channel, note, velocity);
 | 
			
		||||
                    tone_status[tone] = note;
 | 
			
		||||
                }
 | 
			
		||||
            } else {
 | 
			
		||||
                uint8_t note = tone_status[tone];
 | 
			
		||||
                if (note != MIDI_INVALID_NOTE) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue