keep list of open windows

master
zetaPRIME 2022-03-13 16:18:35 -04:00
parent c027c422fd
commit 46a73bef74
3 changed files with 21 additions and 7 deletions

20
notes
View File

@ -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

View File

@ -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) {

View File

@ -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;