2000-02-13 05:31:35 +01:00
|
|
|
/*****************************************************************************
|
2000-01-11 00:36:06 +01:00
|
|
|
* main.h: access to all program variables
|
|
|
|
* Declaration and extern access to global program object.
|
2000-03-03 08:03:34 +01:00
|
|
|
*****************************************************************************
|
2005-07-09 08:17:09 +02:00
|
|
|
* Copyright (C) 1999, 2000, 2001, 2002 the VideoLAN team
|
2004-06-30 18:26:48 +02:00
|
|
|
* $Id$
|
2000-03-03 08:03:34 +01:00
|
|
|
*
|
2000-08-24 00:15:28 +02:00
|
|
|
* Authors: Vincent Seguin <seguin@via.ecp.fr>
|
2000-03-03 08:03:34 +01:00
|
|
|
*
|
|
|
|
* 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.
|
2004-01-25 19:17:08 +01:00
|
|
|
*
|
2000-03-03 08:03:34 +01:00
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2000-05-25 00:39:44 +02:00
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
2000-03-03 08:03:34 +01:00
|
|
|
*
|
2000-05-25 00:39:44 +02:00
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
2006-01-13 00:10:04 +01:00
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
|
2000-02-13 05:31:35 +01:00
|
|
|
*****************************************************************************/
|
2000-01-11 00:36:06 +01:00
|
|
|
|
2006-12-03 14:48:21 +01:00
|
|
|
#if !defined( __LIBVLC__ )
|
|
|
|
#error You are not libvlc or one of its plugins. You cannot include this file
|
|
|
|
#endif
|
|
|
|
|
2008-03-26 17:22:00 +01:00
|
|
|
TYPEDEF_ARRAY(input_item_t*, input_item_array_t);
|
|
|
|
|
2002-10-03 15:21:55 +02:00
|
|
|
/*****************************************************************************
|
2006-09-15 16:31:51 +02:00
|
|
|
* libvlc_internal_instance_t
|
2002-10-03 15:21:55 +02:00
|
|
|
*****************************************************************************
|
2006-09-15 16:31:51 +02:00
|
|
|
* This structure is a LibVLC instance, for use by libvlc core and plugins
|
2000-02-13 05:31:35 +01:00
|
|
|
*****************************************************************************/
|
2006-09-15 16:31:51 +02:00
|
|
|
struct libvlc_int_t
|
2000-01-11 00:36:06 +01:00
|
|
|
{
|
* ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
2002-06-01 14:32:02 +02:00
|
|
|
VLC_COMMON_MEMBERS
|
|
|
|
|
2000-01-11 00:36:06 +01:00
|
|
|
/* Global properties */
|
2007-09-09 18:10:45 +02:00
|
|
|
char * psz_homedir; ///< user's home directory
|
|
|
|
|
2006-09-15 18:18:08 +02:00
|
|
|
playlist_t *p_playlist; ///< playlist object
|
2001-12-03 17:18:37 +01:00
|
|
|
|
2008-03-29 21:53:12 +01:00
|
|
|
global_stats_t *p_stats; ///< Global statistics
|
2008-03-23 00:55:15 +01:00
|
|
|
|
2008-03-26 17:22:00 +01:00
|
|
|
|
2003-10-29 02:33:27 +01:00
|
|
|
/* Structure storing the action name / key associations */
|
|
|
|
struct hotkey
|
|
|
|
{
|
|
|
|
const char *psz_action;
|
|
|
|
int i_action;
|
|
|
|
int i_key;
|
|
|
|
} *p_hotkeys;
|
* ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
2002-06-01 14:32:02 +02:00
|
|
|
};
|
2000-01-11 00:36:06 +01:00
|
|
|
|