keep list of open windows
parent
c027c422fd
commit
46a73bef74
20
notes
20
notes
|
@ -32,21 +32,27 @@ parameters {
|
|||
|
||||
TODO {
|
||||
immediate frontburner {
|
||||
look into performance/timing/sync of audio engine; it's having buffer issues way more than it feels like it should
|
||||
multi-window accounting {
|
||||
- keep list of active windows
|
||||
quit (just trigger close on all sequentially)
|
||||
if opening project already in other window, focus/flash that window
|
||||
open project from command line
|
||||
IPC to open/new window in existing instance
|
||||
revert action
|
||||
}
|
||||
|
||||
- add i/o nodes to default project
|
||||
- add more
|
||||
clear song info on loading template?
|
||||
user-defined default template
|
||||
|
||||
distortion effect
|
||||
|
||||
add ,XX support to global tempo
|
||||
}
|
||||
|
||||
- add template loading
|
||||
user-defined default template
|
||||
|
||||
qt update causing some patchboard artifacting on mouse movement
|
||||
|
||||
look into performance/timing/sync of audio engine; it's having buffer issues way more than it feels like it should
|
||||
|
||||
eventually swap over to actually using ffmpeg as a library >_>
|
||||
|
||||
buffer helper akin to what quicklevel does {
|
||||
|
@ -64,7 +70,7 @@ TODO {
|
|||
|
||||
maybe a similar abstraction for processing notes to what commandreader does
|
||||
|
||||
maybe interpolate between LUT levels
|
||||
maybe interpolate between resampler LUT levels
|
||||
|
||||
bugs to fix {
|
||||
connecting a CapaXitor up for the first time during playback deadlocks audio engine
|
||||
|
|
|
@ -500,6 +500,9 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
|
||||
selectSampleForEditing(nullptr); // init blank
|
||||
|
||||
//bool isFirst = openWindows.empty();
|
||||
openWindows.insert(this);
|
||||
|
||||
// and start with a new project
|
||||
menuFileNew();
|
||||
}
|
||||
|
@ -516,6 +519,7 @@ void MainWindow::closeEvent(QCloseEvent* e) {
|
|||
}
|
||||
undoStack->clear();
|
||||
setAttribute(Qt::WA_DeleteOnClose); // delete when done
|
||||
openWindows.erase(this); // and remove from list now
|
||||
}
|
||||
|
||||
bool MainWindow::eventFilter(QObject *obj [[maybe_unused]], QEvent *event) {
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <unordered_set>
|
||||
|
||||
#include <QMainWindow>
|
||||
|
||||
#include "uisocket.h"
|
||||
|
@ -22,6 +24,8 @@ namespace Xybrid {
|
|||
explicit MainWindow(QWidget *parent = nullptr);
|
||||
~MainWindow() override;
|
||||
|
||||
static std::unordered_set<MainWindow*> openWindows;
|
||||
|
||||
private:
|
||||
Ui::MainWindow* ui;
|
||||
UISocket* socket;
|
||||
|
|
Loading…
Reference in New Issue