Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move onto drumstick and ditch portsmf
Browse files Browse the repository at this point in the history
* Added Cakewalk file format import support

* Added Overture file format import support

* Enhanced MIDI CC Message handling
senseab authored and liushuyu committed Jan 10, 2017
1 parent 674a2fb commit 1e39d12
Showing 39 changed files with 1,656 additions and 7,312 deletions.
2 changes: 1 addition & 1 deletion .travis/linux..install.sh
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@
PACKAGES="cmake libsndfile-dev fftw3-dev libvorbis-dev libogg-dev
libasound2-dev libjack-dev libsdl-dev libsamplerate0-dev libstk0-dev
libfluidsynth-dev portaudio19-dev wine-dev g++-multilib libfltk1.3-dev
libgig-dev libsoundio-dev"
libgig-dev libsoundio-dev libdrumstick-dev"

# Help with unmet dependencies
PACKAGES="$PACKAGES libjack0"
80 changes: 56 additions & 24 deletions data/locale/en.ts
Original file line number Diff line number Diff line change
@@ -227,6 +227,9 @@ If you're interested in translating LMMS in another language or want to imp
<source>The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AudioJack::setupWidget</name>
<message>
<source>CLIENT-NAME</source>
<translation type="unfinished"></translation>
@@ -2245,6 +2248,9 @@ You can remove and move FX channels in the context menu, which is accessed by ri
<source>FX-Mixer</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FxMixerView::FxChannelView</name>
<message>
<source>FX Fader %1</source>
<translation type="unfinished"></translation>
@@ -4026,6 +4032,10 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS.</source>
<source>Enable note labels in piano roll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save project template</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MeterDialog</name>
@@ -4064,25 +4074,6 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MidiImport</name>
<message>
<source>Setup incomplete</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You do not have set up a default soundfont in the settings dialog (Edit-&gt;Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Track</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MidiJack</name>
<message>
@@ -6237,6 +6228,21 @@ Remember to also save your project manually.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SmfImport</name>
<message>
<source>Setup incomplete</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You do not have set up a default soundfont in the settings dialog (Edit-&gt;Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Song</name>
<message>
@@ -6315,6 +6321,18 @@ Remember to also save your project manually.</source>
<source>LMMS Error report</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Overture projects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cakewalk projects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save project</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SongEditor</name>
@@ -6703,8 +6721,11 @@ Please make sure you have read-permission to the file and the directory containi
<source>Please wait...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TrackContainer::TrackContainer</name>
<message>
<source>Importing MIDI-file...</source>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -6966,6 +6987,10 @@ Please make sure you have read-permission to the file and the directory containi
<source>Decrement version number</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> already exists. Do you want to replace it?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VestigeInstrumentView</name>
@@ -7716,6 +7741,13 @@ Please make sure you have read-permission to the file and the directory containi
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>commonReader</name>
<message>
<source>Track</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dynProcControlDialog</name>
<message>
@@ -9084,10 +9116,6 @@ Double clicking any of the plugins will bring up information on the ports.</sour
<source>plugin for using arbitrary LADSPA-effects inside LMMS.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter for importing MIDI-files into LMMS</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Emulation of the MOS6581 and MOS8580 SID.
This chip was used in the Commodore 64 computer.</source>
@@ -9213,6 +9241,10 @@ This chip was used in the Commodore 64 computer.</source>
<source>Filter for exporting MIDI-files from LMMS</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter for importing MIDI-like files into LMMS</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>sf2Instrument</name>
50 changes: 50 additions & 0 deletions include/SmfMidiCC.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* smfMidiCC.h - support for importing MIDI files
*
* Copyright (c) 2005-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of LMMS - http://lmms.io
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/

#ifndef SMF_MIDI_CC_H
#define SMF_MIDI_CC_H

#include <QApplication>

#include "TrackContainer.h"
#include "AutomationTrack.h"
#include "AutomationPattern.h"
#include "MidiTime.h"

class SmfMidiCC
{

public:
SmfMidiCC();

AutomationTrack * at;
AutomationPattern * ap;
MidiTime lastPos;

SmfMidiCC & create(TrackContainer* tc, QString tn );
SmfMidiCC & putValue( MidiTime time, AutomatableModel * objModel, float value );
void clear();
};

#endif
58 changes: 58 additions & 0 deletions include/SmfMidiChannel.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* smfMidiChannel.h - support for importing MIDI files
*
* Copyright (c) 2005-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of LMMS - http://lmms.io
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/

#ifndef SMF_MIDI_CHANNEL_H
#define SMF_MIDI_CHANNEL_H

#include <QApplication>

#include "InstrumentTrack.h"
#include "Pattern.h"
#include "Instrument.h"
#include "MidiTime.h"




class SmfMidiChannel
{

public:
SmfMidiChannel();

InstrumentTrack * it;
Pattern* p;
Instrument * it_inst;
bool isSF2;
bool hasNotes;
MidiTime lastEnd;
QString trackName;

SmfMidiChannel * create( TrackContainer* tc, QString tn );

void addNote( Note & n );

};

#endif
2 changes: 1 addition & 1 deletion plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -55,7 +55,7 @@ IF("${PLUGIN_LIST}" STREQUAL "")
ladspa_browser
LadspaEffect
lb302
MidiImport
SmfImport # For Midi, Overture and Cakewalk files.
# MidiExport - temporarily disabled, MIDI export is broken
MultitapEcho
monstro
8 changes: 0 additions & 8 deletions plugins/MidiImport/CMakeLists.txt

This file was deleted.

Loading

0 comments on commit 1e39d12

Please sign in to comment.