Krotos Modules 3
Loading...
Searching...
No Matches
RecorderDropName.cpp
Go to the documentation of this file.
1#include "RecorderDropName.h"
2
3namespace krotos
4{
5 const String RecorderDropName::Variable::PresetName("%PRESETNAME%");
6 const String RecorderDropName::Variable::TakeCount("%TAKECOUNT%");
7 const String RecorderDropName::Variable::Date("%DATE%");
8
9 void RecorderDropName::setNameFormat(String formatString) { m_nameFormatting = formatString; }
10
11 void RecorderDropName::setPresetName(String newPresetName)
12 {
13 m_presetName = newPresetName;
14 // reset take count on preset change
15 m_takeNumber = 1;
16 }
17
19 {
20 // DD Mon YYYY HH-MM-SS
21 return Time::getCurrentTime().formatted("%d %b %Y %H-%M-%S");
22 }
23
25 {
26 String dropName = getFormattedName();
27 // If name includes take count, make sure that it is unique
29 {
30 while (recordedFileAlreadyExists(dropName))
31 {
33 dropName = getFormattedName();
34 }
35 ++m_takeNumber; // increment for next drag
36 }
37 return dropName;
38 }
39
41 {
42 String dropName(m_nameFormatting);
43 dropName = dropName.replace(Variable::PresetName, m_presetName);
44 dropName = dropName.replace(Variable::TakeCount, String(m_takeNumber));
45 dropName = dropName.replace(Variable::Date, getDate());
46 dropName += ".wav";
47 return dropName;
48 }
49
51 {
52 const File outputDirectory(AssetManager::readDragAndDropPath());
53 const File dropFilename = outputDirectory.getChildFile(filename);
54 return dropFilename.existsAsFile();
55 }
56
57} // namespace krotos
static String readDragAndDropPath()
Definition AssetManager.cpp:450
int m_takeNumber
Definition RecorderDropName.h:55
void setPresetName(String newPresetName)
Definition RecorderDropName.cpp:11
bool recordedFileAlreadyExists(String filename)
Definition RecorderDropName.cpp:50
String m_presetName
Definition RecorderDropName.h:54
String getDate()
Definition RecorderDropName.cpp:18
String getNextName()
Definition RecorderDropName.cpp:24
String getFormattedName()
Definition RecorderDropName.cpp:40
void setNameFormat(String formatString)
Definition RecorderDropName.cpp:9
String m_nameFormatting
Definition RecorderDropName.h:53
Definition AirAbsorptionFilter.cpp:2
static const String Date
Definition RecorderDropName.h:21
static const String PresetName
Definition RecorderDropName.h:19
static const String TakeCount
Definition RecorderDropName.h:20