]> git.sesse.net Git - nageru/blobdiff - futatabi/mainwindow.cpp
Release Nageru and Futatabi 1.8.2.
[nageru] / futatabi / mainwindow.cpp
index 6c250187cde4f73f6b96cb50cdf8e231a607e26d..84b855a931335c16c16af897c3ca1a33dafac028 100644 (file)
@@ -6,6 +6,7 @@
 #include "frame_on_disk.h"
 #include "player.h"
 #include "futatabi_midi_mapping.pb.h"
+#include "midi_mapping_dialog.h"
 #include "shared/aboutdialog.h"
 #include "shared/disk_space_estimator.h"
 #include "shared/post_to_main_thread.h"
@@ -77,6 +78,7 @@ MainWindow::MainWindow()
        save_settings();
 
        // The menus.
+       connect(ui->midi_mapping_action, &QAction::triggered, this, &MainWindow::midi_mapping_triggered);
        connect(ui->exit_action, &QAction::triggered, this, &MainWindow::exit_triggered);
        connect(ui->export_cliplist_clip_multitrack_action, &QAction::triggered, this, &MainWindow::export_cliplist_clip_multitrack_triggered);
        connect(ui->export_playlist_clip_interpolated_action, &QAction::triggered, this, &MainWindow::export_playlist_clip_interpolated_triggered);
@@ -310,7 +312,10 @@ void MainWindow::change_num_cameras()
 
 MainWindow::~MainWindow()
 {
-       // Empty so that we can forward-declare Player in the .h file.
+       // We don't have a context to release Player's OpenGL resources in here,
+       // so instead of crashing on exit, leak it.
+       live_player.release();
+       preview_player.release();
 }
 
 void MainWindow::cue_in_clicked()
@@ -982,6 +987,11 @@ void MainWindow::report_disk_space(off_t free_bytes, double estimated_seconds_le
        });
 }
 
+void MainWindow::midi_mapping_triggered()
+{
+       MIDIMappingDialog(&midi_mapper).exec();
+}
+
 void MainWindow::exit_triggered()
 {
        close();