Merge branch 'stable-1.2'
# Conflicts: # .mailmap # cmake/linux/lmms.desktop # src/gui/editors/PianoRoll.cpp # src/tracks/BBTrack.cpp
This commit is contained in:
1
.mailmap
1
.mailmap
@@ -29,4 +29,5 @@ grejppi <grejppi@gmail.com>
|
||||
Johannes Lorenz <j.git@lorenz-ho.me> <johannes89@mailueberfall.de>
|
||||
Johannes Lorenz <j.git@lorenz-ho.me> <1042576+JohannesLorenz@users.noreply.github.com>
|
||||
Noah Brecht <noahb2713@gmail.com>
|
||||
Olivier Humbert <trebmuh@tuxfamily.org> <trebmuh@users.noreply.github.com>
|
||||
Hussam al-Homsi <sawuare@gmail.com> Hussam Eddin Alhomsi <hussameddin.alhomsi@gmail.com>
|
||||
|
||||
@@ -3,11 +3,11 @@ Name=LMMS
|
||||
GenericName=Music production suite
|
||||
GenericName[ca]=Programari de producció musical
|
||||
GenericName[de]=Software zur Musik-Produktion
|
||||
GenericName[fr]=Ensemble pour la production musicale
|
||||
GenericName[fr]=Suite de production musicale
|
||||
GenericName[pl]=Narzędzia do produkcji muzyki
|
||||
Comment=Music sequencer and synthesizer
|
||||
Comment[ca]=Producció fàcil de música per a tothom!
|
||||
Comment[fr]=Production facile de musique pour tout le monde !
|
||||
Comment[fr]=Séquenceur et synthétiseur de musique
|
||||
Comment[pl]=Prosta produkcja muzyki dla każdego!
|
||||
Icon=lmms
|
||||
Exec=lmms %f
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -81,6 +81,12 @@ TextFloat {
|
||||
}
|
||||
|
||||
|
||||
/* splash screen text */
|
||||
QSplashScreen QLabel {
|
||||
color: white;
|
||||
}
|
||||
|
||||
|
||||
QMenu {
|
||||
border-top: 2px solid #08993E;
|
||||
background-color: #15191c;
|
||||
|
||||
@@ -196,7 +196,12 @@ void NotePlayHandle::play( sampleFrame * _working_buffer )
|
||||
|
||||
lock();
|
||||
|
||||
if( m_totalFramesPlayed == 0 && !m_hasMidiNote
|
||||
/* It is possible for NotePlayHandle::noteOff to be called before NotePlayHandle::play,
|
||||
* which results in a note-on message being sent without a subsequent note-off message.
|
||||
* Therefore, we check here whether the note has already been released before sending
|
||||
* the note-on message. */
|
||||
if( !m_released
|
||||
&& m_totalFramesPlayed == 0 && !m_hasMidiNote
|
||||
&& ( hasParent() || ! m_instrumentTrack->isArpeggioEnabled() ) )
|
||||
{
|
||||
m_hasMidiNote = true;
|
||||
|
||||
@@ -563,7 +563,7 @@ void MidiAlsaSeq::run()
|
||||
|
||||
case SND_SEQ_EVENT_CONTROLLER:
|
||||
dest->processInEvent( MidiEvent(
|
||||
MidiControlChange,
|
||||
MidiControlChange,
|
||||
ev->data.control.channel,
|
||||
ev->data.control.param,
|
||||
ev->data.control.value, source ),
|
||||
@@ -572,11 +572,11 @@ void MidiAlsaSeq::run()
|
||||
|
||||
case SND_SEQ_EVENT_PGMCHANGE:
|
||||
dest->processInEvent( MidiEvent(
|
||||
MidiProgramChange,
|
||||
MidiProgramChange,
|
||||
ev->data.control.channel,
|
||||
ev->data.control.param,
|
||||
ev->data.control.value, source ),
|
||||
MidiTime() );
|
||||
ev->data.control.value, 0,
|
||||
source ),
|
||||
MidiTime() );
|
||||
break;
|
||||
|
||||
case SND_SEQ_EVENT_CHANPRESS:
|
||||
|
||||
@@ -222,12 +222,16 @@ void MidiClientRaw::parseData( const unsigned char c )
|
||||
case MidiNoteOff:
|
||||
case MidiNoteOn:
|
||||
case MidiKeyPressure:
|
||||
case MidiProgramChange:
|
||||
case MidiChannelPressure:
|
||||
m_midiParseData.m_midiEvent.setKey( m_midiParseData.m_buffer[0] - KeysPerOctave );
|
||||
m_midiParseData.m_midiEvent.setVelocity( m_midiParseData.m_buffer[1] );
|
||||
break;
|
||||
|
||||
case MidiProgramChange:
|
||||
m_midiParseData.m_midiEvent.setKey( m_midiParseData.m_buffer[0] );
|
||||
m_midiParseData.m_midiEvent.setVelocity( m_midiParseData.m_buffer[1] );
|
||||
break;
|
||||
|
||||
case MidiControlChange:
|
||||
m_midiParseData.m_midiEvent.setControllerNumber( m_midiParseData.m_buffer[0] );
|
||||
m_midiParseData.m_midiEvent.setControllerValue( m_midiParseData.m_buffer[1] );
|
||||
|
||||
Reference in New Issue
Block a user