|
lmms
Cross-platform music production software
|
#include <Song.h>
Classes | |
| struct | SaveOptions |
Public Types | |
| enum class | PlayMode { None , Song , Pattern , MidiClip , AutomationClip , Count } |
| Public Types inherited from lmms::TrackContainer | |
| enum class | Type { Pattern , Song } |
| using | TrackList = std::vector<Track*> |
Public Slots | |
| void | playSong () |
| void | record () |
| void | playAndRecord () |
| void | playPattern () |
| void | playMidiClip (const lmms::MidiClip *midiClipToPlay, bool loop=true) |
| void | togglePause () |
| void | stop () |
| void | startExport () |
| void | stopExport () |
| void | setModified () |
| void | clearProject () |
| void | addPatternTrack () |
Signals | |
| void | projectLoaded () |
| void | playbackStateChanged () |
| void | playbackPositionJumped () |
| void | lengthChanged (int bars) |
| void | tempoChanged (lmms::bpm_t newBPM) |
| void | timeSignatureChanged (int oldTicksPerBar, int ticksPerBar) |
| void | controllerAdded (lmms::Controller *) |
| void | controllerRemoved (lmms::Controller *) |
| void | stopped () |
| void | modified () |
| void | projectFileNameChanged () |
| void | scaleListChanged (int index) |
| void | keymapListChanged (int index) |
| Signals inherited from lmms::TrackContainer | |
| void | trackAdded (lmms::Track *_track) |
| void | trackRemoved () |
| void | trackMoved () |
| Signals inherited from lmms::Model | |
| void | dataChanged () |
| void | dataUnchanged () |
| void | propertiesChanged () |
Public Member Functions | |
| void | clearErrors () |
| void | collectError (const QString error) |
| bool | hasErrors () |
| QString | errorSummary () |
| void | processNextBuffer () |
| int | getLoadingTrackCount () const |
| int | getMilliseconds () const |
| int | getMilliseconds (PlayMode playMode) const |
| int | getBars () const |
| int | ticksPerBar () const |
| int | getBeat () const |
| int | getBeatTicks () const |
| int | getTicks () const |
| f_cnt_t | getFrames () const |
| bool | isPaused () const |
| bool | isPlaying () const |
| bool | isStopped () const |
| bool | isExporting () const |
| void | setExportLoop (bool exportLoop) |
| bool | isRecording () const |
| void | setLoopRenderCount (int count) |
| int | getLoopRenderCount () const |
| bool | isExportDone () const |
| int | getExportProgress () const |
| void | setRenderBetweenMarkers (bool renderBetweenMarkers) |
| PlayMode | playMode () const |
| const TimePos & | getPlayPos (PlayMode pm) const |
| const TimePos & | getPlayPos () const |
| void | setPlayPos (tick_t ticks, PlayMode playMode) |
| void | setPlayPos (tick_t ticks) |
| auto | getTimeline (PlayMode mode) -> Timeline & |
| auto | getTimeline (PlayMode mode) const -> const Timeline & |
| auto | getTimeline () -> Timeline & |
| auto | getTimeline () const -> const Timeline & |
| void | updateLength () |
| bar_t | length () const |
| bpm_t | getTempo () |
| AutomationTrack * | globalAutomationTrack () |
| AutomatedValueMap | automatedValuesAt (TimePos time, int clipNum=-1) const override |
| void | createNewProject () |
| void | createNewProjectFromTemplate (const QString &templ) |
| void | loadProject (const QString &filename) |
| bool | guiSaveProject () |
| bool | guiSaveProjectAs (const QString &filename) |
| bool | saveProjectFile (const QString &filename, bool withResources=false) |
| const QString & | projectFileName () const |
| bool | isLoadingProject () const |
| void | loadingCancelled () |
| bool | isCancelled () |
| bool | isModified () const |
| QString | nodeName () const override |
| virtual bool | fixedClips () const |
| void | addController (Controller *c) |
| void | removeController (Controller *c) |
| const ControllerVector & | controllers () const |
| MeterModel & | getTimeSigModel () |
| IntModel & | tempoModel () |
| void | exportProjectMidi (const std::filesystem::path &filePath) const |
| void | setLoadOnLaunch (bool value) |
| SaveOptions & | getSaveOptions () |
| bool | isSavingProject () const |
| std::shared_ptr< const Scale > | getScale (unsigned int index) const |
| std::shared_ptr< const Keymap > | getKeymap (unsigned int index) const |
| void | setScale (unsigned int index, std::shared_ptr< Scale > newScale) |
| void | setKeymap (unsigned int index, std::shared_ptr< Keymap > newMap) |
| const std::string & | syncKey () const noexcept |
| Metronome & | metronome () |
| Public Member Functions inherited from lmms::TrackContainer | |
| TrackContainer () | |
| ~TrackContainer () override | |
| void | saveSettings (QDomDocument &_doc, QDomElement &_parent) override |
| void | loadSettings (const QDomElement &_this) override |
| int | countTracks (Track::Type _tt=Track::Type::Count) const |
| void | addTrack (Track *_track) |
| void | removeTrack (Track *_track) |
| void | moveTrack (Track *track, int indexTo) |
| virtual void | updateAfterTrackAdd () |
| void | clearAllTracks () |
| const TrackList & | tracks () const |
| bool | isEmpty () const |
| void | setType (Type newType) |
| Type | type () const |
| 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 QString | displayName () 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 auto | PlayModeCount = static_cast<std::size_t>(PlayMode::Count) |
Private Slots | |
| void | insertBar () |
| void | removeBar () |
| void | addSampleTrack () |
| void | addAutomationTrack () |
| void | setTempo () |
| void | setTimeSignature () |
| void | masterVolumeChanged () |
| void | savePlayStartPosition () |
| void | updateFramesPerTick () |
Private Member Functions | |
| mapPropertyFromModel (int, getTempo, setTempo, m_tempoModel) | |
| mapPropertyFromModel (int, masterPitch, setMasterPitch, m_masterPitchModel) | |
| mapPropertyFromModel (int, masterVolume, setMasterVolume, m_masterVolumeModel) | |
| Song () | |
| Song (const Song &) | |
| ~Song () override | |
| bar_t | currentBar () const |
| tick_t | currentTick () const |
| f_cnt_t | currentFrame () const |
| void | saveControllerStates (QDomDocument &doc, QDomElement &element) |
| void | restoreControllerStates (const QDomElement &element) |
| void | removeAllControllers () |
| void | saveScaleStates (QDomDocument &doc, QDomElement &element) |
| void | restoreScaleStates (const QDomElement &element) |
| void | saveKeymapStates (QDomDocument &doc, QDomElement &element) |
| void | restoreKeymapStates (const QDomElement &element) |
| void | processAutomations (const TrackList &tracks, TimePos timeStart, f_cnt_t frames) |
| void | processMetronome (size_t bufferOffset) |
| void | setModified (bool value) |
| void | setProjectFileName (QString const &projectFileName) |
Friends | |
| class | Engine |
| class | gui::SongEditor |
| class | gui::ControllerRackView |
Additional Inherited Members | |
| Static Public Member Functions inherited from lmms::TrackContainer | |
| static const QString | classNodeName () |
| Protected Member Functions inherited from lmms::JournallingObject | |
| void | changeID (jo_id_t _id) |
| Static Protected Member Functions inherited from lmms::TrackContainer | |
| static AutomatedValueMap | automatedValuesFromTracks (const TrackList &tracks, TimePos timeStart, int clipNum=-1) |
| Protected Attributes inherited from lmms::TrackContainer | |
| QReadWriteLock | m_tracksMutex |
|
strong |
|
private |
|
private |
|
overrideprivate |
|
privateslot |
| void lmms::Song::addController | ( | Controller * | c | ) |
|
slot |
|
privateslot |
|
overridevirtual |
Reimplemented from lmms::TrackContainer.
| void lmms::Song::clearErrors | ( | ) |
|
slot |
| void lmms::Song::collectError | ( | const QString | error | ) |
|
signal |
|
signal |
|
inline |
| void lmms::Song::createNewProject | ( | ) |
| void lmms::Song::createNewProjectFromTemplate | ( | const QString & | templ | ) |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
| QString lmms::Song::errorSummary | ( | ) |
| void lmms::Song::exportProjectMidi | ( | const std::filesystem::path & | filePath | ) | const |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
| int lmms::Song::getExportProgress | ( | ) | const |
|
inline |
| std::shared_ptr< const Keymap > lmms::Song::getKeymap | ( | unsigned int | index | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
Returns the elapsed milliseconds since the start of the song This function attempts to give the correct value even despite mid-song tempo changes
|
inline |
|
inline |
| std::shared_ptr< const Scale > lmms::Song::getScale | ( | unsigned int | index | ) | const |
| bpm_t lmms::Song::getTempo | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| bool lmms::Song::guiSaveProject | ( | ) |
| bool lmms::Song::guiSaveProjectAs | ( | const QString & | filename | ) |
| bool lmms::Song::hasErrors | ( | ) |
|
privateslot |
|
inline |
| bool lmms::Song::isExportDone | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| bool lmms::Song::isSavingProject | ( | ) | const |
|
inline |
|
signal |
|
inline |
|
signal |
|
inline |
| void lmms::Song::loadProject | ( | const QString & | filename | ) |
|
private |
|
private |
|
private |
|
privateslot |
|
inline |
|
signal |
|
inlineoverridevirtual |
Implements lmms::SerializingObject.
|
slot |
|
signal |
|
signal |
|
slot |
|
inline |
|
slot |
|
slot |
|
private |
|
private |
| void lmms::Song::processNextBuffer | ( | ) |
|
inline |
|
signal |
|
signal |
|
slot |
|
private |
|
privateslot |
| void lmms::Song::removeController | ( | Controller * | c | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
privateslot |
| bool lmms::Song::saveProjectFile | ( | const QString & | filename, |
| bool | withResources = false ) |
|
private |
|
signal |
|
inline |
| void lmms::Song::setKeymap | ( | unsigned int | index, |
| std::shared_ptr< Keymap > | newMap ) |
|
inline |
|
inline |
|
slot |
|
private |
|
inline |
|
private |
|
inline |
| void lmms::Song::setScale | ( | unsigned int | index, |
| std::shared_ptr< Scale > | newScale ) |
|
privateslot |
|
privateslot |
|
slot |
|
slot |
|
slot |
|
signal |
|
inlinenoexcept |
|
signal |
|
inline |
|
inline |
|
signal |
|
slot |
|
privateslot |
| void lmms::Song::updateLength | ( | ) |
|
friend |
|
friend |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticconstexpr |