
#include "nsISupports.idl"

[scriptable, uuid(ea92ef52-afe4-4212-bacb-dfe9fca94cd6)]

interface VlcIntf : nsISupports
{
    /* Basic playback control */
    void play();
    void pause();
    void stop();
 
    /* Audio/Video control */
    void fullscreen();
    void set_volume( in PRInt64 i_volume );
    PRInt64 get_volume();
    void mute();

    /* Get/Set variable */
    void set_int_variable( in string psz_var, in PRInt64 i_value );
    void set_bool_variable( in string psz_var, in PRBool b_value );
    void set_str_variable( in string psz_var, in string psz_value );

    PRInt64 get_int_variable( in string psz_var );
    PRBool get_bool_variable( in string psz_var );
    string get_str_variable( in string psz_var );

    /* Playlist management */
    void clear_playlist();
    void add_item( in string psz_name);
    void next();
    void previous();
 
    /* Status accessors */
    PRBool isplaying();
    PRInt64 get_length();
    PRInt64 get_position();
    PRInt64 get_time();

    void seek( in PRInt64 i_secs, in PRInt64 b_relative);
};

