//
//     Copyright 2008 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

namespace Phonon
{

class MediaController : QObject
{
%TypeHeaderCode
#include <phonon/mediacontroller.h>
%End

public:

    enum Feature
    {
        Angles,
        Chapters,
        Titles
    };

    typedef QFlags<Phonon::MediaController::Feature> Features;

                            MediaController (Phonon::MediaObject* parent);
    Phonon::MediaController::Features  supportedFeatures () const;
    int                     availableAngles () const;
    int                     currentAngle () const;
    int                     availableChapters () const;
    int                     currentChapter () const;
    int                     availableTitles () const;
    int                     currentTitle () const;
    bool                    autoplayTitles () const;
    Phonon::AudioChannelDescription  currentAudioChannel () const;
    Phonon::SubtitleDescription  currentSubtitle () const;
    QList<Phonon::AudioChannelDescription>  availableAudioChannels () const;
    QList<Phonon::SubtitleDescription>  availableSubtitles () const;
    void                    setCurrentAudioChannel (const Phonon::AudioChannelDescription& stream);
    void                    setCurrentSubtitle (const Phonon::SubtitleDescription& stream);
    void                    setCurrentAngle (int angleNumber);
    void                    setCurrentChapter (int chapterNumber);
    void                    setCurrentTitle (int titleNumber);
    void                    setAutoplayTitles (bool);
    void                    nextTitle ();
    void                    previousTitle ();

signals:
    void                    availableSubtitlesChanged ();
    void                    availableAudioChannelsChanged ();
    void                    availableAnglesChanged (int availableAngles);
    void                    angleChanged (int angleNumber);
    void                    availableChaptersChanged (int availableChapters);
    void                    chapterChanged (int chapterNumber);
    void                    availableTitlesChanged (int availableTitles);
    void                    titleChanged (int titleNumber);
};   // MediaController

};   // Phonon


