xine-engine.h

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

H
142
字号
/*************************************************************************** *   Copyright (C) 2004,5 Max Howell <max.howell@methylblue.com>           * *                                                                         * *   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 XINE_ENGINE_H#define XINE_ENGINE_H#include "enginebase.h"#include <qthread.h>extern "C"{    #include <sys/types.h>    #include <xine.h>}class XineConfigDialog;class XineEngine : public Engine::Base{    Q_OBJECT    friend class Fader;    friend class OutFader;   ~XineEngine();    virtual bool init();    virtual bool canDecode( const KURL& ) const;    virtual bool load( const KURL &url, bool stream );    virtual bool play( uint = 0 );    virtual void stop();    virtual void pause();    virtual void unpause();    virtual uint position() const;    virtual uint length() const;    virtual void seek( uint );    virtual bool metaDataForUrl(const KURL &url, Engine::SimpleMetaBundle &b);    virtual bool getAudioCDContents(const QString &device, KURL::List &urls);    virtual bool flushBuffer();    virtual Engine::State state() const;    virtual const Engine::Scope &scope();    virtual Amarok::PluginConfig *configure() const;    virtual void setEqualizerEnabled( bool );    virtual void setEqualizerParameters( int preamp, const QValueList<int>& );    virtual void setVolumeSW( uint );    virtual void fadeOut( uint fadeLength, bool* terminate, bool exiting = false );    static  void XineEventListener( void*, const xine_event_t* );    virtual void customEvent( QCustomEvent* );    virtual void timerEvent( QTimerEvent* );    virtual void playlistChanged();    Engine::SimpleMetaBundle fetchMetaData() const;    virtual bool lastFmProxyRequired();    bool makeNewStream();    bool ensureStream();    void determineAndShowErrorMessage(); //call after failure to load/play    xine_t             *m_xine;    xine_stream_t      *m_stream;    xine_audio_port_t  *m_audioPort;    xine_event_queue_t *m_eventQueue;    xine_post_t        *m_post;    int64_t             m_currentVpts;    float               m_preamp;    bool                m_stopFader;    bool                m_fadeOutRunning;    QString             m_currentAudioPlugin; //to see if audio plugin has been changed    XineConfigDialog*   m_configDialog;    //need to save these for when the audio plugin is changed and xine reloaded    bool                m_equalizerEnabled;    int                 m_intPreamp;    QValueList<int>     m_equalizerGains;    mutable Engine::SimpleMetaBundle m_currentBundle;private slots:    void configChanged();public:    XineEngine();signals:    void resetConfig(xine_t *xine);};class Fader : public QObject, public QThread{    XineEngine         *m_engine;    xine_t             *m_xine;    xine_stream_t      *m_decrease;    xine_stream_t      *m_increase;    xine_audio_port_t  *m_port;    xine_post_t        *m_post;    uint               m_fadeLength;    bool               m_paused;    bool               m_terminated;    virtual void run();public:    Fader( XineEngine *, uint fadeLengthMs );   ~Fader();   void pause();   void resume();   void finish();};class OutFader : public QObject, public QThread{    XineEngine *m_engine;    bool        m_terminated;    uint        m_fadeLength;    virtual void run();public:    OutFader( XineEngine *, uint fadeLengthMs );    ~OutFader();   void finish();};#endif

⌨️ 快捷键说明

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