Skip to content

Commit 826bc3a

Browse files
committed
Fix auto directory naming via HTTP server
1 parent 6895a7d commit 826bc3a

2 files changed

Lines changed: 44 additions & 6 deletions

File tree

Source/UI/ControlPanel.cpp

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -864,7 +864,7 @@ void ControlPanel::stopRecording()
864864
void ControlPanel::componentBeingDeleted(Component &component)
865865
{
866866
/*Update filename fields as configured in the popup box upon exit. */
867-
filenameConfigWindow = std::make_unique<FilenameConfigWindow>(filenameFields);
867+
filenameConfigWindow = std::make_unique<FilenameConfigWindow>(filenameFields);
868868
filenameText->setButtonText(generateFilenameFromFields(true));
869869

870870
//TODO: Assumes any change in filename settings should start a new directory next recording
@@ -882,6 +882,9 @@ void ControlPanel::buttonClicked(Button* button)
882882
if (button == filenameText.get() && !getRecordingState())
883883
{
884884

885+
filenameConfigWindow.reset();
886+
filenameConfigWindow = std::make_unique<FilenameConfigWindow>(filenameFields);
887+
885888
CallOutBox& myBox
886889
= CallOutBox::launchAsynchronously(std::move(filenameConfigWindow),
887890
button->getScreenBounds(),
@@ -1195,7 +1198,10 @@ void ControlPanel::setRecordingDirectoryPrependText(String text)
11951198
{
11961199
if (field->value != text)
11971200
{
1198-
if (!text.length())
1201+
1202+
field->newDirectoryNeeded = true;
1203+
1204+
if (text.length() == 0)
11991205
field->state = FilenameFieldComponent::State::NONE;
12001206
else if (text == "auto")
12011207
field->state = FilenameFieldComponent::State::AUTO;
@@ -1208,6 +1214,8 @@ void ControlPanel::setRecordingDirectoryPrependText(String text)
12081214
field->value = text;
12091215
}
12101216
createNewRecordingDirectory();
1217+
1218+
generateFilenameFromFields(true);
12111219
}
12121220
}
12131221
}
@@ -1232,7 +1240,10 @@ void ControlPanel::setRecordingDirectoryAppendText(String text)
12321240
{
12331241
if (field->value != text)
12341242
{
1235-
if (!text.length())
1243+
1244+
field->newDirectoryNeeded = true;
1245+
1246+
if (text.length() == 0)
12361247
field->state = FilenameFieldComponent::State::NONE;
12371248
else if (text == "auto")
12381249
field->state = FilenameFieldComponent::State::AUTO;
@@ -1245,6 +1256,8 @@ void ControlPanel::setRecordingDirectoryAppendText(String text)
12451256
field->value = text;
12461257
}
12471258
createNewRecordingDirectory();
1259+
1260+
generateFilenameFromFields(true);
12481261
}
12491262
}
12501263
}
@@ -1269,8 +1282,14 @@ void ControlPanel::setRecordingDirectoryBaseText(String text)
12691282
{
12701283
if (field->value != text)
12711284
{
1272-
if ( text == "auto" )
1285+
1286+
field->newDirectoryNeeded = true;
1287+
1288+
if (text == "auto")
1289+
{
12731290
field->state = FilenameFieldComponent::State::AUTO;
1291+
}
1292+
12741293
else if ( text.length() > 0 )
12751294
{
12761295
String errString = FilenameFieldComponent::validate(text);
@@ -1279,7 +1298,10 @@ void ControlPanel::setRecordingDirectoryBaseText(String text)
12791298
field->state = FilenameFieldComponent::State::CUSTOM;
12801299
field->value = text;
12811300
}
1301+
12821302
createNewRecordingDirectory();
1303+
1304+
generateFilenameFromFields(true);
12831305
}
12841306
}
12851307
}

Source/UI/FilenameConfigWindow.cpp

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ FilenameFieldComponent::FilenameFieldComponent(int type_, int state_, String val
3333
{
3434

3535
typeLabel = std::make_unique<Label>("Type", types[type_] + ":");
36-
//typeLabel->setFont(Font(1.5*typeLabel->getFont().getHeight()));
3736
typeLabel->setColour(Label::textColourId, Colours::white);
3837
typeLabel->setBounds(0, 0, 80, 32);
3938
addAndMakeVisible(typeLabel.get());
@@ -125,21 +124,38 @@ String FilenameFieldComponent::getNextValue(bool usePlaceholderText)
125124

126125
newDirectoryNeeded = false;
127126

127+
stateButton->setButtonText(states[state]);
128+
128129
if (state == FilenameFieldComponent::State::CUSTOM)
129130
{
131+
valueLabel->setEditable(true);
132+
valueLabel->setColour(Label::ColourIds::backgroundColourId, Colours::white);
133+
valueLabel->setText(value, dontSendNotification);
134+
130135
return value;
131136
}
132137

133138
if (state == FilenameFieldComponent::State::NONE)
134139
{
135-
return "";
140+
valueLabel->setEditable(false);
141+
valueLabel->setColour(Label::ColourIds::backgroundColourId, Colours::grey);
142+
valueLabel->setText("", dontSendNotification);
143+
144+
value = "";
145+
146+
return value;
136147
}
137148

138149
if (state == FilenameFieldComponent::State::AUTO)
139150
{
151+
152+
valueLabel->setEditable(false);
153+
valueLabel->setColour(Label::ColourIds::backgroundColourId, Colours::grey);
154+
140155
if (type == FilenameFieldComponent::Type::MAIN)
141156
{
142157

158+
143159
if (usePlaceholderText)
144160
{
145161
value = "YYYY-MM-DD_HH-MM-SS";

0 commit comments

Comments
 (0)