|
lmms
Cross-platform music production software
|
MIDI exporting base class. More...
#include <MidiExport.h>
Classes | |
| struct | Note |
| A single MIDI note. More... | |
| class | Clip |
| A clip of MIDI notes. More... | |
Public Member Functions | |
| MidiExport () | |
| Explicit constructor for setting plugin descriptor. | |
| ~MidiExport () override=default | |
| bool | tryExport (const TrackContainer::TrackList &tracks, const TrackContainer::TrackList &patternStoreTracks, int tempo, int masterPitch, const std::filesystem::path &filePath) override |
| Export tracks from a project to a .mid extension MIDI file. | |
| Public Member Functions inherited from lmms::ExportFilter | |
| ExportFilter (const Descriptor *_descriptor) | |
| ~ExportFilter () override=default | |
| Public Member Functions inherited from lmms::Plugin | |
| Plugin (const Descriptor *descriptor, Model *parent, const Descriptor::SubPluginFeatures::Key *key=nullptr) | |
| Constructor of a plugin. | |
| ~Plugin () override=default | |
| QString | displayName () const override |
| Return display-name out of sub plugin or descriptor. | |
| const PixmapLoader * | logo () const |
| Return logo out of sub plugin or descriptor. | |
| Type | type () const |
| Return plugin type. | |
| const Descriptor * | descriptor () const |
| Return plugin Descriptor. | |
| const Descriptor::SubPluginFeatures::Key & | key () const |
| virtual void | loadFile (const QString &file) |
| gui::PluginView * | createView (QWidget *parent) |
| Create a view for the model. | |
| Public Member Functions inherited from lmms::Model | |
| Model (Model *parent, QString displayName=QString(), bool defaultConstructed=false) | |
| ~Model () override=default | |
| bool | isDefaultConstructed () const |
| Model * | parentModel () const |
| virtual void | setDisplayName (const QString &displayName) |
| virtual QString | fullDisplayName () const |
| Public Member Functions inherited from lmms::JournallingObject | |
| JournallingObject () | |
| ~JournallingObject () override | |
| jo_id_t | id () const |
| void | saveJournallingState (const bool newState) |
| void | restoreJournallingState () |
| void | addJournalCheckPoint () |
| QDomElement | saveState (QDomDocument &_doc, QDomElement &_parent) override |
| void | restoreState (const QDomElement &_this) override |
| bool | isJournalling () const |
| void | setJournalling (const bool _sr) |
| bool | testAndSetJournalling (const bool newState) |
| bool | isJournallingStateStackEmpty () const |
| Public Member Functions inherited from lmms::SerializingObject | |
| SerializingObject () | |
| virtual | ~SerializingObject () |
| void | setHook (SerializingObjectHook *_hook) |
| SerializingObjectHook * | hook () |
Static Public Attributes | |
| static constexpr int | DefaultBeatLength = 1500 |
Private Member Functions | |
| void | processTrack (Track &track, MidiFile::Track &midiTrack, int tempo, int masterPitch, bool isPattern=false) |
| Process a given instrument track. | |
| void | writePatternClip (Clip &clip, const QDomElement &clipElem, std::uint8_t patternIdx, MidiFile::Track &midiTrack) |
| Build a repeating clip from a normal one and write to MIDI track. | |
| void | processPatternTrack (Track &track) |
| Process a given pattern track. | |
| gui::PluginView * | instantiateView (QWidget *) override |
| Necessary for lmms_plugin_main(). | |
Private Attributes | |
| std::uint8_t | m_channel = 0 |
| Current (incremental) track channel number for non drum tracks. | |
| DataFile | m_dataFile = DataFile(DataFile::Type::SongProject) |
| DataFile to be used by Qt elements. | |
| std::vector< std::vector< std::pair< tick_t, tick_t > > > | m_plists |
| Matrix containing (start, end) pairs for pattern objects. | |
Additional Inherited Members | |
| Public Types inherited from lmms::Plugin | |
| enum class | Type { Instrument , Effect , ImportFilter , ExportFilter , Tool , Library , Other , Undefined = 255 } |
| using | DescriptorList = QList<Descriptor*> |
| Signals inherited from lmms::Model | |
| void | dataChanged () |
| void | dataUnchanged () |
| void | propertiesChanged () |
| Static Public Member Functions inherited from lmms::Plugin | |
| static Plugin * | instantiateWithKey (const QString &pluginName, Model *parent, const Descriptor::SubPluginFeatures::Key *key, bool keyFromDnd=false) |
| static Plugin * | instantiate (const QString &pluginName, Model *parent, void *data) |
| Protected Member Functions inherited from lmms::ExportFilter | |
| void | saveSettings (QDomDocument &, QDomElement &) override |
| void | loadSettings (const QDomElement &) override |
| QString | nodeName () const override |
| Protected Member Functions inherited from lmms::Plugin | |
| void | collectErrorForUI (QString errMsg) |
| Protected Member Functions inherited from lmms::JournallingObject | |
| void | changeID (jo_id_t _id) |
MIDI exporting base class.
| lmms::MidiExport::MidiExport | ( | ) |
Explicit constructor for setting plugin descriptor.
|
overridedefault |
|
inlineoverrideprivatevirtual |
Necessary for lmms_plugin_main().
Implements lmms::Plugin.
|
private |
Process a given pattern track.
|
private |
Process a given instrument track.
|
overridevirtual |
Export tracks from a project to a .mid extension MIDI file.
| tracks | Song tracks |
| patternStoreTracks | PatternStore tracks |
| tempo | Song global tempo |
| masterPitch | Song master pitch |
| filePath | The path of the exported file |
Implements lmms::ExportFilter.
|
private |
Build a repeating clip from a normal one and write to MIDI track.
|
staticconstexpr |
|
private |
Current (incremental) track channel number for non drum tracks.
|
private |
DataFile to be used by Qt elements.
Matrix containing (start, end) pairs for pattern objects.