99 void collectError(
const QString
error );
101 QString errorSummary();
103 void processNextBuffer();
194 bool isExportDone()
const;
195 int getExportProgress()
const;
248 void createNewProject();
249 void createNewProjectFromTemplate(
const QString & templ );
250 void loadProject(
const QString &
filename );
251 bool guiSaveProject();
252 bool guiSaveProjectAs(
const QString &
filename);
253 bool saveProjectFile(
const QString &
filename,
bool withResources =
false);
311 void exportProjectMidi(QString
const & exportFileName)
const;
318 bool isSavingProject()
const;
320 std::shared_ptr<const Scale> getScale(
unsigned int index)
const;
321 std::shared_ptr<const Keymap> getKeymap(
unsigned int index)
const;
322 void setScale(
unsigned int index, std::shared_ptr<Scale> newScale);
323 void setKeymap(
unsigned int index, std::shared_ptr<Keymap> newMap);
332 void playAndRecord();
346 void addPatternTrack();
352 void addSampleTrack();
353 void addAutomationTrack();
356 void setTimeSignature();
358 void masterVolumeChanged();
360 void savePlayStartPosition();
362 void updateFramesPerTick();
387 void saveControllerStates( QDomDocument & doc, QDomElement & element );
388 void restoreControllerStates(
const QDomElement & element );
390 void removeAllControllers();
392 void saveScaleStates(QDomDocument &doc, QDomElement &element);
393 void restoreScaleStates(
const QDomElement &element);
395 void saveKeymapStates(QDomDocument &doc, QDomElement &element);
396 void restoreKeymapStates(
const QDomElement &element);
398 void processAutomations(
const TrackList& tracks,
TimePos timeStart,
f_cnt_t frames);
399 void processMetronome(
size_t bufferOffset);
401 void setModified(
bool value);
403 void setProjectFileName(QString
const & projectFileName);
#define noexcept
Definition DistrhoDefines.h:72
goto loop
Definition Spc_Cpu.h:155
Definition AutomationClip.h:52
Definition AutomationTrack.h:36
Definition AutomatableModel.h:497
Definition Controller.h:51
static float framesPerTick()
Definition Engine.h:96
static AudioEngine * audioEngine()
Definition Engine.h:59
Definition AutomatableModel.h:481
Definition MeterModel.h:35
Definition Metronome.h:32
const ControllerVector & controllers() const
Definition Song.h:295
int m_loopRenderCount
Definition Song.h:447
PlayMode m_playMode
Definition Song.h:439
Metronome & metronome()
Definition Song.h:327
volatile bool m_playing
Definition Song.h:426
void controllerAdded(lmms::Controller *)
mapPropertyFromModel(int, getTempo, setTempo, m_tempoModel)
Metronome m_metronome
Definition Song.h:460
TimePos m_exportLoopEnd
Definition Song.h:451
void setLoadOnLaunch(bool value)
Definition Song.h:313
int getBeatTicks() const
Definition Song.h:138
std::array< Timeline, PlayModeCount > m_timelines
Definition Song.h:437
TimePos m_exportLoopBegin
Definition Song.h:450
void keymapListChanged(int index)
IntModel m_tempoModel
Definition Song.h:407
bool m_loadOnLaunch
Definition Song.h:420
f_cnt_t getFrames() const
Definition Song.h:146
bar_t length() const
Definition Song.h:231
IntModel m_masterPitchModel
Definition Song.h:411
volatile bool m_exporting
Definition Song.h:423
bool m_isCancelled
Definition Song.h:431
QString nodeName() const override
Definition Song.h:281
const std::string & syncKey() const noexcept
Definition Song.h:325
bool isCancelled()
Definition Song.h:271
volatile bool m_renderBetweenMarkers
Definition Song.h:425
void setExportLoop(bool exportLoop)
Definition Song.h:170
int getLoopRenderCount() const
Definition Song.h:189
bool m_loadingProject
Definition Song.h:430
friend class Engine
Definition Song.h:462
std::shared_ptr< Keymap > m_keymaps[MaxKeymapCount]
Definition Song.h:456
void playbackStateChanged()
const QString & projectFileName() const
Definition Song.h:255
void scaleListChanged(int index)
auto getTimeline(PlayMode mode) const -> const Timeline &
Definition Song.h:226
volatile bool m_paused
Definition Song.h:427
bar_t currentBar() const
Definition Song.h:372
void setPlayPos(tick_t ticks, PlayMode playMode)
Definition Song.h:216
bool isLoadingProject() const
Definition Song.h:260
volatile bool m_exportLoop
Definition Song.h:424
const MidiClip * m_midiClipToPlay
Definition Song.h:442
MeterModel & getTimeSigModel()
Definition Song.h:301
mapPropertyFromModel(int, masterPitch, setMasterPitch, m_masterPitchModel)
f_cnt_t currentFrame() const
Definition Song.h:382
auto getTimeline(PlayMode mode) -> Timeline &
Definition Song.h:225
auto getTimeline() const -> const Timeline &
Definition Song.h:228
Song()
Definition Song.cpp:67
QHash< QString, int > m_errors
Definition Song.h:435
TimePos m_exportEffectiveLength
Definition Song.h:453
TimePos m_exportSongBegin
Definition Song.h:449
bool m_savingProject
Definition Song.h:429
tick_t currentTick() const
Definition Song.h:377
int getBeat() const
Definition Song.h:133
std::shared_ptr< Scale > m_scales[MaxScaleCount]
Definition Song.h:455
bool m_loopMidiClip
Definition Song.h:443
void tempoChanged(lmms::bpm_t newBPM)
IntModel m_masterVolumeModel
Definition Song.h:410
QString m_fileName
Definition Song.h:417
void projectFileNameChanged()
bar_t m_length
Definition Song.h:440
bool isExporting() const
Definition Song.h:165
void setRenderBetweenMarkers(bool renderBetweenMarkers)
Definition Song.h:197
TimePos m_exportSongEnd
Definition Song.h:452
bool isStopped() const
Definition Song.h:160
void playbackPositionJumped()
int getMilliseconds(PlayMode playMode) const
Definition Song.h:117
int getLoadingTrackCount() const
Definition Song.h:105
bool isPlaying() const
Definition Song.h:155
bpm_t getTempo()
Definition Song.cpp:834
SaveOptions m_saveOptions
Definition Song.h:433
const TimePos & getPlayPos() const
Definition Song.h:211
IntModel & tempoModel()
Definition Song.h:306
bool m_modified
Definition Song.h:419
bool isModified() const
Definition Song.h:276
static constexpr auto PlayModeCount
Definition Song.h:80
AutomatedValueMap m_oldAutomatedValues
Definition Song.h:458
mapPropertyFromModel(int, masterVolume, setMasterVolume, m_masterVolumeModel)
VstSyncController m_vstSyncController
Definition Song.h:445
void timeSignatureChanged(int oldTicksPerBar, int ticksPerBar)
QString m_oldFileName
Definition Song.h:418
auto getTimeline() -> Timeline &
Definition Song.h:227
virtual bool fixedClips() const
Definition Song.h:286
volatile bool m_recording
Definition Song.h:422
AutomationTrack * globalAutomationTrack()
Definition Song.h:239
const TimePos & getPlayPos(PlayMode pm) const
Definition Song.h:207
AutomationTrack * m_globalAutomationTrack
Definition Song.h:405
PlayMode
Definition Song.h:72
@ Count
Definition Song.h:78
bool isPaused() const
Definition Song.h:150
int getBars() const
Definition Song.h:122
bool isRecording() const
Definition Song.h:175
void setLoopRenderCount(int count)
Definition Song.h:180
int getMilliseconds() const
Definition Song.h:110
void controllerRemoved(lmms::Controller *)
int m_nLoadingTrack
Definition Song.h:415
SaveOptions & getSaveOptions()
Definition Song.h:314
void loadingCancelled()
Definition Song.h:265
ControllerVector m_controllers
Definition Song.h:413
int ticksPerBar() const
Definition Song.h:127
void setTempo()
Definition Song.cpp:158
void setPlayPos(tick_t ticks)
Definition Song.h:220
int m_oldTicksPerBar
Definition Song.h:409
int m_loopRenderRemaining
Definition Song.h:448
MeterModel m_timeSigModel
Definition Song.h:408
PlayMode playMode() const
Definition Song.h:202
void lengthChanged(int bars)
int getTicks() const
Definition Song.h:142
static tick_t ticksPerBar()
Definition TimePos.h:127
TrackContainer()
Definition TrackContainer.cpp:48
Definition VstSyncController.h:38
Definition ControllerRackView.h:48
Definition SongEditor.h:57
static PuglViewHint int value
Definition pugl.h:1708
virtual ASIOError stop()=0
Definition AudioPortAudio.cpp:223
Definition AudioAlsa.cpp:35
const int DefaultTicksPerBar
Definition TimePos.h:38
constexpr unsigned MaxKeymapCount
number of keyboard mappings per project
Definition lmms_constants.h:44
const bpm_t MinTempo
Definition Song.h:58
constexpr unsigned MaxScaleCount
number of scales per project
Definition lmms_constants.h:43
std::int32_t bar_t
Definition LmmsTypes.h:34
const tick_t MaxSongLength
Definition Song.h:61
QMap< AutomatableModel *, float > AutomatedValueMap
Definition AutomatableModel.h:511
std::vector< Controller * > ControllerVector
Definition Controller.h:48
std::int32_t tick_t
Definition LmmsTypes.h:35
@ Count
Definition Sfxr.h:43
const bpm_t MaxTempo
Definition Song.h:60
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
QString filename
Definition HydrogenImport.cpp:42
std::uint16_t bpm_t
Definition LmmsTypes.h:45
const bpm_t DefaultTempo
Definition Song.h:59
png_structrp int mode
Definition png.h:1139
void setDefaultOptions()
Definition Song.h:92
BoolModel discardMIDIConnections
Definition Song.h:86
BoolModel saveAsProjectBundle
Definition Song.h:90
return c
Definition crypt.c:175
static ZCONST char Far None[]
Definition unzip.c:380
_WDL_CSTRING_PREFIX void INT_PTR count
Definition wdlcstring.h:263
#define const
Definition zconf.h:137