/[svn]/qsampler/trunk/src/qsamplerMainForm.h
ViewVC logotype

Annotation of /qsampler/trunk/src/qsamplerMainForm.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1509 - (hide annotations) (download) (as text)
Thu Nov 22 11:10:44 2007 UTC (16 years, 4 months ago) by capela
File MIME type: text/x-c++hdr
File size: 4518 byte(s)
* Audio routing table is initially hidden in the dialog, when
  creating a new sampler channel.

* README requirements and configuration notes update.

1 capela 1464 // qsamplerMainForm.h
2     //
3     /****************************************************************************
4     Copyright (C) 2004-2007, rncbc aka Rui Nuno Capela. All rights reserved.
5     Copyright (C) 2007, Christian Schoenebeck
6 schoenebeck 1461
7 capela 1464 This program is free software; you can redistribute it and/or
8     modify it under the terms of the GNU General Public License
9     as published by the Free Software Foundation; either version 2
10     of the License, or (at your option) any later version.
11    
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     GNU General Public License for more details.
16    
17     You should have received a copy of the GNU General Public License along
18     with this program; if not, write to the Free Software Foundation, Inc.,
19     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20    
21     *****************************************************************************/
22    
23     #ifndef __qsamplerMainForm_h
24     #define __qsamplerMainForm_h
25    
26 schoenebeck 1461 #include "ui_qsamplerMainForm.h"
27    
28 capela 1499 #include "qsamplerMessages.h"
29 schoenebeck 1461 #include "qsamplerChannelStrip.h"
30     #include "qsamplerInstrumentListForm.h"
31     #include "qsamplerDeviceForm.h"
32    
33 capela 1499 class QWorkspace;
34     class QProcess;
35    
36    
37 schoenebeck 1461 namespace QSampler {
38    
39     class DeviceForm;
40    
41 capela 1509 class MainForm : public QMainWindow
42     {
43     Q_OBJECT
44    
45 schoenebeck 1461 public:
46    
47 capela 1509 MainForm(QWidget *pParent = NULL);
48     ~MainForm();
49    
50     void setup(qsamplerOptions* pOptions);
51    
52     qsamplerOptions* options() const;
53     lscp_client_t* client() const;
54    
55     QString sessionName(const QString& sFilename);
56    
57     void appendMessages(const QString& s);
58     void appendMessagesColor(const QString& s, const QString& c);
59     void appendMessagesText(const QString& s);
60     void appendMessagesError(const QString& s);
61     void appendMessagesClient(const QString& s);
62    
63     ChannelStrip* createChannelStrip(qsamplerChannel *pChannel);
64     ChannelStrip* activeChannelStrip();
65     ChannelStrip* channelStripAt(int iChannel);
66     ChannelStrip* channelStrip(int iChannelID);
67    
68     void contextMenuEvent(QContextMenuEvent *pEvent);
69    
70     static MainForm* getInstance();
71    
72 schoenebeck 1461 public slots:
73    
74 capela 1509 void fileNew();
75     void fileOpen();
76     void fileOpenRecent();
77     void fileSave();
78     void fileSaveAs();
79     void fileReset();
80     void fileRestart();
81     void fileExit();
82     void editAddChannel();
83     void editRemoveChannel();
84     void editSetupChannel();
85     void editEditChannel();
86     void editResetChannel();
87     void editResetAllChannels();
88     void viewMenubar(bool bOn);
89     void viewToolbar(bool bOn);
90     void viewStatusbar(bool bOn);
91     void viewMessages(bool bOn);
92     void viewInstruments();
93     void viewDevices();
94     void viewOptions();
95     void channelsArrange();
96     void channelsAutoArrange(bool bOn);
97     void helpAboutQt();
98     void helpAbout();
99     void volumeChanged(int iVolume);
100     void channelStripChanged(ChannelStrip *pChannelStrip);
101     void channelsMenuAboutToShow();
102     void channelsMenuActivated();
103     void timerSlot();
104     void readServerStdout();
105     void processServerExit();
106     void sessionDirty();
107     void stabilizeForm();
108    
109 capela 1499 protected slots:
110    
111 capela 1509 void updateRecentFilesMenu();
112 capela 1499
113 schoenebeck 1461 protected:
114    
115 capela 1509 bool queryClose();
116     void closeEvent(QCloseEvent* pCloseEvent);
117     void dragEnterEvent(QDragEnterEvent *pDragEnterEvent);
118     void dropEvent(QDropEvent *pDropEvent);
119     void customEvent(QEvent* pCustomEvent);
120     bool newSession();
121     bool openSession();
122     bool saveSession(bool bPrompt);
123     bool closeSession(bool bForce);
124     bool loadSessionFile(const QString& sFilename);
125     bool saveSessionFile(const QString& sFilename);
126     void updateSession();
127     void updateRecentFiles(const QString& sFilename);
128     void updateInstrumentNames();
129     void updateDisplayFont();
130     void updateDisplayEffect();
131     void updateMaxVolume();
132     void updateMessagesFont();
133     void updateMessagesLimit();
134     void updateMessagesCapture();
135     void startSchedule(int iStartDelay);
136     void stopSchedule();
137     void startServer();
138     void stopServer();
139     bool startClient();
140     void stopClient();
141    
142 schoenebeck 1461 private:
143    
144 capela 1509 Ui::qsamplerMainForm m_ui;
145 schoenebeck 1461
146 capela 1509 qsamplerOptions *m_pOptions;
147     qsamplerMessages *m_pMessages;
148     QWorkspace *m_pWorkspace;
149     QString m_sFilename;
150     int m_iUntitled;
151     int m_iDirtyCount;
152     lscp_client_t *m_pClient;
153     QProcess *m_pServer;
154     int m_iStartDelay;
155     int m_iTimerDelay;
156     int m_iTimerSlot;
157     QLabel *m_statusItem[5];
158     QList<ChannelStrip *> m_changedStrips;
159     InstrumentListForm *m_pInstrumentListForm;
160     DeviceForm *m_pDeviceForm;
161     static MainForm *g_pMainForm;
162     QSlider *m_pVolumeSlider;
163     QSpinBox *m_pVolumeSpinBox;
164     int m_iVolumeChanging;
165 schoenebeck 1461 };
166    
167     } // namespace QSampler
168    
169 capela 1464 #endif // __qsamplerMainForm_h
170    
171    
172 capela 1465 // end of qsamplerMainForm.h

  ViewVC Help
Powered by ViewVC