]> git.sesse.net Git - nageru/blob - mainwindow.cpp
Hook up all three transition buttons to the theme.
[nageru] / mainwindow.cpp
1 #include "mainwindow.h"
2 #include "window.h"
3 #include <thread>
4 #include <QSignalMapper>
5
6 #include "context.h"
7 #include "mixer.h"
8
9 #include "ui_mainwindow.cpp"
10
11 using std::thread;
12
13 MainWindow::MainWindow()
14 {
15         Ui::MainWindow *ui = new Ui::MainWindow;
16         ui->setupUi(this);
17
18         ui->me_live->set_output(Mixer::OUTPUT_LIVE);
19         ui->me_preview->set_output(Mixer::OUTPUT_PREVIEW);
20
21         // TODO: Ask for the real number.
22         ui->preview1->set_output(Mixer::OUTPUT_INPUT0);
23         ui->preview2->set_output(Mixer::OUTPUT_INPUT1);
24         ui->preview3->set_output(Mixer::OUTPUT_INPUT2);
25
26         // Hook up the preview clicks.
27         {
28                 QSignalMapper *mapper = new QSignalMapper(this);
29                 mapper->setMapping(ui->preview1, 0),
30                 mapper->setMapping(ui->preview2, 1);
31                 mapper->setMapping(ui->preview3, 2);
32                 connect(ui->preview1, SIGNAL(clicked()), mapper, SLOT(map()));
33                 connect(ui->preview2, SIGNAL(clicked()), mapper, SLOT(map()));
34                 connect(ui->preview3, SIGNAL(clicked()), mapper, SLOT(map()));
35                 connect(mapper, SIGNAL(mapped(int)), this, SLOT(channel_clicked(int)));
36         }
37
38         // Hook up the transition buttons.
39         // TODO: Make them dynamic.
40         {
41                 QSignalMapper *mapper = new QSignalMapper(this);
42                 mapper->setMapping(ui->transition_btn1, 0),
43                 mapper->setMapping(ui->transition_btn2, 1);
44                 mapper->setMapping(ui->transition_btn3, 2);
45                 connect(ui->transition_btn1, SIGNAL(clicked()), mapper, SLOT(map()));
46                 connect(ui->transition_btn2, SIGNAL(clicked()), mapper, SLOT(map()));
47                 connect(ui->transition_btn3, SIGNAL(clicked()), mapper, SLOT(map()));
48                 connect(mapper, SIGNAL(mapped(int)), this, SLOT(transition_clicked(int)));
49         }
50 }
51
52 void MainWindow::transition_clicked(int transition_number)
53 {
54         global_mixer->transition_clicked(transition_number);
55 }
56
57 void MainWindow::channel_clicked(int channel_number)
58 {
59         global_mixer->channel_clicked(channel_number);
60 }