fmodplugin.h

Go to the documentation of this file.
00001 #ifndef FMODSYSTEMPLUGIN_H
00002 #define FMODSYSTEMPLUGIN_H
00003 
00004 #include <QString>
00005 #include <QStringList>
00006 #include <QLinkedList>
00007 #include <QThread>
00008 
00009 
00010 // Standard plugin config
00011 #include <bbob_interfaces.h>
00012 
00013 #include "fmodmodule.h"
00014 
00015 // Custom Dialog headers
00016 #include "fmod-systemdialog.h"
00017 #include "fmod-sounddialog.h"
00018 #include "fmod-meterautodialog.h"
00019 
00020 
00021 #include "fmod-soundsystem.h"
00022 #include "fmod-spectrum.h"
00023 
00024 /// Plugin for the Fmod Sound System
00025 class FmodSystemPlugin : public QObject, public CoreInterface,
00026                                              public DisplayInterface,
00027                                              public MessageBusInterface
00028 {
00029     Q_OBJECT
00030     Q_INTERFACES(CoreInterface DisplayInterface MessageBusInterface)
00031 
00032     // Pointers for creating classes
00033     FmodSoundSystem*        FmodSystem;
00034     FmodSystemDialog*       FmodSystemDlog;
00035     FmodSoundDialog*        FmodSoundDlog;
00036     FmodMeterAutoDialog*    FmodMeterDlog;
00037     FmodSpectrum*           FmodSpect;
00038 
00039     // Flags for saving/loading state
00040     bool SystemDlog;
00041     bool SoundDlog;
00042     bool MeterDlog;
00043 
00044     // Temp string buffer
00045     QString s;
00046     QStringList sl;
00047 
00048 public:
00049     bool systemIsAvailable();
00050 
00051 // CoreInterface
00052     void CoreInit(const BCore* core);
00053     void SaveSettings();
00054     void LoadSettings();
00055     void Module(const QString name, const QStringList params);
00056 
00057     BBoB_Channel* ChannelPointer(QString mod, QString input) const;
00058     BBoB_Module* ModulePointer(const QString mod) const;
00059     QStringList ModuleList() const;
00060     QMap<QString, QString> ModuleParams(const QString name) const;
00061     QMap<QString, QString> ModuleInputs(const QString name) const;
00062     QMap<QString, QString> ModuleOutputs(const QString name) const;
00063 
00064     QMap<QString, BBoB_Module*> Modules;
00065     void saveChannels();
00066 
00067     BCore* bcore;
00068 
00069 // MessageBusInterface
00070     bool loadBus(const int ID);
00071     QString BusName();
00072 
00073     void BitBus(const int FromID, const int bit );
00074     void ByteBus(const int FromID, const int byte );
00075     void StringBus(const int FromID, const QString str );
00076 
00077     int MyID;
00078 
00079 // Message Processing
00080     const QString remote_protocol() { return QString("fmod|"); };
00081     void remote_data( QString );
00082 
00083 // Display Interface
00084     QStringList commands() const;
00085     QString activated(const QString &command);
00086     QDockWidget* getDock(const QString &command);
00087     QWidget* getConfig();
00088 };
00089 
00090 
00091 #endif
00092 

Generated on Sun Oct 28 22:51:27 2007 for BBoB by  doxygen 1.5.3