2
kmidi - a midi to wav converter
4
Copyright 1997 Bernd Johannes Wuebben math.cornell.edu
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
16
You should have received a copy of the GNU General Public License
17
along with this program; if not, write to the Free Software
18
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23
#ifndef KMIDI_PLAYER_H
24
#define KMIDI_PLAYER_H
29
#include <qfileinfo.h>
30
#include <qdatastream.h>
32
#include <qtabdialog.h>
33
#include <qfiledialog.h>
34
#include <qpushbutton.h>
35
#include <qradiobutton.h>
41
#include <qgroupbox.h>
42
#include <qcombobox.h>
43
#include <qscrollbar.h>
45
#include <qbuttongroup.h>
46
#include <qcheckbox.h>
49
#include <qgroupbox.h>
52
#include <qdragobject.h>
53
#include <qwhatsthis.h>
59
#include <sys/types.h>
62
#include <sys/utsname.h>
64
#include <sys/types.h>
67
#include <sys/ioctl.h>
72
#include <krandomsequence.h>
74
#define PLAYLIST_WIDTH 550
75
#define PLAYLIST_HEIGHT 440
79
#include "configdlg.h"
85
// MeterWidget - draws meter
88
class MeterWidget : public QWidget {
92
MeterWidget( QWidget *parent=0, const char *name=0 );
96
QColor background_color;
100
void paintEvent( QPaintEvent * );
106
class KMidi : public QWidget {
121
QPushButton *whatbutton;
122
QPushButton *replayPB;
123
QPushButton *ejectPB;
124
QPushButton *aboutPB;
125
QPushButton *shufflebutton;
126
QPushButton *configurebutton;
127
QTabDialog *tabdialog;
128
QPushButton *infobutton;
129
BW_LED_Number *trackTimeLED[9];
135
QComboBox *playlistbox;
136
//Table *channelwindow;
137
QButtonGroup *ichecks;
139
QButtonGroup *rchecks;
144
QPushButton *effectbutton;
147
QPushButton *filterbutton;
153
QPixmap folder_pixmap;
163
QLabel *propertiesLA;
164
QLabel *properties2LA;
166
QLabel *totaltimelabel;
169
QLabel *song_count_label;
173
QComboBox *songListCB;
178
QPushButton *makeButton( int, int, int, int, const QString & );
201
QColor background_color;
205
bool flag_new_playlist;
207
bool showmeterrequest;
208
bool showinforequest;
209
bool lpfilterrequest;
211
int infowindowheight;
212
int interpolationrequest;
224
QStringList *playlist;
225
int current_playlist_num;
226
QStringList *listplaylists;
228
QStringList *errorlist;
230
LogWindow *logwindow;
231
ConfigDlg *configdlg;
232
PlaylistEdit *playlistdlg;
234
KRandomSequence randomSeq;
239
void display_playmode();
242
void setLEDs(const QString &);
246
//void initMixer( const char *mixer = "/dev/mixer" );
247
void playthemod(QString );
248
void redoplaylistbox();
249
void myresize(int w, int h);
250
void myresize(QSize newsize);
251
void enableLowerPanel(bool on);
254
void resizeEvent(QResizeEvent *e);
258
KMidi( QWidget *parent=0, const char *name=0 );
261
void restartPlaybox();
262
void restartPlayboxWith(const QString &songpath);
264
void setReverb(int level);
265
void setChorus(int level);
266
void setExpressionCurve( int curve );
267
void setVolumeCurve( int curve );
268
void setSurround( int yesno );
269
void postError(const QString& s);
270
void set_current_dir(const QString &dir);
276
void loadplaylist(int);
279
void randomClicked();
282
void PlayCommandlineMods();
297
void replayClicked();
301
void check_meter_visible();
302
void volChanged( int );
305
void setPatch( int );
306
void setEffects( bool );
307
void setFilter( bool );
310
void voicesChanged( int );
311
void meterfudgeChanged( int );
312
void updateRChecks( int );
313
void updateIChecks( int );
314
void dropEvent( QDropEvent * );
315
void dragEnterEvent( QDragEnterEvent *e );
316
void plActivated( int );
317
void acceptPlaylist();
318
void invokeWhatsThis();