Skip to content

Commit

Permalink
Main Window I/O redesign
Browse files Browse the repository at this point in the history
  • Loading branch information
gvnnz committed Dec 5, 2023
1 parent b46a7ef commit c7053f1
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 27 deletions.
7 changes: 4 additions & 3 deletions src/core/init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@
#include "core/confFactory.h"
#include "core/engine.h"
#include "gui/elems/mainWindow/keyboard/keyboard.h"
#include "gui/elems/mainWindow/mainIO.h"
#include "gui/elems/mainWindow/mainInput.h"
#include "gui/elems/mainWindow/mainOutput.h"
#include "gui/ui.h"
#include "gui/updater.h"
#include "utils/log.h"
Expand Down Expand Up @@ -112,11 +113,11 @@ void startup()
};

g_engine->onMidiReceived = []() {
g_ui->pumpEvent([] { g_ui->mainWindow->mainIO->setMidiInActivity(); });
g_ui->pumpEvent([] { g_ui->mainWindow->mainInput->setMidiInActivity(); });
};

g_engine->onMidiSent = []() {
g_ui->pumpEvent([] { g_ui->mainWindow->mainIO->setMidiOutActivity(); });
g_ui->pumpEvent([] { g_ui->mainWindow->mainOutput->setMidiOutActivity(); });
};

g_engine->onMidiSentFromChannel = [](ID channelId) {
Expand Down
7 changes: 4 additions & 3 deletions src/glue/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@
#include "gui/dialogs/warnings.h"
#include "gui/elems/mainWindow/keyboard/keyboard.h"
#include "gui/elems/mainWindow/keyboard/sampleChannel.h"
#include "gui/elems/mainWindow/mainIO.h"
#include "gui/elems/mainWindow/mainInput.h"
#include "gui/elems/mainWindow/mainOutput.h"
#include "gui/elems/mainWindow/mainTimer.h"
#include "gui/ui.h"
#include "utils/gui.h"
Expand Down Expand Up @@ -254,15 +255,15 @@ void setMasterInVolume(float v, Thread t)
g_engine->getMainApi().setMasterInVolume(v);

if (t != Thread::MAIN)
g_ui->pumpEvent([v]() { g_ui->mainWindow->mainIO->setInVol(v); });
g_ui->pumpEvent([v]() { g_ui->mainWindow->mainInput->setInVol(v); });
}

void setMasterOutVolume(float v, Thread t)
{
g_engine->getMainApi().setMasterOutVolume(v);

if (t != Thread::MAIN)
g_ui->pumpEvent([v]() { g_ui->mainWindow->mainIO->setOutVol(v); });
g_ui->pumpEvent([v]() { g_ui->mainWindow->mainOutput->setOutVol(v); });
}

/* -------------------------------------------------------------------------- */
Expand Down
36 changes: 19 additions & 17 deletions src/gui/dialogs/mainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@
#include "gui/elems/basics/boxtypes.h"
#include "gui/elems/basics/flex.h"
#include "gui/elems/mainWindow/keyboard/keyboard.h"
#include "gui/elems/mainWindow/mainIO.h"
#include "gui/elems/mainWindow/mainInput.h"
#include "gui/elems/mainWindow/mainMenu.h"
#include "gui/elems/mainWindow/mainOutput.h"
#include "gui/elems/mainWindow/mainTimer.h"
#include "gui/elems/mainWindow/mainTransport.h"
#include "gui/elems/mainWindow/sequencer.h"
Expand Down Expand Up @@ -98,17 +99,6 @@ gdMainWindow::gdMainWindow(geompp::Rect<int> r, const char* title)

geFlex* body = new geFlex(getContentBounds(), Direction::VERTICAL, G_GUI_OUTER_MARGIN, {G_GUI_OUTER_MARGIN});
{

/* zone 1 - menus, and I/O tools */

geFlex* zone1 = new geFlex(Direction::HORIZONTAL, G_GUI_INNER_MARGIN);
{
mainIO = new v::geMainIO();
zone1->addWidget(new geBox(), 80);
zone1->addWidget(mainIO);
zone1->end();
}

/* zone 2 - mainTransport and timing tools */

geFlex* zone2 = new geFlex(Direction::HORIZONTAL, G_GUI_INNER_MARGIN, {3, 0, 0, 0});
Expand Down Expand Up @@ -139,12 +129,22 @@ gdMainWindow::gdMainWindow(geompp::Rect<int> r, const char* title)
zone3->end();
}

keyboard = new v::geKeyboard();
/* zone 4 - input/output and channels */

geFlex* zone4 = new geFlex(Direction::HORIZONTAL, G_GUI_OUTER_MARGIN);
{
mainInput = new geMainInput();
keyboard = new v::geKeyboard();
mainOutput = new geMainOutput();
zone4->addWidget(mainInput, G_GUI_UNIT);
zone4->addWidget(keyboard);
zone4->addWidget(mainOutput, G_GUI_UNIT);
zone4->end();
}

body->addWidget(zone1, G_GUI_UNIT);
body->addWidget(zone2, 28);
body->addWidget(zone3, 40);
body->addWidget(keyboard);
body->addWidget(zone4);
body->end();
}

Expand Down Expand Up @@ -180,20 +180,22 @@ gdMainWindow::~gdMainWindow()

void gdMainWindow::refresh()
{
mainIO->refresh();
mainTimer->refresh();
mainTransport->refresh();
sequencer->refresh();
keyboard->refresh();
mainInput->refresh();
mainOutput->refresh();
}

/* -------------------------------------------------------------------------- */

void gdMainWindow::rebuild()
{
keyboard->rebuild();
mainIO->rebuild();
mainTimer->rebuild();
mainInput->rebuild();
mainOutput->rebuild();
}

/* -------------------------------------------------------------------------- */
Expand Down
6 changes: 4 additions & 2 deletions src/gui/dialogs/mainWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
namespace giada::v
{
class geKeyboard;
class geMainIO;
class geMainInput;
class geMainOutput;
class geMainMenu;
class geSequencer;
class geMainTransport;
Expand Down Expand Up @@ -65,9 +66,10 @@ class gdMainWindow : public gdWindow
geKeyboard* keyboard;
geSequencer* sequencer;
geMainMenu* mainMenu;
geMainIO* mainIO;
geMainTimer* mainTimer;
geMainTransport* mainTransport;
geMainInput* mainInput;
geMainOutput* mainOutput;

private:
class ScopedProgress
Expand Down
6 changes: 4 additions & 2 deletions src/gui/ui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
#include "gui/dialogs/warnings.h"
#include "gui/elems/mainWindow/keyboard/column.h"
#include "gui/elems/mainWindow/keyboard/keyboard.h"
#include "gui/elems/mainWindow/mainIO.h"
#include "gui/elems/mainWindow/mainInput.h"
#include "gui/elems/mainWindow/mainOutput.h"
#include "gui/elems/mainWindow/mainTimer.h"
#include "gui/updater.h"
#include "utils/gui.h"
Expand Down Expand Up @@ -281,7 +282,8 @@ void Ui::stopJuceDispatchLoop()

void Ui::rebuildStaticWidgets()
{
mainWindow->mainIO->rebuild();
mainWindow->mainInput->rebuild();
mainWindow->mainOutput->rebuild();
mainWindow->mainTimer->rebuild();
}

Expand Down

0 comments on commit c7053f1

Please sign in to comment.