Commit 7d96a1d6 authored by Olivier Teulière's avatar Olivier Teulière

* skins2/commands/cmd_dvd.*: New commands for DVD navigation.

   You can use the following actions in the XML file:
    - dvd.nextTitle()
    - dvd.previousTitle()
    - dvd.nextChapter()
    - dvd.previousChapter()
    - dvd.rootMenu()
parent 68e2a723
......@@ -6,6 +6,8 @@ SOURCES_skins2 = \
commands/cmd_audio.cpp \
commands/cmd_audio.hpp \
commands/cmd_dummy.hpp \
commands/cmd_dvd.cpp \
commands/cmd_dvd.hpp \
commands/cmd_generic.hpp \
commands/cmd_change_skin.cpp \
commands/cmd_change_skin.hpp \
......
/*****************************************************************************
* cmd_dvd.cpp
*****************************************************************************
* Copyright (C) 2003 the VideoLAN team
* $Id$
*
* Authors: Olivier Teulire <ipkiss@via.ecp.fr>
*
* 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.
*
* This program 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#include "cmd_dvd.hpp"
void CmdDvdNextTitle::execute()
{
input_thread_t *p_input =
(input_thread_t *)vlc_object_find( getIntf(), VLC_OBJECT_INPUT,
FIND_ANYWHERE );
if( p_input )
{
vlc_value_t val;
val.b_bool = VLC_TRUE;
var_Set( p_input, "next-title", val );
vlc_object_release( p_input );
}
}
void CmdDvdPreviousTitle::execute()
{
input_thread_t *p_input =
(input_thread_t *)vlc_object_find( getIntf(), VLC_OBJECT_INPUT,
FIND_ANYWHERE );
if( p_input )
{
vlc_value_t val;
val.b_bool = VLC_TRUE;
var_Set( p_input, "prev-title", val );
vlc_object_release( p_input );
}
}
void CmdDvdNextChapter::execute()
{
input_thread_t *p_input =
(input_thread_t *)vlc_object_find( getIntf(), VLC_OBJECT_INPUT,
FIND_ANYWHERE );
if( p_input )
{
vlc_value_t val;
val.b_bool = VLC_TRUE;
var_Set( p_input, "next-chapter", val );
vlc_object_release( p_input );
}
}
void CmdDvdPreviousChapter::execute()
{
input_thread_t *p_input =
(input_thread_t *)vlc_object_find( getIntf(), VLC_OBJECT_INPUT,
FIND_ANYWHERE );
if( p_input )
{
vlc_value_t val;
val.b_bool = VLC_TRUE;
var_Set( p_input, "prev-chapter", val );
vlc_object_release( p_input );
}
}
void CmdDvdRootMenu::execute()
{
input_thread_t *p_input =
(input_thread_t *)vlc_object_find( getIntf(), VLC_OBJECT_INPUT,
FIND_ANYWHERE );
if( p_input )
{
vlc_value_t val;
val.i_int = 2;
var_Set( p_input, "title 0", val);
vlc_object_release( p_input );
}
}
/*****************************************************************************
* cmd_dvd.hpp
*****************************************************************************
* Copyright (C) 2003 the VideoLAN team
* $Id$
*
* Authors: Olivier Teulière <ipkiss@via.ecp.fr>
*
* 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.
*
* This program 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef CMD_DVD_HPP
#define CMD_DVD_HPP
#include "cmd_generic.hpp"
/// Commands to control the input
DEFINE_COMMAND( DvdNextTitle, "next title" )
DEFINE_COMMAND( DvdPreviousTitle, "previous title" )
DEFINE_COMMAND( DvdNextChapter, "next chapter" )
DEFINE_COMMAND( DvdPreviousChapter, "previous chapter" )
DEFINE_COMMAND( DvdRootMenu, "root menu" )
#endif
......@@ -30,6 +30,7 @@
#include "../commands/cmd_playtree.hpp"
#include "../commands/cmd_dialogs.hpp"
#include "../commands/cmd_dummy.hpp"
#include "../commands/cmd_dvd.hpp"
#include "../commands/cmd_layout.hpp"
#include "../commands/cmd_quit.hpp"
#include "../commands/cmd_minimize.hpp"
......@@ -60,6 +61,11 @@ Interpreter::Interpreter( intf_thread_t *pIntf ): SkinObject( pIntf )
REGISTER_CMD( "dialogs.fileInfo()", CmdDlgFileInfo )
REGISTER_CMD( "dialogs.streamingWizard()", CmdDlgStreamingWizard )
REGISTER_CMD( "dialogs.popup()", CmdDlgShowPopupMenu )
REGISTER_CMD( "dvd.nextTitle()", CmdDvdNextTitle )
REGISTER_CMD( "dvd.previousTitle()", CmdDvdPreviousTitle )
REGISTER_CMD( "dvd.nextChapter()", CmdDvdNextChapter )
REGISTER_CMD( "dvd.previousChapter()", CmdDvdPreviousChapter )
REGISTER_CMD( "dvd.rootMenu()", CmdDvdRootMenu )
REGISTER_CMD( "playlist.load()", CmdDlgPlaylistLoad )
REGISTER_CMD( "playlist.save()", CmdDlgPlaylistSave )
REGISTER_CMD( "playlist.add()", CmdDlgAdd )
......@@ -402,6 +408,7 @@ VarList *Interpreter::getVarList( const string &rName, Theme *pTheme )
return pVar;
}
VarTree *Interpreter::getVarTree( const string &rName, Theme *pTheme )
{
// Try to get the variable from the variable manager
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment