|
| void | startStemExportProcess (StemExportType stemExportType) |
|
void | stopStemExportProcess () |
| | Stop stem export process.
|
|
void | abortStemExportProcess (deluge::l10n::String reason) |
| | Stop stem export process, telling the user why it couldn't continue.
|
|
void | startOutputRecordingUntilLoopEndAndSilence () |
| | Simulate pressing record and play in order to trigger resampling of out output that ends when loop ends.
|
|
void | stopPlayback () |
| | simulate pressing play
|
|
void | stopOutputRecording () |
| | simulate pressing record
|
| bool | checkForLoopEnd () |
| bool | checkForSilence () |
|
int32_t | disarmAllInstrumentsForStemExport (StemExportType stemExportType) |
| | disarms and prepares all the instruments so that they can be exported
|
| int32_t | exportInstrumentStems (StemExportType stemExportType) |
| int32_t | exportMixdownStem (StemExportType stemExportType) |
|
void | restoreAllInstrumentMutes (int32_t totalNumOutputs) |
| | set instrument mutes back to their previous state (before exporting stems)
|
|
int32_t | disarmAllClipsForStemExport () |
| | disarms and prepares all the clips so that they can be exported
|
| int32_t | exportClipStems (StemExportType stemExportType) |
|
void | restoreAllClipMutes (int32_t totalNumClips) |
| | set clip mutes back to their previous state (before exporting stems)
|
| void | getLoopLengthOfLongestNotEmptyNoteRow (Clip *clip) |
|
void | getLoopEndPointInSamplesForAudioFile (int32_t loopLength) |
| | converts clip / drum loop length into samples so that clip / drum end position can be written to clip / drum stem
|
| bool | writeLoopEndPos () |
|
int32_t | disarmAllDrumsForStemExport () |
| | disarms and prepares all the drums so that they can be exported
|
| int32_t | exportDrumStems (StemExportType stemExportType) |
|
void | restoreAllDrumMutes (int32_t totalNumNoteRows) |
| | set drum mutes back to their previous state (before exporting stems)
|
|
bool | startCurrentStemExport (StemExportType stemExportType, Output *output, bool &muteState, int32_t fileNumber, bool exportStem, SoundDrum *drum=nullptr) |
| void | finishCurrentStemExport (StemExportType stemExportType, bool &muteState) |
|
void | finishStemExportProcess (StemExportType stemExportType, int32_t elementsProcessed) |
| void | updateScrollPosition (StemExportType stemExportType, int32_t indexNumber) |
|
void | displayStemExportProgress (StemExportType stemExportType) |
| | display how many stems we've exported so far
|
|
void | displayStemExportProgressOLED (StemExportType stemExportType) |
|
void | displayStemExportProgress7SEG () |
|
Error | getUnusedStemRecordingFilePath (String *filePath, AudioRecordingFolder folder) |
| Error | getUnusedStemRecordingFolderPath (String *filePath, AudioRecordingFolder folder) |
| bool | setWavFileNameForStemExport (StemExportType type, Output *output, int32_t fileNumber, SoundDrum *drum=nullptr) |
| bool | inContextMenu () |
|
bool | renderingOffline () |
| Error StemExport::getUnusedStemRecordingFolderPath |
( |
String * | filePath, |
|
|
AudioRecordingFolder | folder ) |
gets folder path in SAMPLES/EXPORTS to write stems to within the STEMS folder, it will try to create a folder with the name of the SONG if it cannot create a folder with the SONG name because it already exists, it will continue creating folder path if it cannot create a folder and the folder does not already exist, then function will return an error after SAMPLES/EXPORTS/*SONG NAME*/ is created, it will try to create a folder for the type of export. if it cannot create a folder because it already exists, it will append an incremental number to the end of the folder name and try to create a folder with that new name. thus we will end up with a folder path of SAMPLES/EXPORTS/*SONG NAME*/TRACKS##/ or SAMPLES/EXPORTS/*SONG NAME*/CLIPS##/ or SAMPLES/EXPORTS/*SONG NAME*/DRUMS##/ this function gets called every time a stem recording is being written to a file to avoid unecessary file system calls, it will save the last song and sub-folder name saved to a String including the last incremental folder number and use that to obtain the filePath for the next stem export job (e.g. if you are exporting the same song more and stem export type than once)
| bool StemExport::setWavFileNameForStemExport |
( |
StemExportType | stemExportType, |
|
|
Output * | output, |
|
|
int32_t | fileNumber, |
|
|
SoundDrum * | drum = nullptr ) |
|
nodiscard |
returns false if no valid file name could be built (e.g. the output / drum names are too long for the file system), in which case the stem must not be exported
based on Stem Export Type, will set a WAV file name in the format of: /OutputType_StemExportType_OutputName_IndexNumber.WAV example: /SYNTH_CLIP_BASS SYNTH_TEMPO_ROOT NOTE-SCALE_00000.WAV example: /SYNTH_TRACK_BASS SYNTH_TEMPO_ROOT NOTE-SCALE_00000.WAV example: /MIXDOWN_TEMPO_ROOT NOTE-SCALE.WAV example: /KIT_DRUM_808 KIT_SNARE_ROOT NOTE_SCALE_00000.WAV this wavFileName is then concatenate to the filePath name to export the WAV file