123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- #ifndef __GENFF_CORE_H
- #define __GENFF_CORE_H
- #include <bfc/string/StringW.h>
- //#include "../studio/bfc/timerclient.h"
- #include <api/core/buttons.h>
- #include <api/syscb/callbacks/corecbi.h>
- #include <api/core/api_core.h>
- namespace Agave
- {
- #include "../Agave/Config/api_config.h"
- }
- #define STATUS_UNKNOWN -1
- #define STATUS_STOP 0
- #define STATUS_PLAY 1
- #define STATUS_PAUSE 2
- class Core : public api_coreI//, public CoreCallbackI
- { //, public TimerClientDI {
- public:
- Core();
- virtual ~Core();
- void gotCallback(int wParam, int forcecb = 0);
- void addCallback(CoreCallback *cb);
- void delCallback(CoreCallback *cb);
- // virtual void timerclient_timerCallback(int id);
- int getStatus();
- void userButton(int button);
- void setVolume(int vol);
- int getVolume();
- void setPosition(int ms);
- int getPosition();
- int getLength();
- void setPanning(int p);
- int getPanning();
- void setShuffle(int shuffle);
- int getShuffle();
- void setRepeat(int repeat);
- int getRepeat();
- int getSamplerate(int wa2_getinfo);
- int getBitrate(int wa2_getinfo);
- int getChannels(int wa2_getinfo);
- int getEqBand(int band);
- void setEqBand(int band, int val);
- int getEQStatus();
- void setEQStatus(int enable);
- int getEQAuto();
- void setEQAuto(int enable);
- int getEQPreamp();
- void setEQPreamp(int enable);
- const wchar_t *getTitle();
- void setTitle(const wchar_t * new_title);
- const wchar_t *getPlaystring();
- int getCurPlaylistEntry();
- static const wchar_t *getSongInfoText();
- static const wchar_t *getSongInfoTextTranslated();
- // api_core ------------------------------------------------------------------------
- virtual const wchar_t *core_getSupportedExtensions();
- virtual const wchar_t *core_getExtSupportedExtensions();
- virtual CoreToken core_create();
- virtual int core_free(CoreToken core);
- virtual int core_setNextFile(CoreToken core, const wchar_t *playstring);
- virtual int core_getStatus(CoreToken core);
- virtual const wchar_t *core_getCurrent(CoreToken core);
- virtual int core_getCurPlaybackNumber(CoreToken core);
- virtual int core_getPosition(CoreToken core);
- virtual int core_getWritePosition(CoreToken core);
- virtual int core_setPosition(CoreToken core, int ms);
- virtual int core_getLength(CoreToken core);
- virtual int core_getPluginData(const wchar_t *playstring, const wchar_t *name, wchar_t *data, int data_len, int data_type = 0);
- virtual unsigned int core_getVolume(CoreToken core);
- virtual void core_setVolume(CoreToken core, unsigned int vol);
- virtual int core_getPan(CoreToken core);
- virtual void core_setPan(CoreToken core, int val);
- virtual void core_addCallback(CoreToken core, CoreCallback *cb);
- virtual void core_delCallback(CoreToken core, CoreCallback *cb);
- virtual int core_getVisData(CoreToken core, void *dataptr, int sizedataptr);
- virtual int core_getLeftVuMeter(CoreToken core);
- virtual int core_getRightVuMeter(CoreToken core);
- virtual int core_registerSequencer(CoreToken core, ItemSequencer *seq);
- virtual int core_deregisterSequencer(CoreToken core, ItemSequencer *seq);
- virtual void core_userButton(CoreToken core, int button);
- virtual int core_getEqStatus(CoreToken core);
- virtual void core_setEqStatus(CoreToken core, int enable);
- virtual int core_getEqPreamp(CoreToken core);
- virtual void core_setEqPreamp(CoreToken core, int pre);
- virtual int core_getEqBand(CoreToken core, int band);
- virtual void core_setEqBand(CoreToken core, int band, int val);
- virtual int core_getEqAuto(CoreToken core);
- virtual void core_setEqAuto(CoreToken core, int enable);
- virtual void core_setCustomMsg(CoreToken core, const wchar_t *text);
- virtual void core_registerExtension(const wchar_t *extensions, const wchar_t *extension_name, const wchar_t *family = NULL);
- virtual const wchar_t *core_getExtensionFamily(const wchar_t *extension);
- virtual void core_unregisterExtension(const wchar_t *extensions);
- virtual const wchar_t *core_getTitle(CoreToken core);
- virtual void core_setTitle(const wchar_t *new_title);
- const wchar_t *core_getDecoderName(const wchar_t *Filename);
- virtual int core_getRating();
- virtual void core_setRating(int newRating);
- private:
- void sendCoreCallback(int message, int param1 = 0, int param2 = 0);
- StringW m_lasttitle;
- StringW m_playstring, m_lastfile;
- int m_laststatus;
- int m_lastpos;
- int m_lastvol;
- int m_lastpan;
- int m_lasteqband[10];
- int m_lastfreqband;
- int m_lasteq;
- int m_lasteqauto;
- int m_lasteqpreamp;
- int m_lastchan;
- int m_lastbitrate;
- int m_lastsamplerate;
- int m_lastpeentry;
- PtrList<CoreCallback> callbacks;
- ReentryFilterObject rf;
- Agave::api_config *config;
- };
- extern Core *g_Core;
- #endif
|