Skip to content

Commit

Permalink
Fix creating new dirs in headless mode
Browse files Browse the repository at this point in the history
  • Loading branch information
medengineer committed Oct 13, 2024
1 parent 4688209 commit 1451187
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 8 deletions.
18 changes: 12 additions & 6 deletions Source/UI/ControlPanel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ ControlPanel::ControlPanel (ProcessorGraph* graph_, AudioComponent* audio_, bool
newDirectoryButton->setEnabled (false);
newDirectoryButton->addListener (this);
newDirectoryButton->setTooltip ("Start a new data directory for next recording");
newDirectoryButton->setToggleState (true, sendNotification);
newDirectoryButton->setToggleState (newDirectoryNeeded, sendNotification);
newDirectoryButton->setClickingTogglesState (true);
addChildComponent (newDirectoryButton.get());

Expand Down Expand Up @@ -1018,14 +1018,15 @@ void ControlPanel::stopRecording()

if (forceNewDirectoryButton->getToggleState())
{
newDirectoryButton->setToggleState (true, dontSendNotification);
newDirectoryNeeded = true;
newDirectoryButton->setEnabled (false);
}
else
{
newDirectoryButton->setToggleState (false, dontSendNotification);
newDirectoryNeeded = false;
newDirectoryButton->setEnabled (true);
}
newDirectoryButton->setToggleState(newDirectoryNeeded, dontSendNotification);

recordButton->updateImages (false);
showHideRecordingOptionsButton->setCustomBackground (false, findColour (ThemeColours::windowBackground));
Expand All @@ -1043,7 +1044,10 @@ void ControlPanel::componentBeingDeleted (Component& component)

//TODO: Assumes any change in filename settings should start a new directory next recording
if (! newDirectoryButton->getToggleState())
newDirectoryButton->setToggleState (true, dontSendNotification);
{
newDirectoryNeeded = true;
newDirectoryButton->setToggleState (newDirectoryNeeded, dontSendNotification);
}

CoreServices::saveRecoveryConfig();

Expand Down Expand Up @@ -1091,7 +1095,8 @@ void ControlPanel::buttonClicked (Button* button)
{
if (button->getToggleState())
{
newDirectoryButton->setToggleState (true, dontSendNotification);
newDirectoryNeeded = true;
newDirectoryButton->setToggleState (newDirectoryNeeded, dontSendNotification);
newDirectoryButton->setEnabled (false);
}
else
Expand Down Expand Up @@ -1359,8 +1364,9 @@ String ControlPanel::getRecordingDirectoryName()
void ControlPanel::createNewRecordingDirectory()
{
//TODO: Remove dependency on button states/callbacks
newDirectoryNeeded = true;
MessageManager::callAsync ([this]
{ buttonClicked (newDirectoryButton.get()); });
{ newDirectoryButton->setToggleState (true, dontSendNotification); });
}

String ControlPanel::getRecordingDirectoryPrependText()
Expand Down
3 changes: 1 addition & 2 deletions Source/UI/ControlPanel.h
Original file line number Diff line number Diff line change
Expand Up @@ -544,8 +544,7 @@ class TESTABLE ControlPanel : public Component,
Path p1, p2;

String recordingDirectoryName;


bool newDirectoryNeeded = true;
};

#endif // __CONTROLPANEL_H_AD81E528__
2 changes: 2 additions & 0 deletions Source/UI/EditorViewport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1622,6 +1622,8 @@ const String EditorViewport::loadState (File fileToLoad)

CoreServices::sendStatusMessage ("Loaded " + fileToLoad.getFileName());

AccessClass::getControlPanel()->createNewRecordingDirectory();

return "Loaded signal chain.";
}

Expand Down

0 comments on commit 1451187

Please sign in to comment.