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:
Hyunjin Song
2019-09-15 21:08:33 +09:00
37 changed files with 25 additions and 9 deletions

View File

@@ -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>

View File

@@ -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.

View File

@@ -81,6 +81,12 @@ TextFloat {
}
/* splash screen text */
QSplashScreen QLabel {
color: white;
}
QMenu {
border-top: 2px solid #08993E;
background-color: #15191c;

View File

@@ -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;

View File

@@ -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:

View File

@@ -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] );