helix-engine.h

来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 132 行

H
132
字号
/*************************************************************************** *   Copyright (C) 2005-2006 Paul Cifarelli <paul@cifarelli.net>           * *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * ***************************************************************************/#ifndef _HELIX_ENGINE_H_#define _HELIX_ENGINE_H_#include "enginebase.h"#include <qobject.h>#include <sys/types.h>#include <hxplayercontrol.h>class QStringList;struct timeval;class HelixEngine : public Engine::Base, public PlayerControl{   Q_OBJECTpublic:   HelixEngine();   ~HelixEngine();   virtual bool init();   virtual bool canDecode( const KURL& ) const;   virtual uint position() const;   virtual uint length() const;   virtual Engine::State state() const;   virtual void play_finished(int playerIndex);   virtual const Engine::Scope &scope();   virtual Amarok::PluginConfig *configure() const;   virtual void onContacting(const char *host);   virtual void onBuffering(int pcnt);   virtual int fallbackToOSS();public slots:   virtual bool load( const KURL &url, bool stream );   virtual bool play( uint = 0 );   virtual void stop();   virtual void pause();   virtual void unpause();   virtual void seek( uint );   virtual void setEqualizerEnabled( bool );   virtual void setEqualizerParameters( int preamp, const QValueList<int>& );protected:   virtual void setVolumeSW( uint );private:   Engine::State m_state;   KURL          m_url;   QString      m_coredir;   QString      m_pluginsdir;   QString      m_codecsdir;   bool         m_inited;   int           m_numPlayers;   int           m_current;  // the current player   bool          m_isStream;   HelixSimplePlayer::metaData m_md;   int scope(int playerIndex);   int prune();   int prune(int playerIndex);   bool m_scopeplayerlast;   float m_sfps;   struct timeval m_scopetm;   unsigned long m_scopedelta;   int   m_sframes;   int   m_lframes;   struct HelixScope   {      DelayQueue *m_item;      unsigned long  m_lasttime;      unsigned long  m_lastpos;      unsigned short m_currentScope[SCOPESIZE];      int            m_scopeindex;      unsigned long  m_w; // more accurate position estimate for the player   } hscope[2];   typedef struct MimeEntry   {      QStringList type;      QStringList ext;   };   std::vector<MimeEntry> m_mimes;   struct FadeTrack   {      unsigned long m_startfadetime;      bool m_fadeactive;      bool m_stopfade;   } m_pfade[2];   void cleanup();   void timerEvent( QTimerEvent * );   void resetScope(int playerIndex);   int print2stdout(const char *fmt, ...)#ifdef __GNUC__      __attribute__ ((format (printf, 2, 3)))#endif      ;   int print2stderr(const char *fmt, ...)#ifdef __GNUC__      __attribute__ ((format (printf, 2, 3)))#endif      ;   void notifyUser(unsigned long code, const char *moreinfo, const char *moreinfourl);   void interruptUser(unsigned long code, const char *moreinfo, const char *moreinfourl);   friend class HelixConfigDialogBase;};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?