]> git.sesse.net Git - vlc/commitdiff
Improvements to preferences
authorClément Stenac <zorglub@videolan.org>
Sat, 11 Dec 2004 14:45:46 +0000 (14:45 +0000)
committerClément Stenac <zorglub@videolan.org>
Sat, 11 Dec 2004 14:45:46 +0000 (14:45 +0000)
* Each module can declare a "human-readable short name" with set_name
* Modules are sorted by category (set_category, set_subcategory).
  Modules configs can be separated by set_section()
* Separated audio-filter and audio-visual
* Separated extraintf and control
* New command and widget : add_module_list() for comma-separated modules
* Vfilters now use "," as separator

212 files changed:
Makefile.am
include/configuration.h
include/modules.h
include/modules_inner.h
include/vlc_common.h
include/vlc_help.h [deleted file]
modules/access/cdda.c
modules/access/cdda/cdda.c
modules/access/directory.c
modules/access/dshow/dshow.cpp
modules/access/dvb/access.c
modules/access/dvdnav.c
modules/access/dvdread.c
modules/access/file.c
modules/access/ftp.c
modules/access/http.c
modules/access/mms/mms.c
modules/access/pvr/pvr.c
modules/access/satellite/satellite.c
modules/access/screen/screen.c
modules/access/tcp.c
modules/access/udp.c
modules/access/v4l/v4l.c
modules/access/vcd/vcd.c
modules/access/vcdx/vcd.c
modules/access_output/dummy.c
modules/access_output/file.c
modules/access_output/http.c
modules/access_output/udp.c
modules/audio_filter/channel_mixer/headphone.c
modules/audio_filter/channel_mixer/simple.c
modules/audio_filter/channel_mixer/trivial.c
modules/audio_filter/converter/a52tofloat32.c
modules/audio_filter/converter/a52tospdif.c
modules/audio_filter/converter/dtstofloat32.c
modules/audio_filter/converter/dtstospdif.c
modules/audio_filter/converter/fixed32tofloat32.c
modules/audio_filter/converter/fixed32tos16.c
modules/audio_filter/converter/float32tos16.c
modules/audio_filter/converter/float32tos8.c
modules/audio_filter/converter/float32tou16.c
modules/audio_filter/converter/float32tou8.c
modules/audio_filter/converter/mpgatofixed32.c
modules/audio_filter/converter/s16tofixed32.c
modules/audio_filter/converter/s16tofloat32.c
modules/audio_filter/converter/s16tofloat32swab.c
modules/audio_filter/converter/s8tofloat32.c
modules/audio_filter/converter/u8tofixed32.c
modules/audio_filter/converter/u8tofloat32.c
modules/audio_filter/equalizer.c
modules/audio_filter/normvol.c
modules/audio_filter/resampler/bandlimited.c
modules/audio_filter/resampler/coreaudio.c
modules/audio_filter/resampler/linear.c
modules/audio_filter/resampler/trivial.c
modules/audio_filter/resampler/ugly.c
modules/audio_mixer/float32.c
modules/audio_mixer/spdif.c
modules/audio_mixer/trivial.c
modules/audio_output/alsa.c
modules/audio_output/arts.c
modules/audio_output/coreaudio.c
modules/audio_output/directx.c
modules/audio_output/esd.c
modules/audio_output/hd1000a.cpp
modules/audio_output/oss.c
modules/audio_output/portaudio.c
modules/audio_output/sdl.c
modules/audio_output/waveout.c
modules/codec/a52.c
modules/codec/adpcm.c
modules/codec/araw.c
modules/codec/cinepak.c
modules/codec/dmo/dmo.c
modules/codec/dts.c
modules/codec/dvbsub.c
modules/codec/faad.c
modules/codec/ffmpeg/ffmpeg.c
modules/codec/flac.c
modules/codec/libmpeg2.c
modules/codec/lpcm.c
modules/codec/mash.cpp
modules/codec/mpeg_audio.c
modules/codec/ogt/cvd.c
modules/codec/quicktime.c
modules/codec/rawvideo.c
modules/codec/speex.c
modules/codec/spudec/spudec.c
modules/codec/subsdec.c
modules/codec/tarkin.c
modules/codec/theora.c
modules/codec/toolame.c
modules/codec/vorbis.c
modules/codec/x264.c
modules/control/corba/corba.c
modules/control/gestures.c
modules/control/http.c
modules/control/joystick.c
modules/control/lirc.c
modules/control/netsync.c
modules/control/ntservice.c
modules/control/rc.c
modules/control/rtci.c
modules/demux/a52.c
modules/demux/aac.c
modules/demux/aiff.c
modules/demux/asf/asf.c
modules/demux/au.c
modules/demux/avi/avi.c
modules/demux/demuxdump.c
modules/demux/dts.c
modules/demux/flac.c
modules/demux/livedotcom.cpp
modules/demux/m3u.c
modules/demux/mjpeg.c
modules/demux/mkv.cpp
modules/demux/mod.c
modules/demux/mp4/mp4.c
modules/demux/mpeg/h264.c
modules/demux/mpeg/m4a.c
modules/demux/mpeg/m4v.c
modules/demux/mpeg/mpga.c
modules/demux/mpeg/mpgv.c
modules/demux/nsv.c
modules/demux/ogg.c
modules/demux/playlist/playlist.c
modules/demux/playlist/playlist.h
modules/demux/ps.c
modules/demux/pva.c
modules/demux/rawdv.c
modules/demux/real.c
modules/demux/sgimb.c
modules/demux/subtitle.c
modules/demux/ts.c
modules/demux/vobsub.c
modules/demux/wav.c
modules/gui/beos/BeOS.cpp
modules/gui/gtk/gnome.c
modules/gui/gtk/gtk.c
modules/gui/gtk2/gnome2.c
modules/gui/gtk2/gtk2.c
modules/gui/kde/kde.cpp
modules/gui/macosx/macosx.m
modules/gui/ncurses.c
modules/gui/pda/pda.c
modules/gui/qnx/qnx.c
modules/gui/qt/qt.cpp
modules/gui/skins2/src/skin_main.cpp
modules/gui/wxwindows/open.cpp
modules/gui/wxwindows/preferences.cpp
modules/gui/wxwindows/preferences_widgets.cpp
modules/gui/wxwindows/preferences_widgets.h
modules/gui/wxwindows/wxwindows.cpp
modules/misc/dummy/dummy.c
modules/misc/freetype.c
modules/misc/gnutls.c
modules/misc/logger.c
modules/misc/memcpy/memcpy.c
modules/misc/memcpy/memcpyaltivec.c
modules/misc/playlist/export.c
modules/misc/rtsp.c
modules/misc/screensaver.c
modules/misc/svg.c
modules/misc/xml/libxml.c
modules/misc/xml/xtag.c
modules/mux/asf.c
modules/mux/avi.c
modules/mux/dummy.c
modules/mux/mp4.c
modules/mux/mpeg/ps.c
modules/mux/mpeg/ts.c
modules/mux/mpjpeg.c
modules/mux/ogg.c
modules/mux/wav.c
modules/packetizer/copy.c
modules/packetizer/h264.c
modules/packetizer/mpeg4audio.c
modules/packetizer/mpeg4video.c
modules/packetizer/mpegvideo.c
modules/services_discovery/hal.c
modules/services_discovery/sap.c
modules/stream_out/display.c
modules/stream_out/duplicate.c
modules/stream_out/es.c
modules/stream_out/gather.c
modules/stream_out/rtp.c
modules/stream_out/standard.c
modules/stream_out/transcode.c
modules/stream_out/transrate/transrate.c
modules/video_filter/adjust.c
modules/video_filter/blend.c
modules/video_filter/clone.c
modules/video_filter/crop.c
modules/video_filter/deinterlace.c
modules/video_filter/distort.c
modules/video_filter/invert.c
modules/video_filter/logo.c
modules/video_filter/marq.c
modules/video_filter/scale.c
modules/video_filter/time.c
modules/video_filter/transform.c
modules/video_filter/wall.c
modules/video_output/aa.c
modules/video_output/caca.c
modules/visualization/galaktos/plugin.c
modules/visualization/goom.c
modules/visualization/visual/visual.c
src/audio_output/input.c
src/libvlc.c
src/libvlc.h
src/misc/configuration.c
src/video_output/video_output.c

index 76cf122d1111eebaafc31ecc714947a2dae57794..854b5360eec09fca16dced85af2864edb59da57b 100644 (file)
@@ -99,7 +99,7 @@ HEADERS_include = \
        include/vlc_es.h \
        include/vlc_es_out.h \
        include/vlc_filter.h \
-       include/vlc_help.h \
+       include/vlc_config_cat.h \
        include/vlc_httpd.h \
        include/vlc_tls.h \
        include/vlc_input.h \
index 66c2bf2944e78c71da4d93a3830cf3b7cceeb778..af4cb17ce424c8a828c553341fdf85bb084e6703 100644 (file)
  *****************************************************************************/
 
 /* Configuration hint types */
+
+
 #define CONFIG_HINT_END                     0x0001  /* End of config */
 #define CONFIG_HINT_CATEGORY                0x0002  /* Start of new category */
 #define CONFIG_HINT_SUBCATEGORY             0x0003  /* Start of sub-category */
 #define CONFIG_HINT_SUBCATEGORY_END         0x0004  /* End of sub-category */
 #define CONFIG_HINT_USAGE                   0x0005  /* Usage information */
 
+#define CONFIG_CATEGORY                     0x0006 /* Set category */
+#define CONFIG_SUBCATEGORY                  0x0007 /* Set subcategory */
+#define CONFIG_SECTION                      0x0008 /* Start of new section */
+
 #define CONFIG_HINT                         0x000F
 
 /* Configuration item types */
 #define CONFIG_ITEM_FLOAT                   0x0060  /* Float option */
 #define CONFIG_ITEM_DIRECTORY               0x0070  /* Directory option */
 #define CONFIG_ITEM_KEY                     0x0080  /* Hot key option */
+#define CONFIG_ITEM_MODULE_LIST             0x0090  /* Module option */
+#define CONFIG_ITEM_MODULE_LIST_CAT         0x00A0  /* Module option */
 
 #define CONFIG_ITEM                         0x00F0
 
+/*******************************************************************
+ * All predefined categories and subcategories
+ *******************************************************************/
+#define CAT_INTERFACE 1
+   #define SUBCAT_INTERFACE_GENERAL 101
+   #define SUBCAT_INTERFACE_CONTROL 102
+   #define SUBCAT_INTERFACE_HOTKEYS 103
+
+#define CAT_AUDIO 2
+   #define SUBCAT_AUDIO_GENERAL 201
+   #define SUBCAT_AUDIO_AOUT 202
+   #define SUBCAT_AUDIO_AFILTER 203
+   #define SUBCAT_AUDIO_VISUAL 204
+   #define SUBCAT_AUDIO_MISC 205
+
+#define CAT_VIDEO 3
+   #define SUBCAT_VIDEO_GENERAL 301
+   #define SUBCAT_VIDEO_VOUT 302
+   #define SUBCAT_VIDEO_VFILTER 303
+   #define SUBCAT_VIDEO_TEXT 304
+   #define SUBCAT_VIDEO_SUBPIC 305
+
+#define CAT_INPUT 4
+   #define SUBCAT_INPUT_ACCESS 401
+   #define SUBCAT_INPUT_DEMUX 402
+   #define SUBCAT_INPUT_VCODEC 403
+   #define SUBCAT_INPUT_ACODEC 404
+   #define SUBCAT_INPUT_SCODEC 405
+   #define SUBCAT_INPUT_ADVANCED 406
+
+#define CAT_SOUT 5
+   #define SUBCAT_SOUT_GENERAL 501
+   #define SUBCAT_SOUT_STREAM 502
+   #define SUBCAT_SOUT_MUX 503
+   #define SUBCAT_SOUT_ACO 504
+   #define SUBCAT_SOUT_PACKETIZER 505
+   #define SUBCAT_SOUT_SAP 506
+   #define SUBCAT_SOUT_VOD 507
+
+#define CAT_ADVANCED 6
+   #define SUBCAT_ADVANCED_CPU 601
+   #define SUBCAT_ADVANCED_MISC 602
+   #define SUBCAT_ADVANCED_NETWORK 603
+   #define SUBCAT_ADVANCED_XML 604
+
+#define CAT_PLAYLIST 7
+   #define SUBCAT_PLAYLIST_GENERAL 701
+   #define SUBCAT_PLAYLIST_SD 702
+   #define SUBCAT_PLAYLIST_EXPORT 703
+
+struct config_category_t
+{
+    int         i_id;
+    char       *psz_name;
+    char       *psz_help;
+};
+
 struct module_config_t
 {
     int          i_type;                               /* Configuration type */
@@ -146,16 +211,37 @@ int config_CreateDir( vlc_object_t *, char * );
  *   allow for a more user friendly interface.
  *****************************************************************************/
 
-#define add_category_hint( text, longtext, advc ) \
+#define set_category( i_id ) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
         (i_config+11) * sizeof(module_config_t)); \
-    { static module_config_t tmp = { CONFIG_HINT_CATEGORY, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; p_config[i_config].b_advanced = advc; }
-#define add_subcategory_hint( text, longtext ) \
+    { static module_config_t tmp = { CONFIG_CATEGORY, NULL, NULL , '\0', NULL, NULL, NULL, i_id }; p_config[ i_config ] = tmp;  }
+
+#define set_subcategory( i_id ) \
+    i_config++; \
+    if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
+        (i_config+11) * sizeof(module_config_t)); \
+    { static module_config_t tmp = { CONFIG_SUBCATEGORY, NULL, NULL , '\0', NULL, NULL, NULL, i_id }; p_config[ i_config ] = tmp;  }
+
+#define set_section( text, longtext) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
         (i_config+11) * sizeof(module_config_t)); \
+    { static module_config_t tmp = { CONFIG_SECTION, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp;  }
+
+#define add_category_hint( text, longtext, advc ) \
+            i_config++; \
+    if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
+                            (i_config+11) * sizeof(module_config_t)); \
+    { static module_config_t tmp = { CONFIG_HINT_CATEGORY, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; p_config[i_config].b_advanced = advc; }
+
+#define add_subcategory_hint( text, longtext ) \
+            i_config++; \
+    if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
+                            (i_config+11) * sizeof(module_config_t)); \
     { static module_config_t tmp = { CONFIG_HINT_SUBCATEGORY, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; }
+
+
 #define end_subcategory_hint \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
@@ -167,6 +253,7 @@ int config_CreateDir( vlc_object_t *, char * );
         (i_config+11) * sizeof(module_config_t)); \
     { static module_config_t tmp = { CONFIG_HINT_USAGE, NULL, NULL, '\0', text }; p_config[ i_config ] = tmp; }
 
+
 #define add_string( name, psz_value, p_callback, text, longtext, advc ) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
@@ -182,36 +269,57 @@ int config_CreateDir( vlc_object_t *, char * );
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
         (i_config+11) * sizeof(module_config_t)); \
     { static module_config_t tmp = { CONFIG_ITEM_DIRECTORY, NULL, name, '\0', text, longtext, psz_value, 0, 0 }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
+
 #define add_module( name, psz_caps, psz_value, p_callback, text, longtext, advc ) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
         (i_config+11) * sizeof(module_config_t)); \
     { static module_config_t tmp = { CONFIG_ITEM_MODULE, psz_caps, name, '\0', text, longtext, psz_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
+
+
+#define add_module_list( name, psz_caps, psz_value, p_callback, text, longtext, advc ) \
+    i_config++; \
+    if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
+        (i_config+11) * sizeof(module_config_t)); \
+    { static module_config_t tmp = { CONFIG_ITEM_MODULE_LIST, psz_caps, name, '\0', text, longtext, psz_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
+
+
+#define add_module_list_cat( name, i_subcategory, psz_value, p_callback, text, longtext, advc ) \
+    i_config++; \
+    if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
+        (i_config+11) * sizeof(module_config_t)); \
+    { static module_config_t tmp = { CONFIG_ITEM_MODULE_LIST_CAT, NULL, name, '\0', text, longtext, psz_value, 0, 0.0, i_subcategory }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
+
 #define add_integer( name, i_value, p_callback, text, longtext, advc ) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
         (i_config+11) * sizeof(module_config_t)); \
     { static module_config_t tmp = { CONFIG_ITEM_INTEGER, NULL, name, '\0', text, longtext, NULL, i_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
+
 #define add_key( name, i_value, p_callback, text, longtext, advc ) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
         (i_config+11) * sizeof(module_config_t)); \
     { static module_config_t tmp = { CONFIG_ITEM_KEY, NULL, name, '\0', text, longtext, NULL, i_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
+
 #define add_integer_with_range( name, i_value, i_min, i_max, p_callback, text, longtext, advc ) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
         (i_config+11) * sizeof(module_config_t)); \
     { static module_config_t tmp = { CONFIG_ITEM_INTEGER, NULL, name, '\0', text, longtext, NULL, i_value, 0, i_min, i_max }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
+
 #define add_float( name, f_value, p_callback, text, longtext, advc ) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
         (i_config+11) * sizeof(module_config_t)); \
     { static module_config_t tmp = { CONFIG_ITEM_FLOAT, NULL, name, '\0', text, longtext, NULL, 0, f_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
+
 #define add_float_with_range( name, f_value, f_min, f_max, p_callback, text, longtext, advc ) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
         (i_config+11) * sizeof(module_config_t)); \
     { static module_config_t tmp = { CONFIG_ITEM_FLOAT, NULL, name, '\0', text, longtext, NULL, 0, f_value, 0, 0, f_min, f_max }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
+
 #define add_bool( name, b_value, p_callback, text, longtext, advc ) \
     i_config++; \
     if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
index cc709908f8bcc27150b0344c27b621ef6f4186ec..93d084ae92cc08399594a93008aa20ae271e1620 100644 (file)
@@ -84,6 +84,7 @@ struct module_t
      * Variables set by the module to identify itself
      */
     char *psz_shortname;                                      /* Module name */
+    char *psz_name;                              /* Human-readable shortname */
     char *psz_longname;                           /* Module descriptive name */
 
     /*
index 9cab60a6c8ed9d411af983ec58518f8459bcff4e..3d2847987ca35038382a839d47807c0daf676930 100644 (file)
         p_module->b_reentrant = VLC_TRUE;                                     \
         p_module->psz_object_name = MODULE_STRING;                            \
         p_module->psz_shortname = MODULE_STRING;                              \
+        p_module->psz_name = NULL;                                            \
         p_module->psz_longname = MODULE_STRING;                               \
         p_module->pp_shortcuts[ 0 ] = MODULE_STRING;                          \
         p_module->i_cpu = 0;                                                  \
 #define set_shortname( desc )                                                 \
     p_submodule->psz_shortname = desc
 
+#define set_name( desc )                                                      \
+    p_submodule->psz_name = desc
+
 #define set_description( desc )                                               \
     p_submodule->psz_longname = desc
 
index 197549ba1b12a369ba479049d974699699d49ccf..b2b69847f4de65c98eeca3fcd179702ca2502c4b 100644 (file)
@@ -234,6 +234,8 @@ typedef struct module_config_t module_config_t;
 typedef struct module_symbols_t module_symbols_t;
 typedef struct module_cache_t module_cache_t;
 
+typedef struct config_category_t config_category_t;
+
 /* Interface */
 typedef struct intf_thread_t intf_thread_t;
 typedef struct intf_sys_t intf_sys_t;
diff --git a/include/vlc_help.h b/include/vlc_help.h
deleted file mode 100644 (file)
index 5f24ba2..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/*****************************************************************************
- * vlc_help.h: Help strings
- *****************************************************************************
- * Copyright (C) 2003 VideoLAN
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- *          Anil Daoud <anil@videolan.org>
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
- *****************************************************************************/
-
-#ifndef _VLC_HELP_H
-#define _VLC_HELP_H 1
-
-/*
- *  First, we need help strings for the General Settings and for the
- *  Plugins screen
- */
-#define GENERAL_TITLE N_( "VLC preferences" )
-#define GENERAL_HELP N_( \
-    "Configure the global options in General Settings " \
-    "and configure each VLC module in the Modules section.\n" \
-    "Click on \"Advanced Options\" to see all options." )
-
-#define PLUGIN_TITLE N_( "VLC modules preferences" )
-#define PLUGIN_HELP N_( \
-    "In this tree, you can set options for every module used by VLC.\n" \
-    "Modules are sorted by type." )
-
-/*
- *  Then, help for each module capabilities.
- */
-
-#define ACCESS_TITLE N_( "Access modules settings" )
-#define ACCESS_HELP N_( \
-    "Settings related to the various access methods used by VLC.\n" \
-    "Common settings you may want to alter are HTTP proxy or " \
-    "caching settings." )
-
-#define AUDIO_FILTER_TITLE N_("Audio filters settings")
-#define AUDIO_FILTER_HELP N_( \
-    "Audio filters can be set in the Audio section, and configured " \
-    "here.")
-
-#define AUDIO_FILTER2_TITLE N_("Audio filters settings")
-#define AUDIO_FILTER2_HELP N_(" ")
-
-#define AOUT_TITLE N_("Audio output modules settings")
-#define AOUT_HELP N_("These are general settings for audio output modules.")
-
-#define CHROMA_TITLE N_("Chroma modules settings")
-#define CHROMA_HELP N_("These settings affect chroma transformation modules.")
-
-#define DECODER_TITLE  N_("Decoder modules settings" )
-#define DECODER_HELP N_( \
-    "In the Subsdec section you may want to set the text encoding of your " \
-    "preferred subtitles.")
-
-#define PACKETIZER_TITLE  N_("Packetizer modules settings" )
-#define PACKETIZER_HELP N_(" ")
-
-#define ENCODER_TITLE N_("Encoders settings")
-#define ENCODER_HELP N_( \
-    "These are general settings for video/audio/subtitles encoding modules.")
-
-#define DEMUX_TITLE N_("Demuxers settings")
-#define DEMUX_HELP N_( "These settings affect demuxer modules.")
-
-#define INTERFACE_TITLE N_("Interface plugins settings")
-#define INTERFACE_HELP  N_( \
-    "Interface plugins can be enabled in the Interface section and " \
-    "configured here.")
-
-#define DIALOGS_TITLE N_("Dialog providers settings")
-#define DIALOGS_HELP  N_( \
-    "Dialog providers can be configured here.")
-
-#define NETWORK_TITLE N_("Network modules settings")
-#define NETWORK_HELP N_(" ")
-
-#define SOUT_ACCESS_TITLE N_("Stream output access modules settings")
-#define SOUT_ACCESS_HELP N_( \
-    "In this section you can set the caching value for the stream " \
-    "output access modules.")
-
-#define SOUT_MUX_TITLE N_("Stream output muxer modules settings")
-#define SOUT_MUX_HELP N_(" ")
-
-#define SOUT_STREAM_TITLE N_("Stream output modules settings")
-#define SOUT_STREAM_HELP N_(" ")
-
-#define SUBTITLE_DEMUX_TITLE N_("Subtitle demuxer settings")
-#define SUBTITLE_DEMUX_HELP N_( \
-    "In this section you can force the behavior of the subtitle demuxer, " \
-    "for example by setting the subtitles type or file name.")
-
-#define TEXT_TITLE N_("Text renderer settings")
-#define TEXT_HELP N_( \
-    "Use these settings to choose the font you want VLC to use for text " \
-    "rendering (to display subtitles for example).")
-
-#define _VOUT_TITLE N_("Video output modules settings")
-#define VOUT_HELP N_( \
-    "Choose your preferred video output in the Video section, " \
-    "and configure it here." )
-
-#define VIDEO_FILTER_TITLE N_("Video filters settings")
-#define VIDEO_FILTER_HELP N_( \
-    "Video filters can be enabled in the Video section and configured " \
-    "here.\n" \
-    "Configure the \"adjust\" filter to modify contrast/hue/saturation " \
-    "settings.")
-
-#define VIDEO_FILTER2_TITLE N_("Video filters settings")
-#define VIDEO_FILTER2_HELP N_(" ")
-
-/*
- *  A little help for modules with unknown capabilities
- */
-
-#define UNKNOWN_TITLE N_("No help available" )
-#define UNKNOWN_HELP N_("No help is available for these modules")
-
-/*****************************************************************************
- * GetCapabilityHelp: Display the help for one capability.
- *****************************************************************************/
-static inline char * GetCapabilityHelp( char *psz_capability, int i_type)
-{
-    if( psz_capability == NULL) return " ";
-
-    if( !strcasecmp(psz_capability,"access_demux") )
-        return i_type == 1 ? ACCESS_TITLE : ACCESS_HELP;
-    if( !strcasecmp(psz_capability,"access2") )
-        return i_type == 1 ? ACCESS_TITLE : ACCESS_HELP;
-    if( !strcasecmp(psz_capability,"audio filter") )
-        return i_type == 1 ? AUDIO_FILTER_TITLE : AUDIO_FILTER_HELP;
-    if( !strcasecmp(psz_capability,"audio filter2") )
-        return i_type == 1 ? AUDIO_FILTER2_TITLE : AUDIO_FILTER2_HELP;
-    if( !strcasecmp(psz_capability,"audio output") )
-        return i_type == 1 ? AOUT_TITLE : AOUT_HELP;
-    if( !strcasecmp(psz_capability,"chroma") )
-        return i_type == 1 ? CHROMA_TITLE : CHROMA_HELP;
-    if( !strcasecmp(psz_capability,"decoder") )
-        return i_type == 1 ? DECODER_TITLE : DECODER_HELP;
-    if( !strcasecmp(psz_capability,"packetizer") )
-        return i_type == 1 ? PACKETIZER_TITLE : PACKETIZER_HELP;
-    if( !strcasecmp(psz_capability,"encoder") )
-        return i_type == 1 ? ENCODER_TITLE : ENCODER_HELP;
-    if( !strcasecmp(psz_capability,"demux2") )
-        return i_type == 1 ? DEMUX_TITLE : DEMUX_HELP;
-    if( !strcasecmp(psz_capability,"interface") )
-        return i_type == 1 ? INTERFACE_TITLE : INTERFACE_HELP;
-    if( !strcasecmp(psz_capability,"dialogs provider") )
-        return i_type == 1 ? DIALOGS_TITLE : DIALOGS_HELP;
-    if( !strcasecmp(psz_capability,"network") )
-        return i_type == 1 ? NETWORK_TITLE : NETWORK_HELP;
-    if( !strcasecmp(psz_capability,"sout access") )
-        return i_type == 1 ? SOUT_ACCESS_TITLE : SOUT_ACCESS_HELP;
-    if( !strcasecmp(psz_capability,"sout mux") )
-        return i_type == 1 ? SOUT_MUX_TITLE : SOUT_MUX_HELP;
-    if( !strcasecmp(psz_capability,"sout stream") )
-        return i_type == 1 ? SOUT_STREAM_TITLE : SOUT_STREAM_HELP;
-    if( !strcasecmp(psz_capability,"subtitle demux") )
-        return i_type == 1 ? SUBTITLE_DEMUX_TITLE : SUBTITLE_DEMUX_HELP;
-    if( !strcasecmp(psz_capability,"text renderer") )
-        return i_type == 1 ? TEXT_TITLE : TEXT_HELP;
-    if( !strcasecmp(psz_capability,"video output") )
-        return i_type == 1 ? _VOUT_TITLE : VOUT_HELP;
-    if( !strcasecmp(psz_capability,"video filter") )
-        return i_type == 1 ? VIDEO_FILTER_TITLE : VIDEO_FILTER_HELP;
-    if( !strcasecmp(psz_capability,"video filter2") )
-        return i_type == 1 ? VIDEO_FILTER2_TITLE : VIDEO_FILTER2_HELP;
-
-    return " ";
-}
-
-#endif /* VLC_HELP_H */
index db0d4a51132e48b7a7ee547aff49f5678cdc79d8..9ecc50210d7bfa5e2fde4e42e47885c40a29e7e1 100644 (file)
@@ -47,6 +47,8 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("Audio CD input") );
     set_capability( "access2", 10 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
     set_callbacks( Open, Close );
 
     add_usage_hint( N_("[cdda:][device][@[track]]") );
index 7d67c1641d14bf871b7fdbe29d41fbab66ed2c45..459be4bf87930c27d6263fa76c7fcde289bda417 100644 (file)
@@ -99,6 +99,8 @@ vlc_module_begin();
     set_callbacks( E_(CDDAOpen), E_(CDDAClose) );
     add_shortcut( "cddax" );
     add_shortcut( "cd" );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     /* Configuration options */
     add_integer ( MODULE_STRING "-debug", 0, E_(CDDADebugCB),
index 019196da720188301b8ea59849651230fc8650de..43674bb6fb59b8374d714daade6fb4c624e0b3d0 100644 (file)
@@ -75,6 +75,9 @@ static char *psz_recursive_list_text[] = { N_("none"), N_("collapse"),
                                            N_("expand") };
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_name( _("Directory" ) );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
     set_description( _("Standard filesystem directory input") );
     set_capability( "access2", 55 );
     add_shortcut( "directory" );
index 7e669109a22a8d0def667187d0723570a7c366bf..020aea05802bdc035c08a86515d1ca9daf6d506f 100644 (file)
@@ -130,6 +130,8 @@ static void DemuxClose ( vlc_object_t * );
 vlc_module_begin();
     set_shortname( _("DirectShow") );
     set_description( _("DirectShow input") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "dshow-caching", (mtime_t)(0.2*CLOCK_FREQ) / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
 
index 558974eaf07c7a6261c730131b828ee432b9e0b8..e98e79326cd384e98d49402ee38a9e8d99d067ac 100644 (file)
@@ -121,6 +121,8 @@ static void Close( vlc_object_t *p_this );
 vlc_module_begin();
     set_shortname( _("DVB") );
     set_description( N_("DVB input with v4l2 support") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     add_integer( "dvb-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, VLC_TRUE );
index 439a4181da549a18796f9b9ecd886a0b4b80a37b..0b983a923a454d196d2d79347dc74c26bebb29f1 100644 (file)
@@ -69,7 +69,10 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_name( _("DVD with menus (DVD with menu support)") );
     set_description( _("DVDnav Input") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "dvdnav-angle", 1, NULL, ANGLE_TEXT,
         ANGLE_LONGTEXT, VLC_FALSE );
     add_integer( "dvdnav-caching", DEFAULT_PTS_DELAY / 1000, NULL,
index 403331d0b06e63ff055fa3e65fefdd75b64b39d8..dee89348449799e7d4cf40976cbee58a2558f442 100644 (file)
@@ -87,7 +87,10 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
-    set_description( _("DVDRead Input") );
+    set_name( _("DVD without menus") );
+    set_description( _("DVDRead Input (DVD without menu support)") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "dvdread-angle", 1, NULL, ANGLE_TEXT,
         ANGLE_LONGTEXT, VLC_FALSE );
     add_integer( "dvdread-caching", DEFAULT_PTS_DELAY / 1000, NULL,
index 9ad196c08d879abad383f5243652216a54c3be16..fc7bd47047da2c8fa1d604116bc9bb305d196596 100644 (file)
@@ -86,6 +86,9 @@ static void Close( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("Standard filesystem file input") );
+    set_name( _("File") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "file-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
     add_string( "file-cat", NULL, NULL, CAT_TEXT, CAT_LONGTEXT, VLC_TRUE );
     set_capability( "access2", 50 );
index 1aed4d30a820af94235b49138dc866b8516bfaeb..d4fa2bee36f7c852d2195dff8705e673e9f88464 100644 (file)
@@ -52,8 +52,11 @@ static void    Close( vlc_object_t * );
     "used for the connection.")
 
 vlc_module_begin();
+    set_name( "FTP" );
     set_description( _("FTP input") );
     set_capability( "access2", 0 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
     add_integer( "ftp-caching", 2 * DEFAULT_PTS_DELAY / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
     add_string( "ftp-user", "anonymous", NULL, USER_TEXT, USER_LONGTEXT,
index 863367d6d223ef80e7164366c4679c20701b5e99..686f65737a0d2b2ecff996dfc2e201ad2c566c3f 100644 (file)
@@ -74,6 +74,9 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("HTTP input") );
     set_capability( "access2", 0 );
+    set_name( _( "HTTP/HTTPS" ) );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     add_string( "http-proxy", NULL, NULL, PROXY_TEXT, PROXY_LONGTEXT,
                 VLC_FALSE );
index d6853acd7fd7ad560ba4802ef77ea9f02c740055..cec33cda1bd20340e6a9cfd1bb4027cc5ff91a56 100644 (file)
@@ -55,8 +55,11 @@ static void Close( vlc_object_t * );
     "Always select the stream with the maximum bitrate." )
 
 vlc_module_begin();
+    set_name( _("MMS") );
     set_description( _("Microsoft Media Server (MMS) input") );
     set_capability( "access2", -1 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     add_integer( "mms-caching", 4 * DEFAULT_PTS_DELAY / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
index 0d6682a8d06b30c278f33bb5a5cb80bc4a4b62e6..936d6de4e091042337d92de864819da62500cbf1 100644 (file)
@@ -88,6 +88,8 @@ static char *psz_bitrates_list_text[] = { N_("vbr"), N_("cbr") };
 vlc_module_begin();
     set_shortname( _("PVR") );
     set_description( _("MPEG Encoding cards input (with ivtv drivers)") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
     set_capability( "access2", 0 );
     add_shortcut( "pvr" );
 
index 8e8d19d7bef0bcc3d10b77c7ab00cd8dd14abc66..89d5cf03c07fcb10de1b89bba8013a913a545548 100644 (file)
@@ -70,6 +70,8 @@ void E_(Close)   ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("Satellite input") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     add_integer( "dvb-dmx", 0, NULL, DEMUX_TEXT, DEMUX_LONGTEXT, VLC_FALSE );
     add_integer( "dvb-tuner", 0, NULL, TUNER_TEXT, TUNER_LONGTEXT, VLC_FALSE );
index f2e36ac56c7226f5c9219c51dd82ed9dda400d87..8159a0af8eaa4fb6ed599e98ebdeec57dd29e0b1 100644 (file)
@@ -60,6 +60,8 @@ static void Close( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("Screen Input") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     add_integer( "screen-caching", DEFAULT_PTS_DELAY / 1000, NULL,
         CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
index e113ef922f5aa3b03c96e4a94e4826a6cce5ca92..2eff261f4f37f59037945041fab1b0d20dbcfbd8 100644 (file)
@@ -43,7 +43,10 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_name( _("TCP") );
     set_description( _("TCP input") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     add_integer( "tcp-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, VLC_TRUE );
index 44426e03fa44b7b43f4f5b1395acb34a5ce2e022..c44d7ffb1ef2fe3bb4b7f1f1fd8d7a78005bffe6 100644 (file)
@@ -51,7 +51,10 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_name( _("UDP/RTP" ) );
     set_description( _("UDP/RTP input") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     add_integer( "udp-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
                  CACHING_LONGTEXT, VLC_TRUE );
index 9aaa840e145f220d16489698b3062c5b26ea9ae3..e0c316692671888e072e508136fd23aea79e780f 100644 (file)
@@ -89,6 +89,8 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_shortname( _("Video4Linux") );
     set_description( _("Video4Linux input") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     add_integer( "v4l-caching", DEFAULT_PTS_DELAY / 1000, NULL,
                  CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
index 2ca299e072683167d223eaa80adbce124dca72d2..c6bdbab11e556cc9489564e468ce90f43e9d6e0d 100644 (file)
@@ -46,6 +46,8 @@ vlc_module_begin();
     set_description( _("VCD input") );
     set_capability( "access2", 60 );
     set_callbacks( Open, Close );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     add_usage_hint( N_("[vcd:][device][@[title][,[chapter]]]") );
     add_integer( "vcd-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
index a44471d5c20de02b5fe5a505e8610b59344a6631..52db0a87fe1fb36750343a0f3da8569b0694772b 100644 (file)
@@ -94,6 +94,8 @@ vlc_module_begin();
     set_callbacks( E_(Open), E_(Close) );
     add_shortcut( "vcd" );
     add_shortcut( "vcdx" );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
 
     /* Configuration options */
     add_integer ( MODULE_STRING "-debug", 0, E_(DebugCallback),
index 34484eec559e2fd3154195254871e5453d1bee88..ca6b4045638e3c7276ab3aba3e3734b3cb410fb5 100644 (file)
@@ -39,6 +39,8 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("Dummy stream output") );
     set_capability( "sout access", 0 );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_ACO );
     add_shortcut( "dummy" );
     set_callbacks( Open, Close );
 vlc_module_end();
index f828a1b8b13595a9be1da083b16ef9d24755b836..62a1e6d15b6a1109ac53f4746dc926725841d3c7 100644 (file)
@@ -66,6 +66,8 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("File stream output") );
     set_capability( "sout access", 50 );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_ACO );
     add_shortcut( "file" );
     add_shortcut( "stream" );
     add_bool( SOUT_CFG_PREFIX "append", 0, NULL, APPEND_TEXT,APPEND_LONGTEXT,
index 1e2cf59aec6cd7a2abe20612d3910aad5435ea0a..2446e650cd34c9b9adb1d9ad27c4d0911cac9403 100644 (file)
@@ -77,6 +77,8 @@ vlc_module_begin();
     add_shortcut( "http" );
     add_shortcut( "https" );
     add_shortcut( "mmsh" );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_ACO );
     add_string( SOUT_CFG_PREFIX "user", "", NULL,
                 USER_TEXT, USER_LONGTEXT, VLC_TRUE );
     add_string( SOUT_CFG_PREFIX "pwd", "", NULL,
index cc32019f359336f929b17236e8e49ad93df9a4cf..a6d471826bec61b039c3e98473feb9b4da225794 100644 (file)
@@ -87,6 +87,8 @@ static void Close( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("UDP stream output") );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_ACO );
     add_integer( SOUT_CFG_PREFIX "caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
     add_integer( SOUT_CFG_PREFIX "ttl", 0, NULL,TTL_TEXT, TTL_LONGTEXT,
                                  VLC_TRUE );
index 77a967631d951c922a8768b6321201a10782ca2a..f5fe50f3499ee22c08cd895cf1750fe5ae360c3b 100644 (file)
@@ -59,6 +59,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
 
 vlc_module_begin();
     set_description( N_("headphone channel mixer with virtual spatialization effect") );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AFILTER );
 
     add_integer( "headphone-dim", 10, NULL, HEADPHONE_DIM_TEXT,
                  HEADPHONE_DIM_LONGTEXT, VLC_FALSE );
index 1d182df35321baf471f5aad167d228fead206558..e31441b49476b82ac60f1a3261da64c87d99b147 100644 (file)
@@ -45,6 +45,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
 vlc_module_begin();
     set_description( _("audio filter for simple channel mixing") );
     set_capability( "audio filter", 10 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_callbacks( Create, NULL );
 vlc_module_end();
 
index 2165bc39e93d64dbc1c263be472b75736c7cccba..85303871905b7b9e00f5e0580eab7d30c3f16532 100644 (file)
@@ -2,7 +2,7 @@
  * trivial.c : trivial channel mixer plug-in (drops unwanted channels)
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: trivial.c,v 1.12 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -45,6 +45,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
 vlc_module_begin();
     set_description( _("audio filter for trivial channel mixing") );
     set_capability( "audio filter", 1 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_callbacks( Create, NULL );
 vlc_module_end();
 
index 1006cc6961e3722c43cc96e12cc16d08ec92abdb..6023b37f9ee9f19728dcc34a78976d99877a77d0 100644 (file)
@@ -101,6 +101,8 @@ struct filter_sys_t
 
 vlc_module_begin();
     set_description( _("ATSC A/52 (AC-3) audio decoder") );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     add_bool( "a52-dynrng", 1, NULL, DYNRNG_TEXT, DYNRNG_LONGTEXT, VLC_FALSE );
     set_capability( "audio filter", 100 );
     set_callbacks( Create, Destroy );
index da7e458ecdbb3d1b79b43c75af890494b2935c44..a1a676698891ccf4e1e8da7b7ed88e8fb43d5d1b 100644 (file)
@@ -2,7 +2,7 @@
  * a52tospdif.c : encapsulates A/52 frames into S/PDIF packets
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: a52tospdif.c,v 1.16 2002/12/06 16:34:04 sam Exp $
+ * $Id$
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *          Stéphane Borel <stef@via.ecp.fr>
@@ -48,6 +48,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for A/52->S/PDIF encapsulation") );
     set_capability( "audio filter", 10 );
     set_callbacks( Create, NULL );
index f99b002711a1230b62be3a59b95f97287401afdb..b23b051ee697c2957a8283cb14af07d60fd96d4c 100644 (file)
@@ -87,6 +87,8 @@ struct filter_sys_t
     "listening room.")
 
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("DTS Coherent Acoustics audio decoder") );
     add_bool( "dts-dynrng", 1, NULL, DYNRNG_TEXT, DYNRNG_LONGTEXT, VLC_FALSE );
     set_capability( "audio filter", 100 );
index 179b1aac9a675a7c0faf1e327ae536d1c7330c3e..7b13c550e03316603139a9082b750e6fd33ae69f 100644 (file)
@@ -2,7 +2,7 @@
  * dtstospdif.c : encapsulates DTS frames into S/PDIF packets
  *****************************************************************************
  * Copyright (C) 2003 VideoLAN
- * $Id: dtstospdif.c,v 1.8 2004/02/15 21:52:59 gbazin Exp $
+ * $Id$
  *
  * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
  *
@@ -65,6 +65,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for DTS->S/PDIF encapsulation") );
     set_capability( "audio filter", 10 );
     set_callbacks( Create, Close );
index 7f1151d9a8f4fc6d722cb91d86a4a297803e002b..4b5cf285f82daee772893776d7bac7cd35cf942c 100644 (file)
@@ -2,7 +2,7 @@
  * fixed32float32.c : converter from fixed32 to float32 bits integer
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: fixed32tofloat32.c,v 1.11 2002/11/20 16:43:32 sam Exp $
+ * $Id$
  *
  * Authors: Jean-Paul Saman <jpsaman@wxs.nl>
  *
@@ -45,6 +45,8 @@ static void FloatToFixed ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for fixed32<->float32 conversion") );
     set_capability( "audio filter", 10 );
     set_callbacks( Create, NULL );
index 50094e1b714f098be760b55bdfdb66572c7a064e..9a6ddcbbecd3ad72aa84551b3d5192a23f590bd1 100644 (file)
@@ -2,7 +2,7 @@
  * fixed32tos16.c : converter from fixed32 to signed 16 bits integer
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: fixed32tos16.c,v 1.11 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Jean-Paul Saman <jpsaman@wxs.nl>
  *
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for fixed32->s16 conversion") );
     set_capability( "audio filter", 10 );
     set_callbacks( Create, NULL );
index bfd53f600a3746cb5b857aef076d967ca2c90afb..6c473561e20d25492ef54747ef9c1f5f2bc4cd63 100644 (file)
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for float32->s16 conversion") );
     set_capability( "audio filter", 1 );
     set_callbacks( Create, NULL );
index 3bca9e0f9889ed6bb67b7d7cd1306fe68d16f7be..3c22113c49d5d523a45e27eccf67406ebe98b7e8 100644 (file)
@@ -2,7 +2,7 @@
  * float32tos8.c : converter from float32 to signed 8 bits integer
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: float32tos8.c,v 1.8 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Xavier Maillard <zedek@fxgsproject.org>
  *
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for float32->s8 conversion") );
     set_capability( "audio filter", 1 );
     set_callbacks( Create, NULL );
index f2637f09445d6ae30c8bfa933d25ed898812f349..18bc07e8e9ac060e62777b02e401a0ef29125d93 100644 (file)
@@ -2,7 +2,7 @@
  * float32tou16.c : converter from float32 to unsigned 16 bits integer
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: float32tou16.c,v 1.8 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Xavier Maillard <zedek@fxgsproject.org>
  *
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for float32->u16 conversion") );
     set_capability( "audio filter", 1 );
     set_callbacks( Create, NULL );
index 93492185eb32bbf8702515eb661be9ba3f9c24fa..46fc75f54243fae4329312aa2a02f5cb34ffa50f 100644 (file)
@@ -2,7 +2,7 @@
  * float32tou8.c : converter from float32 to unsigned 8 bits integer
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: float32tou8.c,v 1.8 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Xavier Maillard <zedek@fxgsproject.org>
  *
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for float32->u8 conversion") );
     set_capability( "audio filter", 1 );
     set_callbacks( Create, NULL );
index 33a9a34ab774b14ddd109b4b72893d0a3c0543d2..de5fd41aefc4043cc9d918ce93bd6008fa2d0ca0 100644 (file)
@@ -62,6 +62,8 @@ struct filter_sys_t
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("MPEG audio decoder") );
     set_capability( "audio filter", 100 );
     set_callbacks( Create, Destroy );
index 2a8b34fd3086bef2462630d872a1151a69764da2..e5e9a200d7e4c20c55cfebd79fd19a7bea658dd8 100644 (file)
@@ -2,7 +2,7 @@
  * s16tofixed32.c : converter from signed 16 bits integer to fixed 32
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: s16tofixed32.c,v 1.2 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Marc Ariberti <marcari@videolan.ord>
  *
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for s16->fixed32 conversion") );
     set_capability( "audio filter", 15 );
     set_callbacks( Create, NULL );
index 9aaca7103e92481caeb3ab27c468944c799574a2..d5350a512744fc75f820f20e8cf65af24de7727d 100644 (file)
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for s16->float32 conversion") );
     set_capability( "audio filter", 1 );
     set_callbacks( Create, NULL );
index 07d9a2fce2677936eda4378ea335352abeec05b2..1e2f5ee87e2e28063af0ca4e38a05b58bc5d54fd 100644 (file)
@@ -3,7 +3,7 @@
  *                      with endianness change
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: s16tofloat32swab.c,v 1.10 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Henri Fallon <henri@videolan.org>
@@ -54,6 +54,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description(
             _("audio filter for s16->float32 with endianness conversion") );
     set_capability( "audio filter", 1 );
index 31fd41ce16df59f935d8fe72041651fdc294a36b..2a03f78952f37718a6144b1856f28a36144c5844 100644 (file)
@@ -2,7 +2,7 @@
  * s8tofloat32.c : converter from signed 8 bits integer to float32.
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: s8tofloat32.c,v 1.3 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for s8->float32 conversion") );
     set_capability( "audio filter", 1 );
     set_callbacks( Create, NULL );
index 13a2b2796e8696131b29dbd8ce6130fe1292b09a..1cb09f03f152bd03498cd1cdd73a596072c1b7b3 100644 (file)
@@ -2,7 +2,7 @@
  * u8tofixed32.c : converter from unsigned 8 bits integer to fixed32.
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: u8tofixed32.c,v 1.2 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for u8->fixed32 conversion") );
     set_capability( "audio filter", 1 );
     set_callbacks( Create, NULL );
index cb9c53c3320f382aefde7f0cbfee4a3d45530a4a..c5c66a97fe229f7cd7d336c70672c58bcecc0851 100644 (file)
@@ -2,7 +2,7 @@
  * u8tofloat32.c : converter from unsigned 8 bits integer to float32.
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: u8tofloat32.c,v 1.4 2003/10/25 00:49:13 sam Exp $
+ * $Id$
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
@@ -43,6 +43,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for u8->float32 conversion") );
     set_capability( "audio filter", 1 );
     set_callbacks( Create, NULL );
index 2b005cba3a9d652a4f1f01d26a5117a349faf4a5..ee610ffb1e263c0284f6748646864581bb484365 100644 (file)
@@ -64,6 +64,9 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("Equalizer 10 bands") );
     set_capability( "audio filter", 0 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AFILTER );
+
     add_string( "equalizer-preset", "flat", NULL, PRESET_TEXT,
                 PRESET_LONGTEXT, VLC_TRUE );
         change_string_list( preset_list, preset_list_text, 0 );
index eebafc15548a6f03d835da773875d12e4be749af..57bd97a804a9ce2c49f2c7454a100244f6a10233 100644 (file)
@@ -80,6 +80,8 @@ typedef struct aout_filter_sys_t
 
 vlc_module_begin();
     set_description( _("Volume normalizer") );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AFILTER );
     add_shortcut( "volnorm" );
     add_integer( "norm-buff-size", 20 ,NULL ,BUFF_TEXT, BUFF_LONGTEXT,
                  VLC_TRUE);
index 1e01cc9e513ec19ed9e1df774c6afa5e67dbe1da..c31a3b8246fea484df8cd2d9f8bf0ded753a9952 100644 (file)
@@ -79,6 +79,8 @@ struct aout_filter_sys_t
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("audio filter for band-limited interpolation resampling") );
     set_capability( "audio filter", 20 );
     set_callbacks( Create, Close );
index 6353498dc8e2366e16697777f12b43541d36e2c9..03f8a71a9cb47a1c66ea3d28b16d66474e9095c0 100644 (file)
@@ -70,6 +70,8 @@ struct aout_filter_sys_t
  *****************************************************************************/
 vlc_module_begin();
     set_description( _("audio filter using CoreAudio for resampling") );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_capability( "audio filter", 40 );
     set_callbacks( Create, Close );
 vlc_module_end();
index f8e5e2f81f2dcffe9709563e1886ca4c014ca216..1d1f60d3ff3935902f830aa27961c72c76a68aea 100644 (file)
@@ -57,6 +57,8 @@ struct aout_filter_sys_t
  *****************************************************************************/
 vlc_module_begin();
     set_description( _("audio filter for linear interpolation resampling") );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_capability( "audio filter", 5 );
     set_callbacks( Create, Close );
 vlc_module_end();
index 1d97f659f6f35dafd3e210bb804559aa41917a93..a0e2beb2643dd4e861ad69abc5cbe815d10bd93f 100644 (file)
@@ -2,7 +2,7 @@
  * trivial.c : trivial resampler (skips samples or pads with zeroes)
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: trivial.c,v 1.11 2003/03/04 03:27:40 gbazin Exp $
+ * $Id$
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -45,6 +45,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
 vlc_module_begin();
     set_description( _("audio filter for trivial resampling") );
     set_capability( "audio filter", 1 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_callbacks( Create, NULL );
 vlc_module_end();
 
index 5b091887d15c1e5365a820b16101dae599968361..ef89370539a81a36341041201acc91f67e3c9328 100644 (file)
@@ -45,6 +45,8 @@ static void DoWork    ( aout_instance_t *, aout_filter_t *, aout_buffer_t *,
 vlc_module_begin();
     set_description( _("audio filter for ugly resampling") );
     set_capability( "audio filter", 2 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_callbacks( Create, NULL );
 vlc_module_end();
 
index 5c2d06237d0673f98f82f618ef8a5bbcb79c34a0..67f665015475d2c1b04af9e43419a1c7874ca0f9 100644 (file)
@@ -2,7 +2,7 @@
  * float32.c : precise float32 audio mixer implementation
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: float32.c,v 1.10 2004/01/25 17:20:18 kuehne Exp $
+ * $Id$
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -42,6 +42,8 @@ static void DoWork    ( aout_instance_t *, aout_buffer_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("Float32 audio mixer") );
     set_capability( "audio mixer", 10 );
     set_callbacks( Create, NULL );
index e21fc7b7cb8bea9f076a3a323f06ab1e115f1d76..07d5f79a1ee1589eaa91e1535cc2630d7686070b 100644 (file)
@@ -42,6 +42,8 @@ static void DoWork    ( aout_instance_t *, aout_buffer_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("Dummy S/PDIF audio mixer") );
     set_capability( "audio mixer", 1 );
     set_callbacks( Create, NULL );
index e18b673e4fb8a622ef188d283133d7399f53574f..1ecfd3d46a9cc03deb1682f46b779b94d80c29c8 100644 (file)
@@ -2,7 +2,7 @@
  * trivial.c : trivial mixer plug-in (1 input, no downmixing)
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: trivial.c,v 1.14 2004/01/25 17:20:18 kuehne Exp $
+ * $Id$
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -42,6 +42,8 @@ static void DoWork    ( aout_instance_t *, aout_buffer_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     set_description( _("Trivial audio mixer") );
     set_capability( "audio mixer", 1 );
     set_callbacks( Create, NULL );
index 2731febf7ef8dc13a7d551cdd0788a57dcf8cb29..706b079cf2b3897879406062c0c18845cdfb4850 100644 (file)
@@ -97,6 +97,8 @@ static void ALSAFill     ( aout_instance_t * );
  *****************************************************************************/
 vlc_module_begin();
     set_description( _("ALSA audio output") );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
     add_string( "alsadev", DEFAULT_ALSA_DEVICE, aout_FindAndRestart,
                 N_("ALSA Device Name"), NULL, VLC_FALSE );
     set_capability( "audio output", 150 );
index 12e5818303951e1b7eeb44df443266121633cc80..35af45890d88d022a7d77e0df649931795e1b461 100644 (file)
@@ -2,7 +2,7 @@
  * arts.c : aRts module
  *****************************************************************************
  * Copyright (C) 2001-2002 VideoLAN
- * $Id: arts.c,v 1.20 2004/01/25 17:58:29 murray Exp $
+ * $Id$
  *
  * Authors: Emmanuel Blindauer <manu@agat.net>
  *          Samuel Hocevar <sam@zoy.org>
@@ -65,6 +65,8 @@ static void Play         ( aout_instance_t * );
 vlc_module_begin();
    set_description( _("aRts audio output") );
    set_capability( "audio output", 50 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
    set_callbacks( Open, Close );
 vlc_module_end();
 
index b2ef49020cd8e2b160f4e115282893dd5b75d759..cd72439ecb71bfcf022c20b5c21a124112fefcee 100644 (file)
@@ -222,6 +222,8 @@ static OSStatus StreamListener   ( AudioStreamID inStream,
 vlc_module_begin();
     set_description( _("CoreAudio output") );
     set_capability( "audio output", 100 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
     set_callbacks( Open, Close );
     add_integer( "coreaudio-dev", -1, NULL, ADEV_TEXT, ADEV_LONGTEXT, VLC_FALSE ); 
 vlc_module_end();
index eff1f75476d27a9a9022fe7f13f653a7d9eead83..5bed710d0c99b984f841e02a7e7b820d26aa86ad 100644 (file)
@@ -209,6 +209,8 @@ static int  FillBuffer        ( aout_instance_t *, int, aout_buffer_t * );
 vlc_module_begin();
     set_description( _("DirectX audio output") );
     set_capability( "audio output", 100 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
     add_shortcut( "directx" );
     set_callbacks( OpenAudio, CloseAudio );
 vlc_module_end();
index 0022da6d7fb2ac1e5002d6d7e0caff15dff9320d..0981659388ccccc4e218d31ac5f180a8caed4a58 100644 (file)
@@ -65,6 +65,8 @@ static void Play         ( aout_instance_t * );
 vlc_module_begin();
     set_description( _("EsounD audio output") );
     set_capability( "audio output", 50 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
     set_callbacks( Open, Close );
     add_shortcut( "esound" );
 vlc_module_end();
index 97f867f624ace034adf7593bc27377507390085d..a7747d0a5b506f3c770bb2e29f51f96f586da92e 100644 (file)
@@ -74,6 +74,8 @@ static void    InterleaveS16( int16_t *, int16_t * );
 vlc_module_begin();
     set_description( N_("HD1000 audio output") );
     set_capability( "audio output", 100 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
     set_callbacks( Open, Close );
 vlc_module_end();
 
index 6b07c97497e84e522fe83cdcd015a7137ae362f5..e8df5b4edac08ab142cdbf15ded8229d30f8b557 100644 (file)
@@ -107,6 +107,8 @@ static mtime_t BufferDuration( aout_instance_t * p_aout );
 vlc_module_begin();
     set_description( _("Linux OSS audio output") );
 
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
     add_file( "dspdev", "/dev/dsp", aout_FindAndRestart,
               N_("OSS DSP device"), NULL, VLC_FALSE );
     add_bool( "oss-buggy", 0, NULL, BUGGY_TEXT, BUGGY_LONGTEXT, VLC_TRUE );
index 7135870048d38f41260faa5ae3a764804c04df75..2a3e402339dade83c184aea57fdc6bcfcf38817e 100644 (file)
@@ -109,6 +109,8 @@ static int PAOpenStream( aout_instance_t * );
 
 vlc_module_begin();
     set_description( N_("PORTAUDIO audio output") );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
     add_integer( "portaudio-device", 0, NULL,
                  DEVICE_TEXT, DEVICE_LONGTEXT, VLC_FALSE );
     set_capability( "audio output", 0 );
index 8242c1f7ab849caa87e70b7b0aa1d36df31d7011..fba4a72416571e8f1f7bb59c742440fe19a88a6a 100644 (file)
@@ -2,7 +2,7 @@
  * sdl.c : SDL audio output plugin for vlc
  *****************************************************************************
  * Copyright (C) 2000-2002 VideoLAN
- * $Id: sdl.c,v 1.26 2004/01/25 17:58:29 murray Exp $
+ * $Id$
  *
  * Authors: Michel Kaempf <maxx@via.ecp.fr>
  *          Sam Hocevar <sam@zoy.org>
@@ -67,6 +67,8 @@ static void SDLCallback ( void *, byte_t *, int );
 vlc_module_begin();
     set_description( _("Simple DirectMedia Layer audio output") );
     set_capability( "audio output", 40 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
     add_shortcut( "sdl" );
     set_callbacks( Open, Close );
 vlc_module_end();
index bdb96c0f0144a5c7a89f9c60b0df30ca49015530..d742c28fc82c46fa41b8483611fb5271c966a001 100644 (file)
@@ -134,6 +134,8 @@ static void WaveOutThread( notification_thread_t * );
 vlc_module_begin();
     set_description( _("Win32 waveOut extension output") );
     set_capability( "audio output", 50 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
     add_bool( "waveout-float32", 1, 0, FLOAT_TEXT, FLOAT_LONGTEXT, VLC_TRUE );
     set_callbacks( Open, Close );
 vlc_module_end();
index 64f2f5298f5cc83f370db2a76046c24942426d29..6c37c8798cd50a46f9d47d4ff09f8d06b723ce39 100644 (file)
@@ -90,6 +90,8 @@ vlc_module_begin();
     set_description( _("A/52 parser") );
     set_capability( "decoder", 100 );
     set_callbacks( OpenDecoder, CloseDecoder );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
 
     add_submodule();
     set_description( _("A/52 audio packetizer") );
index 469ec1bd7b40fc88914f60e76325a4480e298810..5c42d2acc8283e4e51c644575e15e24a2c942369 100644 (file)
@@ -2,7 +2,7 @@
  * adpcm.c : adpcm variant audio decoder
  *****************************************************************************
  * Copyright (C) 2001, 2002 VideoLAN
- * $Id: adpcm.c,v 1.19 2004/01/25 18:20:12 bigben Exp $
+ * $Id$
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *
@@ -40,6 +40,8 @@ static aout_buffer_t *DecodeBlock( decoder_t *, block_t ** );
 vlc_module_begin();
     set_description( _("ADPCM audio decoder") );
     set_capability( "decoder", 50 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
     set_callbacks( OpenDecoder, CloseDecoder );
 vlc_module_end();
 
index d487fe2a3ceb18b1edcbe6ed8a4871ee9f60d4d2..ef8618aa41c6fb6b41518f436405472deada7d7c 100644 (file)
@@ -40,6 +40,8 @@ vlc_module_begin();
     /* audio decoder module */
     set_description( _("Raw/Log Audio decoder") );
     set_capability( "decoder", 100 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
     set_callbacks( DecoderOpen, DecoderClose );
 
     /* audio encoder submodule */
index c0191015ec06abfad0decb09d1de2332c070b400..21f23a110ae86b71afdc9f375a166de91862ba36 100644 (file)
@@ -37,6 +37,8 @@ static void CloseDecoder( vlc_object_t * );
 vlc_module_begin();
     set_description( _("Cinepak video decoder") );
     set_capability( "decoder", 100 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_VCODEC );
     set_callbacks( OpenDecoder, CloseDecoder );
 vlc_module_end();
 
index c5950ddfd1dac25cdab0611c548a37dc89c776f2..9ef43bc94d00afaefa8137aed3f31b9ae1d59dfe 100644 (file)
@@ -100,6 +100,8 @@ vlc_module_begin();
     add_shortcut( "dmo" );
     set_capability( "decoder", 1 );
     set_callbacks( DecoderOpen, DecoderClose );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_SCODEC );
 
 #   define ENC_CFG_PREFIX "sout-dmo-"
     add_submodule();
index 0530e06e21601ca0a93e888cfd22795102b5ee64..6c651c9000b7e06f7a4aaa38e688780d1f31c74d 100644 (file)
@@ -90,6 +90,8 @@ static block_t       *GetSoutBuffer( decoder_t * );
 vlc_module_begin();
     set_description( _("DTS parser") );
     set_capability( "decoder", 100 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
     set_callbacks( OpenDecoder, CloseDecoder );
 
     add_submodule();
index 42769f40348d276ecb4585aed39ab596914bc6af..6446e5de4311173cd7ce2adb68b5e9bbda88cb79 100644 (file)
@@ -50,6 +50,8 @@ static block_t *Encode  ( encoder_t *, subpicture_t * );
 vlc_module_begin();
     set_description( _("DVB subtitles decoder") );
     set_capability( "decoder", 50 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_SCODEC );
     set_callbacks( Open, Close );
 
 #   define ENC_CFG_PREFIX "sout-dvbsub-"
index c1a5447662692879d73ac5c9b28f9e6f719953b5..cc75d8a2d3a83fb3a20a55a468517fb0ca024715 100644 (file)
@@ -37,6 +37,8 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("AAC audio decoder (using libfaad2)") );
     set_capability( "decoder", 100 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
     set_callbacks( Open, Close );
 vlc_module_end();
 
index 52106570859aefcf6d00f2013f03d6e90eed08ab..9c9dc1a4293c0a314c2d5d6ad75a0a553f6f9369 100644 (file)
@@ -77,6 +77,8 @@ static char *enc_hq_list_text[] = { N_("rd"), N_("bits"), N_("simple") };
  *****************************************************************************/
 vlc_module_begin();
 
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_SCODEC );
     /* decoder main module */
 #if defined(MODULE_NAME_is_ffmpegaltivec) \
      || (defined(CAN_COMPILE_ALTIVEC) && !defined(NO_ALTIVEC_IN_FFMPEG))
@@ -87,6 +89,7 @@ vlc_module_begin();
     set_description( _("ffmpeg audio/video decoder ((MS)MPEG4,SVQ1,H263,WMV,WMA)") );
     set_capability( "decoder", 70 );
 #endif
+    set_section( N_("Decoding") , NULL );
     set_callbacks( OpenDecoder, CloseDecoder );
 
     add_bool( "ffmpeg-dr", 1, NULL, DR_TEXT, DR_TEXT, VLC_TRUE );
@@ -118,6 +121,7 @@ vlc_module_begin();
 
     /* encoder submodule */
     add_submodule();
+    set_section( N_("Encoding") , NULL );
     set_description( _("ffmpeg audio/video encoder") );
     set_capability( "encoder", 100 );
     set_callbacks( E_(OpenEncoder), E_(CloseEncoder) );
index f63c7eedb52f24142d638555a6fcdba54dbf2f34..ded735afffebf4340084c32f3b74abfb9cbfe75a 100644 (file)
@@ -142,6 +142,9 @@ static uint8_t flac_crc8( const uint8_t *data, unsigned len );
  *****************************************************************************/
 vlc_module_begin();
 
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
+
     set_description( _("Flac audio decoder") );
     set_capability( "decoder", 100 );
     set_callbacks( OpenDecoder, CloseDecoder );
index bfd45d74641f9d1073ace9b39e13cd04698497a6..1fa676171d057e62cf331bfddceb6e5eea4376ca 100755 (executable)
@@ -90,6 +90,8 @@ static picture_t *GetNewPicture( decoder_t *, uint8_t ** );
 vlc_module_begin();
     set_description( _("MPEG I/II video decoder (using libmpeg2)") );
     set_capability( "decoder", 150 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_VCODEC );
     set_callbacks( OpenDecoder, CloseDecoder );
     add_shortcut( "libmpeg2" );
 vlc_module_end();
index 2a72e2f97ca39033e9ae5d11e6f659ee9c05f9d2..06e4b135dc459ef3b651246387308eeab01836c4 100644 (file)
@@ -2,7 +2,7 @@
  * lpcm.c: lpcm decoder/packetizer module
  *****************************************************************************
  * Copyright (C) 1999-2003 VideoLAN
- * $Id: lpcm.c,v 1.21 2004/01/25 18:20:12 bigben Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Henri Fallon <henri@videolan.org>
@@ -77,6 +77,8 @@ static void *DecodeFrame  ( decoder_t *, block_t ** );
  *****************************************************************************/
 vlc_module_begin();
 
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
     set_description( _("Linear PCM audio decoder") );
     set_capability( "decoder", 100 );
     set_callbacks( OpenDecoder, CloseDecoder );
index ca28b045b67c6f0620a70fa547b00168d0e717d2..f8f30234df9aa22a2bbead92b6d451a8d9edcda0 100644 (file)
@@ -64,6 +64,8 @@ static block_t   *SendFrame  ( decoder_t *, block_t * );
 vlc_module_begin();
     set_description( _("Video decoder using openmash") );
     set_capability( "decoder", 50 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_VCODEC );
     set_callbacks( OpenDecoder, CloseDecoder );
 vlc_module_end();
 
index fd3c8ed944860f4f9b7be255ded2373b21b4fab6..045519cb9d11088a1335d624d7743afe1c230b13 100644 (file)
@@ -104,6 +104,8 @@ static int SyncInfo( uint32_t i_header, unsigned int * pi_channels,
  *****************************************************************************/
 vlc_module_begin();
     set_description( _("MPEG audio layer I/II/III parser") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
 #if defined(SYS_DARWIN)
     set_capability( "decoder", 5 );
 #else
index 46abe55ca2552dfe8e2f5b8cf87bf177f53927c7..87826b502336ccc5a2eea7e3654ba1d1baa6868b 100644 (file)
@@ -46,6 +46,8 @@ vlc_module_begin();
     set_description( _("CVD subtitle decoder") );
     set_capability( "decoder", 50 );
     set_callbacks( VCDSubOpen, VCDSubClose );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_SCODEC );
 
     add_integer ( MODULE_STRING "-debug", 0, NULL,
                   DEBUG_TEXT, DEBUG_LONGTEXT, VLC_TRUE );
index de073126c035f9068221ba02dc1f472a1342e7a6..edb611d201f9a4bd54c9933115bda602e6a9951a 100644 (file)
@@ -58,6 +58,8 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("QuickTime library decoder") );
     set_capability( "decoder", 10 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_VCODEC );
     set_callbacks( Open, Close );
 
     /* create a mutex */
index 86c20a86ac9c7ede060cb611e1d8b5a91b2fca95..bacea024cd2ec6999b70e7c102e60ea78e6f2904 100644 (file)
@@ -67,6 +67,8 @@ static block_t   *SendFrame  ( decoder_t *, block_t * );
 vlc_module_begin();
     set_description( _("Pseudo raw video decoder") );
     set_capability( "decoder", 50 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_VCODEC );
     set_callbacks( OpenDecoder, CloseDecoder );
 
     add_submodule();
index 2cdeb3002396e01c8ba4cbc9a779e04c66707861..0d51c675e89f0dcfb21adfb4a859b4e25a857daa 100755 (executable)
@@ -99,6 +99,9 @@ static block_t *Encode   ( encoder_t *, aout_buffer_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
+
     set_description( _("Speex audio decoder") );
     set_capability( "decoder", 100 );
     set_callbacks( OpenDecoder, CloseDecoder );
index 1f758f8262c88972731450b05ee8fce15ea57ccf..e988d58155e6eaad4721992baa1f3b18841a0ebe 100644 (file)
@@ -40,6 +40,8 @@ static void Close         ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("DVD subtitles decoder") );
     set_capability( "decoder", 50 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_SCODEC );
     set_callbacks( DecoderOpen, Close );
 
     add_submodule();
index 9e8ded6af2890f0bd925c461c81eed5d14a5dfaf..07fa17e48f2de3876ce0626afd87eda0547785c1 100644 (file)
@@ -92,6 +92,8 @@ vlc_module_begin();
     set_description( _("text subtitles decoder") );
     set_capability( "decoder", 50 );
     set_callbacks( OpenDecoder, CloseDecoder );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_SCODEC );
 
     add_integer( "subsdec-align", 0, NULL, ALIGN_TEXT, ALIGN_LONGTEXT,
                  VLC_TRUE );
index 62c8d30e978a375183f7302aabebcdf678061122..cfff76e0b19d8b5ee1cb09a00d9bb8f875fe1377 100644 (file)
@@ -74,6 +74,8 @@ static void tarkin_CopyPicture( decoder_t *, picture_t *, uint8_t *, int );
 vlc_module_begin();
     set_description( _("Tarkin decoder module") );
     set_capability( "decoder", 100 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_VCODEC );
     set_callbacks( OpenDecoder, CloseDecoder );
     add_shortcut( "tarkin" );
 vlc_module_end();
index e5268cfe20f78db81edaf7a9a2dbb856df4939d4..32289431a30225f91842b0f6a5979b0e2b91b19a 100644 (file)
@@ -88,6 +88,8 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict );
   "of specifying a particular bitrate. This will produce a VBR stream." )
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_VCODEC );
     set_description( _("Theora video decoder") );
     set_capability( "decoder", 100 );
     set_callbacks( OpenDecoder, CloseDecoder );
index c01dd0986d94e41ff841fe72d0db2c096520ab5d..61a70a16e3e215a52327d31349bacdc2e0b79783 100644 (file)
@@ -63,6 +63,8 @@ vlc_module_begin();
     set_description( _("libtoolame audio encoder") );
     set_capability( "encoder", 50 );
     set_callbacks( OpenEncoder, CloseEncoder );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
 
     add_float( ENC_CFG_PREFIX "quality", 0.0, NULL, ENC_QUALITY_TEXT,
                ENC_QUALITY_LONGTEXT, VLC_FALSE );
index d7889f66e0e1ec2f4ece2f9608d81dc5151d8c3e..3e4cc85d6b2e846c26b0180d29c0d274c41abc76 100644 (file)
@@ -148,6 +148,8 @@ vlc_module_begin();
 #else
     set_capability( "decoder", 100 );
 #endif
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
     set_callbacks( OpenDecoder, CloseDecoder );
 
     add_submodule();
index 2f6d11d798934df9e62112700070bb69cdc1fd25..94f455d7a227bc4d60bd10ffe3ea79324a257e4e 100644 (file)
@@ -101,6 +101,8 @@ vlc_module_begin();
     set_description( _("h264 video encoder using x264 library"));
     set_capability( "encoder", 200 );
     set_callbacks( Open, Close );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_VCODEC );
 
     add_integer( SOUT_CFG_PREFIX "qp", 0, NULL, QP_TEXT, QP_LONGTEXT,
                  VLC_FALSE );
index dd2b434760474a0087828329b4ee6c3a11a7de3d..ab6a54e8b01f24048c57c7367bc7f35c718e8ba5 100644 (file)
@@ -682,6 +682,8 @@ static void Run          ( intf_thread_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+set_category( CAT_INTERFACE );
+set_subcategory( SUBCAT_INTERFACE_CONTROL );
 add_category_hint( N_( "Corba control" ), NULL, VLC_FALSE );
 
 set_description( _( "corba control module" ) );
index eb4afd10e1f8524304dad26ba00167e5f57e8ed0..4936f5a3757cb130ba109c38d87800a3ab746081 100644 (file)
@@ -10,7 +10,7 @@
  * 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
@@ -87,6 +87,8 @@ static char *button_list[] = { "left", "middle", "right" };
 static char *button_list_text[] = { N_("Left"), N_("Middle"), N_("Right") };
 
 vlc_module_begin();
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
     add_integer( "gestures-threshold", 30, NULL, THRESHOLD_TEXT, THRESHOLD_LONGTEXT, VLC_TRUE );
     add_string( "gestures-button", "right", NULL,
                 BUTTON_TEXT, BUTTON_LONGTEXT, VLC_FALSE );
index 87be3a5587e3437eecca85e67a6974c52e279f53..358a1ea07a6b434ff9facf4c35296f88d6a20a2c 100644 (file)
@@ -91,6 +91,8 @@ static void Close( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("HTTP remote control interface") );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
         add_string ( "http-host", NULL, NULL, HOST_TEXT, HOST_LONGTEXT, VLC_TRUE );
         add_string ( "http-src",  NULL, NULL, SRC_TEXT,  SRC_LONGTEXT,  VLC_TRUE );
         add_string ( "http-intf-cert", NULL, NULL, CERT_TEXT, CERT_LONGTEXT, VLC_TRUE );
index 9c5dbf4df3086c61873ae9fdce23358528868aed..5d732e6fdad8a4ff567d367805006a2b7605d679 100644 (file)
@@ -158,6 +158,8 @@ static void Run       ( intf_thread_t *p_intf );
 #define MAP_LONGTEXT N_( "Allows you to remap the actions." )
 
 vlc_module_begin();
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
     add_integer( "motion-threshold", DEFAULT_THRESHOLD, NULL,
                      THRESHOLD_TEXT, THRESHOLD_LONGTEXT, VLC_TRUE );
     add_string( "joystick-device", DEFAULT_DEVICE, NULL,
index 86a45d4e07f9172665a8bbad5a9f411137d4d4ee..7c7bd5e0a542d072f8cdf837f60efffcab0f6c97 100644 (file)
@@ -62,6 +62,8 @@ static void Run     ( intf_thread_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
     set_description( _("Infrared remote control interface") );
     set_capability( "interface", 0 );
     set_callbacks( Open, Close );
index a4ac92b1173e14f5a50ed47a390aa0a50b3d07e2..d939f47c507d8886f641649268faca50e39201af 100644 (file)
@@ -88,6 +88,8 @@ static mtime_t GetClockRef( intf_thread_t *, mtime_t );
 
 vlc_module_begin();
     set_description( _("Network synchronisation") );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
 
     add_bool( "netsync-master", 0, NULL,
               NETSYNC_TEXT, NETSYNC_LONGTEXT, VLC_TRUE );
index 99c1f57b4a83443ef094d24f37f813c4baf1e82f..be50dcfec914e7873975bd69ff15805d045dc1b1 100755 (executable)
@@ -59,6 +59,8 @@ static void Close   ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("Windows Service interface") );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
     add_bool( "ntservice-install", 0, NULL,
               INSTALL_TEXT, INSTALL_LONGTEXT, VLC_TRUE );
     add_bool( "ntservice-uninstall", 0, NULL,
index 6696d9a3b06059b63b30e659bf68f8178aefa75e..23fdd2c764ce2dd197c7941214b6421313b57d07 100644 (file)
@@ -150,6 +150,8 @@ void __msg_rc( intf_thread_t *p_intf, const char *psz_fmt, ... )
 #endif
 
 vlc_module_begin();
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
     set_description( _("Remote control interface") );
     add_bool( "rc-show-pos", 0, NULL, POS_TEXT, POS_LONGTEXT, VLC_TRUE );
 #ifdef HAVE_ISATTY
index 0377c6ec5f7343ff3dbfe5d2156461e2561eb40f..087f04a07130f04e9ed5b751fa9aabde23dff437 100755 (executable)
@@ -152,6 +152,8 @@ static void __msg_rtci( intf_thread_t *p_intf, const char *psz_fmt, ... )
 
 vlc_module_begin();
     set_description( _("Real time control interface") );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
     add_bool( "rtci-show-pos", 0, NULL, POS_TEXT, POS_LONGTEXT, VLC_TRUE );
 #ifdef HAVE_ISATTY
     add_bool( "rtci-fake-tty", 0, NULL, TTY_TEXT, TTY_LONGTEXT, VLC_TRUE );
index aef2c928f6aa2bfadd98124f4a7d7e476cf8dfee..353ecf54df16ba596d8e8aad9d39d6ae0e92c150 100644 (file)
@@ -39,6 +39,8 @@ static int  Open  ( vlc_object_t * );
 static void Close ( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("Raw A/52 demuxer") );
     set_capability( "demux2", 145 );
     set_callbacks( Open, Close );
index 90830b8838019b044b10af03415e266ae64181f1..9180e4db2291462c1a3266847678c9484eb25cc3 100644 (file)
@@ -36,6 +36,8 @@ static int  Open    ( vlc_object_t * );
 static void Close  ( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("AAC demuxer" ) );
     set_capability( "demux2", 100 );
     set_callbacks( Open, Close );
index ca540d4ecea74eb1a717a9c43e4b55f3a7e86878..5dc2ac3c031469f769e3698622828ebd4af19aec 100644 (file)
@@ -2,7 +2,7 @@
  * aiff.c: Audio Interchange File Format demuxer
  *****************************************************************************
  * Copyright (C) 2004 VideoLAN
- * $Id: aiff.c,v 1.1 2004/01/28 12:25:37 fenrir Exp $
+ * $Id$
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *
@@ -40,6 +40,8 @@ static int  Open    ( vlc_object_t * );
 static void Close  ( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("AIFF demuxer" ) );
     set_capability( "demux2", 10 );
     set_callbacks( Open, Close );
index 3bec78b0ad4826882a2d564e5890640ad7078e31..a7a73c83871bea096255a3aec87393f7059d55a6 100644 (file)
@@ -46,6 +46,8 @@ static int  Open  ( vlc_object_t * );
 static void Close ( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("ASF v1.0 demuxer") );
     set_capability( "demux2", 200 );
     set_callbacks( Open, Close );
index 0a76b279a95663911906a6f7acfc3d045114b00b..e3543b8caf4ee95c1fca0e8bcc12e55b9e6fc233 100644 (file)
@@ -41,6 +41,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("AU demuxer") );
     set_capability( "demux2", 10 );
     set_callbacks( Open, Close );
index 88a8f081386572e89740cf5faa542839ad450580..2bec734136886780cb64d944f6ce35a7762a3bfa 100644 (file)
@@ -50,6 +50,8 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("AVI demuxer") );
     set_capability( "demux2", 212 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
 
     add_bool( "avi-interleaved", 0, NULL,
               INTERLEAVE_TEXT, INTERLEAVE_LONGTEXT, VLC_TRUE );
index 98154bacf33e0749015134bed27439a3fb4400d2..9a108c80067d826cf93c18d3bc58210193ed8b95 100644 (file)
@@ -46,6 +46,8 @@ static int  Open( vlc_object_t * );
 static void Close ( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("Filedump demuxer") );
     set_capability( "demux2", 0 );
     add_file( "demuxdump-file", "stream-demux.dump", NULL, FILE_TEXT,
index 5b9d2f2c0596443fdb57fac79d2b364e89835119..3524c07b8326289e2749439861aa444e227e1ef9 100644 (file)
@@ -35,6 +35,8 @@ static int  Open  ( vlc_object_t * );
 static void Close ( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("Raw DTS demuxer") );
     set_capability( "demux2", 155 );
     set_callbacks( Open, Close );
index 5077c5d9809a619e07b1f64a2455c2a2b78f9ae1..401089b6045c85886f9e3253eaf7d4c9ede0feab 100644 (file)
@@ -37,6 +37,8 @@ static void Close ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("FLAC demuxer") );
     set_capability( "demux2", 155 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_callbacks( Open, Close );
     add_shortcut( "flac" );
 vlc_module_end();
index 26117ad09a6e48134b151fac8f0c49cb95dc60de..0f20ade11477ee22cc890ac094fa102f34028057 100644 (file)
@@ -71,8 +71,11 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("live.com (RTSP/RTP/SDP) demuxer" ) );
     set_capability( "demux2", 50 );
+    set_name( "Live.com RTP/RTSP");
     set_callbacks( Open, Close );
     add_shortcut( "live" );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
 
     add_submodule();
         set_description( _("RTSP/RTP access and demux") );
index 675ee28ce47e991ca28af4dacef6f9b0285715c9..06dee5a3510ec6389af2a33a80990b04c19283f3 100644 (file)
@@ -63,6 +63,8 @@ static int  Control   ( demux_t *, int, va_list );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("Playlist metademux") );
     set_capability( "demux2", 5 );
     set_callbacks( Activate, Deactivate );
index 75b29458f17e17d9a3c25337c7d438b8dbcc69d6..e7335c24693a8241cb29cc3ceae68ea5bf8ecd84 100644 (file)
@@ -48,6 +48,8 @@ vlc_module_begin();
     set_description( _("JPEG camera demuxer") );
     set_capability( "demux2", 5 );
     set_callbacks( Open, Close );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     add_float( "mjpeg-fps", 0.0, NULL, FPS_TEXT, FPS_LONGTEXT, VLC_FALSE );
 vlc_module_end();
 
index 1624dafe88263e88a8f06a70b8dd0e15a735fb0f..176b252caa9c99fc6102b8428991ad3af14e128f 100644 (file)
@@ -95,9 +95,12 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_name( _("Matroska") );
     set_description( _("Matroska stream demuxer" ) );
     set_capability( "demux2", 50 );
     set_callbacks( Open, Close );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
 
     add_bool( "mkv-seek-percent", 1, NULL,
             N_("Seek based on percent not time"),
index d84c79cbb4a7ba4c811dd1e45ca530c6e4205e66..6b081e51d5ba2ff1796bca832ea955b5bdc13536 100644 (file)
@@ -47,6 +47,8 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("MOD demuxer (libmodplug)" ) );
     set_capability( "demux2", 10 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
 
     add_bool( "mod-noisereduction", VLC_TRUE, NULL, N_("Noise reduction"), N_("Noise reduction"), VLC_FALSE );
 
index fbc41abc6170e3842255c99c0d70eafe8a1f4570..c988aedb08f4918acd0c356070010f6927e45986 100644 (file)
@@ -45,6 +45,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("MP4 stream demuxer") );
     set_capability( "demux2", 242 );
     set_callbacks( Open, Close );
index 8cfaa068fba93fb644d0956a53a8ed4d8bcca93c..6360234b18a4d054636966b6af7dd51500d8fcca 100644 (file)
@@ -37,6 +37,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("H264 video demuxer" ) );
     set_capability( "demux2", 0 );
     add_float( "h264-fps", 25.0, NULL, "fps", "fps", VLC_TRUE );
index 58ac716f55e5e060d1457287ef05d33d7bca319d..b691640250292d3ebad5326aa8686adaa646c298 100644 (file)
@@ -37,6 +37,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("MPEG-4 audio demuxer" ) );
     set_capability( "demux2", 110 );
     set_callbacks( Open, Close );
index 31926fe4311faf6b3b0da7abf000f2f7a8b2e042..584b2c5a9423a03fe43c297e2d3699bc5fbff525 100644 (file)
@@ -37,6 +37,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("MPEG-4 video demuxer" ) );
     set_capability( "demux2", 0 );
     set_callbacks( Open, Close );
index ca0afc0d25ccb9b4cfcd8e2e46edf66c7d903a03..2499eff5b4ca080d2af8c9b4feb18a96acc0c9f2 100644 (file)
@@ -41,6 +41,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("MPEG-I/II audio demuxer" ) );
     set_capability( "demux2", 100 );
     set_callbacks( Open, Close );
index 5dc3751388212902c3832c77c2456cb726e8cb75..7753265dd2ef76b9cb68c6f4d07f880c25b7fc78 100644 (file)
@@ -37,6 +37,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_description( _("MPEG-I/II video demuxer" ) );
     set_capability( "demux2", 100 );
     set_callbacks( Open, Close );
index 88b43e266405e9725f11da46fd79cdd27f85cf35..1201b82a14e86deb59fddef80a5478b5c0f4fb9e 100644 (file)
@@ -44,6 +44,8 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("NullSoft demuxer" ) );
     set_capability( "demux2", 10 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_callbacks( Open, Close );
     add_shortcut( "nsv" );
 vlc_module_end();
index bbe3484741cfb33120e79f231a2b488fc747eae5..6046018de8970495a3e5d41ed17e93893ba1af6b 100644 (file)
@@ -41,6 +41,8 @@ static void Close( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("Ogg stream demuxer" ) );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_capability( "demux2", 50 );
     set_callbacks( Open, Close );
     add_shortcut( "ogg" );
index 82031b37270851b104b649fa03df229b1f71ef49..d5b2cb3cc93443649aec65eb8e44cb5ff1bcb7fb 100644 (file)
@@ -35,6 +35,8 @@
  *****************************************************************************/
 vlc_module_begin();
     add_shortcut( "playlist" );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
 
     set_description( _("Old playlist open") );
     add_shortcut( "old-open" );
@@ -42,16 +44,21 @@ vlc_module_begin();
     set_callbacks( Import_Old , NULL );
 
     add_submodule();
-    set_description( _("M3U playlist import") );
-    add_shortcut( "m3u-open" );
-    set_capability( "demux2" , 10 );
-    set_callbacks( Import_M3U , Close_M3U );
-
+        set_description( _("Native playlist import") );
+        add_shortcut( "playlist" );
+        add_shortcut( "native-open" );
+        set_capability( "demux2" , 10 );
+        set_callbacks( Import_Native , Close_Native );
     add_submodule();
-    set_description( _("PLS playlist import") );
-    add_shortcut( "pls-open" );
-    set_capability( "demux2" , 10 );
-    set_callbacks( Import_PLS , Close_PLS );
+        set_description( _("M3U playlist import") );
+        add_shortcut( "m3u-open" );
+        set_capability( "demux2" , 10 );
+        set_callbacks( Import_M3U , Close_M3U );
+    add_submodule();
+        set_description( _("PLS playlist import") );
+        add_shortcut( "pls-open" );
+        set_capability( "demux2" , 10 );
+        set_callbacks( Import_PLS , Close_PLS );
 vlc_module_end();
 
 
index 96572aa0720a5bab6b45a5cfe516afdbf1313090..9bc6e11237cb69d09715bc6e22f3c3dd863c33e8 100644 (file)
@@ -29,6 +29,9 @@ vlc_bool_t FindItem( demux_t *, playlist_t *, playlist_item_t **);
 int Import_Old ( vlc_object_t * );
 int Import_M3U ( vlc_object_t * );
 
+int Import_Native ( vlc_object_t * );
+int Close_Native ( vlc_object_t * );
+
 void Close_M3U ( vlc_object_t * );
 int Import_PLS ( vlc_object_t * );
 void Close_PLS ( vlc_object_t * );
index 72f81daa81caa56a289398989852bb2bba6b63f8..c069c0f7042e03fa3c5a4226ca9561c3d6103a18 100644 (file)
@@ -45,6 +45,8 @@ static void Close  ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("PS demuxer") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_capability( "demux2", 1 );
     set_callbacks( Open, Close );
     add_shortcut( "ps" );
index 07978cab0caefad44794c777746e92e611cf826f..b699ea3b65d18cf4c8ae1db36c4beeae8cd6265d 100644 (file)
@@ -42,6 +42,8 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("PVA demuxer" ) );
     set_capability( "demux2", 10 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_callbacks( Open, Close );
     add_shortcut( "pva" );
 vlc_module_end();
index f50c0a56c1aaa2096e9de7b11f6025e574a0c7c8..5814eff906b8e4bef5f6d8a947eea935997b2137 100644 (file)
@@ -38,6 +38,8 @@ static void Close( vlc_object_t * );
 vlc_module_begin();
     set_description( _("raw DV demuxer") );
     set_capability( "demux2", 2 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_callbacks( Open, Close );
     add_shortcut( "rawdv" );
 vlc_module_end();
index 94e0b4273b040e67eca3571a01ff872e1d64077a..01e0cdfb46721f0996137a1758bafba9896a7c52 100644 (file)
@@ -38,6 +38,8 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("Real demuxer" ) );
     set_capability( "demux2", 15 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_callbacks( Open, Close );
     add_shortcut( "real" );
     add_shortcut( "rm" );
index 02ea755ef92660acaae4c56958f5c54249fa6956..ce59ceab1ce5535698a9403628887f7437694202 100644 (file)
@@ -111,6 +111,8 @@ static void Deactivate( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("Kasenna MediaBase metademux") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_capability( "demux2", 170 );
     set_callbacks( Activate, Deactivate );
     add_shortcut( "sgimb" );
index 0aedae1310fef6f937b4335ade82556a1bb83e0f..d1e7a66ebe8c500dcc7e9cba87656e589462712d 100644 (file)
@@ -65,6 +65,8 @@ static char *ppsz_sub_type[] =
 vlc_module_begin();
     set_description( _("Text subtitles demux") );
     set_capability( "demux2", 0 );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     add_float( "sub-fps", 0.0, NULL,
                N_("Frames per second"),
                SUB_FPS_LONGTEXT, VLC_TRUE );
index 8ec1ef226f3b86b75bc0d5a1da7348361009a96a..a043540950c3680b71391bce38e59691add7696d 100644 (file)
@@ -85,6 +85,9 @@ static void Close ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("ISO 13818-1 MPEG Transport Stream input - new" ) );
+    set_name ( _("MPEG-TS") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
 
     add_string( "ts-extra-pmt", NULL, NULL, PMT_TEXT, PMT_LONGTEXT, VLC_TRUE );
     add_bool( "ts-es-id-pid", 0, NULL, PID_TEXT, PID_LONGTEXT, VLC_TRUE );
index 6b64c6554f662ddb4a71574d0d7fb97971f72592..24aae6cde6314084a49cdbdcc4044a710b8a4690 100644 (file)
@@ -46,6 +46,8 @@ static void Close( vlc_object_t *p_this );
 
 vlc_module_begin();
     set_description( _("Vobsub subtitles demux") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_capability( "demux2", 1 );
     
     set_callbacks( Open, Close );
index d83eebd7113ee91d43397a75b72e4ff8394d3e12..ff5caae13cc314af4b120409ec2e1194817a813c 100644 (file)
@@ -40,6 +40,8 @@ static void Close( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("WAV demuxer") );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
     set_capability( "demux2", 142 );
     set_callbacks( Open, Close );
 vlc_module_end();
index 3f6cdfe6c313de9d3f6fad3cd66007e3549ecec1..303856b9ca1f74fe46a5c3d9d2008c35815bc132 100644 (file)
@@ -2,7 +2,7 @@
  * beos.cpp : BeOS plugin for vlc
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: BeOS.cpp,v 1.14 2004/01/26 16:52:31 zorglub Exp $
+ * $Id$
  *
  * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
  *          Samuel Hocevar <sam@zoy.org>
@@ -49,6 +49,8 @@ void E_(CloseVideo)   ( vlc_object_t * );
 static char * ppsz_screenshotformat[] = { "TGA", "PPM", "PNG", "JPEG", "BMP" };
 
 vlc_module_begin();
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     add_bool( "beos-dvdmenus", 0, NULL, _("Use DVD Menus"), "", VLC_TRUE );
     add_string( "beos-screenshotpath", "/boot/home/", NULL,
                 _("Screenshot Path"), "", VLC_TRUE );
index e3686c62ec147cb8943f428f63fc7b5fe0f850d7..733e5f4b8cdb2a44c0f3152b317db2e69887fe2f 100644 (file)
@@ -75,6 +75,8 @@ vlc_module_begin();
     int i = getenv( "DISPLAY" ) == NULL ? 15 : 100;
 #endif
     set_description( _("GNOME interface") );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
 
     add_bool( "gnome-tooltips", 1, E_(GtkHideTooltips),
               TOOLTIPS_TEXT, TOOLTIPS_LONGTEXT, VLC_FALSE );
index 10e0114b5215fbdf79de971d0fd44c1bd0b89921..779003197e7f96cf76fe70b6fc75d2650a1697c7 100644 (file)
@@ -74,6 +74,8 @@ vlc_module_begin();
     int i = getenv( "DISPLAY" ) == NULL ? 10 : 90;
 #endif
     set_description( _("Gtk+ interface") );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
 
     add_bool( "gtk-tooltips", 1, E_(GtkHideTooltips),
               TOOLTIPS_TEXT, TOOLTIPS_LONGTEXT, VLC_FALSE );
index e580916f94ac222b1049c1d0adf2a1a2b9f7c67e..aae13b4b5e97a830fae1d8a80f7a35f0b59b8e58 100644 (file)
@@ -2,7 +2,7 @@
  * gnome2.c : GNOME 2 plugin for vlc
  *****************************************************************************
  * Copyright (C) 2003 VideoLAN
- * $Id: gnome2.c,v 1.3 2004/03/03 20:39:52 gbazin Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -52,6 +52,8 @@ static int  Manage       ( intf_thread_t * );
 vlc_module_begin();
     int i = getenv( "DISPLAY" ) == NULL ? 15 : 95;
     set_description( _("Gtk2 interface") );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     set_capability( "interface", i );
     set_callbacks( Open, Close );
     set_program( "gvlc" );
index 40d7993d367cdebf5060ded0ff235de19365f9e0..7273e60f8d9ef8c3bb40cd3f70495804ab257b0a 100644 (file)
@@ -2,7 +2,7 @@
  * gtk2.c : Gtk2 plugin for vlc
  *****************************************************************************
  * Copyright (C) 2003 VideoLAN
- * $Id: gtk2.c,v 1.3 2004/03/03 20:39:52 gbazin Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -52,6 +52,8 @@ static int  Manage       ( intf_thread_t * );
  *****************************************************************************/
 vlc_module_begin();
     int i = getenv( "DISPLAY" ) == NULL ? 15 : 95;
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     set_description( _("Gtk2 interface") );
     set_capability( "interface", i );
     set_callbacks( Open, Close );
index 7cfd2bdd60b3c695955ec668610fb45ce9ef1779..2b9a43956d6552ce8e03a3778070e13cb4b4c8dd 100644 (file)
@@ -2,7 +2,7 @@
  * kde.cpp : KDE plugin for vlc
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: kde.cpp,v 1.15 2004/01/25 18:53:07 gbazin Exp $
+ * $Id$
  *
  * Authors: Andres Krapf <dae@chez.com> Sun Mar 25 2001
  *
@@ -51,6 +51,8 @@ static void run(intf_thread_t *p_intf);
  *****************************************************************************/
 vlc_module_begin();
     /* int i = getenv( "DISPLAY" ) == NULL ? 8 : 85; */
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     set_description( _("KDE interface") );
     add_file( "kde-uirc", DATA_PATH "/ui.rc", NULL, N_( "path to ui.rc file" ), NULL, VLC_TRUE );
     set_capability( "interface", 0 ); /* 0 used to be i, disabled because kvlc not maintained */
index 2999a8324fcafb4d4c0527588dcad66970ed0bbb..7ef816fc4bc3d28b9e9e81488ab1f9a61288bc28 100644 (file)
@@ -71,6 +71,8 @@ vlc_module_begin();
     set_description( _("Mac OS X interface, sound and video") );
     set_capability( "interface", 100 );
     set_callbacks( E_(OpenIntf), E_(CloseIntf) );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     add_submodule();
         set_capability( "video output", 100 );
         set_callbacks( E_(OpenVideoQT), E_(CloseVideoQT) );
index f8c7f0e2037250586e04f760df91b89fe7cfbe55..e78a7d0ac75b09daf732031f127e99d125038631 100644 (file)
@@ -91,6 +91,8 @@ static void ReadDir        ( intf_thread_t * );
 vlc_module_begin();
     set_description( _("ncurses interface") );
     set_capability( "interface", 10 );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     set_callbacks( Open, Close );
     add_shortcut( "curses" );
     add_directory( "browse-dir", NULL, NULL, BROWSE_TEXT, BROWSE_LONGTEXT, VLC_FALSE );
index 77385e65a919033d3354b22e8b54429f5ff0d1b8..02fddb48fff4900dabfad938480f8b55b6f87616 100644 (file)
@@ -64,6 +64,8 @@ gint E_(GtkModeManage)   ( intf_thread_t * p_intf );
  *****************************************************************************/
 vlc_module_begin();
     set_description( N_("PDA Linux Gtk2+ interface") );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
 //    add_bool( "pda-autoplayfile", 1, GtkAutoPlayFile, AUTOPLAYFILE_TEXT, AUTOPLAYFILE_LONGTEXT, VLC_TRUE );
     set_capability( "interface", 70 );
     set_callbacks( Open, Close );
index 8c8248b45ce455d1fcb4fb33fe9d1bddc2a2c5bc..7c41d58e779e6020fe8967b6fb96f74371d64e2a 100644 (file)
@@ -44,6 +44,8 @@ vlc_module_begin();
     set_description( _("QNX RTOS video and audio output") );
     set_capability( "video output", 100 );
     set_callbacks( E_(OpenVideo), E_(CloseVideo) );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     add_submodule();
         set_capability( "audio output", 100 );
         set_callbacks( E_(OpenAudio), E_(CloseAudio) );
index 29a69355772b1d6072be344297988b7786238fa8..e8894617a76d34082397f03dec662a2e5c52acae 100644 (file)
@@ -2,7 +2,7 @@
  * qt.cpp : Qt plugin for vlc
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: qt.cpp,v 1.2 2003/03/30 18:14:38 gbazin Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -47,6 +47,8 @@ vlc_module_begin();
     set_description( _("Qt interface") );
     set_capability( "interface", i );
     set_program( "qvlc" );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     set_callbacks( E_(Open), E_(Close) );
 vlc_module_end();
 
index 285c002a8181d59392a3da020d588e9f41166062..7c1e42307dbe4f48db73aa787c6218cb1783be3b 100644 (file)
@@ -340,6 +340,8 @@ static int DemuxControl( demux_t *p_demux, int i_query, va_list args )
     " correctly.")
 
 vlc_module_begin();
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     add_string( "skins2-last", "", NULL, SKINS2_LAST, SKINS2_LAST_LONG,
                 VLC_TRUE );
     add_string( "skins2-config", "", NULL, SKINS2_CONFIG, SKINS2_CONFIG_LONG,
index 3b5c238c0457540cb5024427dfe83c538de440f0..e789766d457d47faf89ce04a18bcc7a7beeb5ccf 100644 (file)
@@ -37,6 +37,8 @@
 
 #include <vlc/intf.h>
 
+#include <vector>
+
 #include "wxwindows.h"
 #include "preferences_widgets.h"
 
index c80bd5e86627e3f60952b027762f7a87e7e87e03..40ccfee50f7d7bb963dec18644481d7a333a4ba8 100644 (file)
@@ -32,7 +32,7 @@
 #include <vlc/vlc.h>
 #include <vlc/intf.h>
 
-#include <vlc_help.h>
+#include <vlc_config_cat.h>
 
 #include "wxwindows.h"
 #include "preferences_widgets.h"
@@ -46,9 +46,9 @@
 #   define wxRB_SINGLE 0
 #endif
 
-#define GENERAL_ID 1242
-#define PLUGIN_ID 1243
-#define CAPABILITY_ID 1244
+#define TYPE_CATEGORY 0
+#define TYPE_SUBCATEGORY 1
+#define TYPE_MODULE 2
 
 /*****************************************************************************
  * Classes declarations.
@@ -82,7 +82,6 @@ private:
     vlc_bool_t b_advanced;
 
     wxTreeItemId root_item;
-    wxTreeItemId general_item;
     wxTreeItemId plugins_item;
 };
 
@@ -94,7 +93,7 @@ public:
 
     PrefsPanel() { }
     PrefsPanel( wxWindow *parent, intf_thread_t *_p_intf,
-                PrefsDialog *, int i_object_id, char *, char * );
+                PrefsDialog *, ConfigTreeData* );
     virtual ~PrefsPanel() {}
 
     void ApplyChanges();
@@ -106,6 +105,7 @@ private:
 
     vlc_bool_t b_advanced;
 
+    wxStaticText *hidden_text;
     wxBoxSizer *config_sizer;
     wxScrolledWindow *config_window;
 
@@ -116,18 +116,22 @@ class ConfigTreeData : public wxTreeItemData
 {
 public:
 
-    ConfigTreeData() { b_submodule = 0; panel = NULL; psz_section = NULL;
+    ConfigTreeData() { b_submodule = 0; panel = NULL; psz_name = NULL;
                        psz_help = NULL; }
-    virtual ~ConfigTreeData() { if( panel ) delete panel;
-                                if( psz_section) free(psz_section);
-                                if( psz_help) free(psz_help); }
+    virtual ~ConfigTreeData() {
+                                 if( panel ) delete panel;
+                                 if( psz_name ) free( psz_name );
+                                 if( psz_help ) free( psz_help );
+                              };
 
     vlc_bool_t b_submodule;
 
     PrefsPanel *panel;
     wxBoxSizer *sizer;
+
     int i_object_id;
-    char *psz_section;
+    int i_type;
+    char *psz_name;
     char *psz_help;
 };
 
@@ -302,7 +306,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf,
                 wxTR_LINES_AT_ROOT | wxTR_HIDE_ROOT |
                 wxTR_HAS_BUTTONS | wxTR_TWIST_BUTTONS | wxSUNKEN_BORDER )
 {
-    vlc_list_t      *p_list;
+    vlc_list_t      *p_list = NULL;;
     module_t        *p_module;
     module_config_t *p_item;
     int i_index;
@@ -320,16 +324,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf,
     p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
     if( !p_list ) return;
 
-    /*
-     * Build a tree of the main options
-     */
-    ConfigTreeData *config_data = new ConfigTreeData;
-    config_data->i_object_id = GENERAL_ID;
-    config_data->psz_help = wraptext( GENERAL_HELP, 72 , ISUTF8 );
-    config_data->psz_section = strdup( GENERAL_TITLE );
-    general_item = AppendItem( root_item, wxU(_("General settings")),
-                                -1, -1, config_data );
-
+    /* Build the categories list */
     for( i_index = 0; i_index < p_list->i_count; i_index++ )
     {
         p_module = (module_t *)p_list->p_values[i_index].p_object;
@@ -338,6 +333,8 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf,
     }
     if( i_index < p_list->i_count )
     {
+        wxTreeItemId current_item;
+        char *psz_help;
         /* We found the main module */
 
         /* Enumerate config categories and store a reference so we can
@@ -346,46 +343,66 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf,
 
         if( p_item ) do
         {
+            ConfigTreeData *config_data;
             switch( p_item->i_type )
             {
-            case CONFIG_HINT_CATEGORY:
-                ConfigTreeData *config_data = new ConfigTreeData;
-                config_data->psz_section = strdup(p_item->psz_text);
-                if( p_item->psz_longtext )
+            case CONFIG_CATEGORY:
+                config_data = new ConfigTreeData;
+                config_data->psz_name = strdup( config_CategoryNameGet(
+                                                            p_item->i_value ) );
+                psz_help = config_CategoryHelpGet( p_item->i_value );
+                if( psz_help )
                 {
-                    config_data->psz_help =
-                        wraptext( p_item->psz_longtext, 72 , ISUTF8 );
+                    config_data->psz_help = wraptext( strdup( psz_help ),
+                                                      72 , ISUTF8 );
                 }
                 else
                 {
                     config_data->psz_help = NULL;
                 }
-                config_data->i_object_id = p_module->i_object_id;
+                config_data->i_type = TYPE_CATEGORY;
+                config_data->i_object_id = p_item->i_value;
 
                 /* Add the category to the tree */
-                AppendItem( general_item, wxU(p_item->psz_text),
+                current_item = AppendItem( root_item,
+                                           wxU( config_data->psz_name ),
+                                           -1, -1, config_data );
+                break;
+            case CONFIG_SUBCATEGORY:
+                config_data = new ConfigTreeData;
+                config_data->psz_name = strdup(  config_CategoryNameGet(
+                                                           p_item->i_value ) );
+                psz_help = config_CategoryHelpGet( p_item->i_value );
+                if( psz_help )
+                {
+                    config_data->psz_help = wraptext( strdup( psz_help ) ,
+                                                      72 , ISUTF8 );
+                }
+                else
+                {
+                    config_data->psz_help = NULL;
+                }
+                config_data->i_type = TYPE_SUBCATEGORY;
+                config_data->i_object_id = p_item->i_value;
+                AppendItem( current_item, wxU( config_data->psz_name ),
                             -1, -1, config_data );
                 break;
             }
         }
         while( p_item->i_type != CONFIG_HINT_END && p_item++ );
 
-        SortChildren( general_item );
     }
 
 
     /*
      * Build a tree of all the plugins
      */
-    config_data = new ConfigTreeData;
-    config_data->i_object_id = PLUGIN_ID;
-    config_data->psz_help = wraptext( PLUGIN_HELP, 72, ISUTF8 );
-    config_data->psz_section = strdup( PLUGIN_TITLE );
-    plugins_item = AppendItem( root_item, wxU(_("Modules")),
-                        -1, -1,config_data );
-
     for( i_index = 0; i_index < p_list->i_count; i_index++ )
     {
+        int i_category = -1;
+        int i_subcategory = -1;
+        int i_options = 0;
+
         p_module = (module_t *)p_list->p_values[i_index].p_object;
 
         /* Exclude the main module */
@@ -395,66 +412,89 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf,
         /* Exclude empty plugins (submodules don't have config options, they
          * are stored in the parent module) */
         if( p_module->b_submodule )
-            p_item = ((module_t *)p_module->p_parent)->p_config;
+              continue;
+//            p_item = ((module_t *)p_module->p_parent)->p_config;
         else
             p_item = p_module->p_config;
 
         if( !p_item ) continue;
         do
         {
+            if( p_item->i_type == CONFIG_CATEGORY )
+            {
+                i_category = p_item->i_value;
+            }
+            else if( p_item->i_type == CONFIG_SUBCATEGORY )
+            {
+                i_subcategory = p_item->i_value;
+            }
             if( p_item->i_type & CONFIG_ITEM )
+                i_options ++;
+            if( i_options > 0 && i_category >= 0 && i_subcategory >= 0 )
+            {
                 break;
+            }
         }
         while( p_item->i_type != CONFIG_HINT_END && p_item++ );
-        if( p_item->i_type == CONFIG_HINT_END ) continue;
 
-        /* Find the capability child item */
-        long cookie; size_t i_child_index;
-        wxTreeItemId capability_item = GetFirstChild( plugins_item, cookie);
-        for( i_child_index = 0;
-             i_child_index < GetChildrenCount( plugins_item, FALSE );
-             i_child_index++ )
+        if( !i_options ) continue;
+
+        /* Find the right category item */
+        long cookie;
+        vlc_bool_t b_found = VLC_FALSE;
+        wxTreeItemId category_item = GetFirstChild( root_item , cookie);
+        while( category_item.IsOk() )
         {
-            if( !GetItemText(capability_item).Cmp(
-                    wxU(p_module->psz_capability ) ) )
+            ConfigTreeData *config_data =
+                    (ConfigTreeData *)GetItemData( category_item );
+            if( config_data->i_object_id == i_category )
             {
+                b_found = VLC_TRUE;
                 break;
             }
-            capability_item = GetNextChild( plugins_item, cookie );
+            category_item = GetNextChild( root_item, cookie );
         }
 
-        if( i_child_index == GetChildrenCount( plugins_item, FALSE ) &&
-            p_module->psz_capability && *p_module->psz_capability )
+        if( !b_found ) continue;
+
+        /* Find subcategory item */
+        b_found = VLC_FALSE;
+        cookie = -1;
+        wxTreeItemId subcategory_item = GetFirstChild( category_item, cookie );
+        while( subcategory_item.IsOk() )
         {
-            /* We didn't find it, add it */
-            ConfigTreeData *config_data = new ConfigTreeData;
-            config_data->psz_section =
-                wraptext( GetCapabilityHelp( p_module->psz_capability , 1 ),
-                          72, ISUTF8 );
-            config_data->psz_help =
-                wraptext( GetCapabilityHelp( p_module->psz_capability , 2 ),
-                          72, ISUTF8 );
-            config_data->i_object_id = CAPABILITY_ID;
-            capability_item = AppendItem( plugins_item,
-                                          wxU(p_module->psz_capability),
-                                          -1,-1,config_data );
+            ConfigTreeData *config_data =
+                    (ConfigTreeData *)GetItemData( subcategory_item );
+            if( config_data->i_object_id == i_subcategory )
+            {
+                b_found = VLC_TRUE;
+                break;
+            }
+            subcategory_item = GetNextChild( category_item, cookie );
+        }
+        if( !b_found )
+        {
+            subcategory_item = category_item;
         }
 
         /* Add the plugin to the tree */
         ConfigTreeData *config_data = new ConfigTreeData;
         config_data->b_submodule = p_module->b_submodule;
+        config_data->i_type = TYPE_MODULE;
         config_data->i_object_id = p_module->b_submodule ?
             ((module_t *)p_module->p_parent)->i_object_id :
             p_module->i_object_id;
         config_data->psz_help = NULL;
-        AppendItem( capability_item, wxU(p_module->psz_object_name), -1, -1,
+
+        AppendItem( subcategory_item, wxU( p_module->psz_name ?
+                       p_module->psz_name : p_module->psz_object_name)
+                , -1, -1,
                     config_data );
     }
 
     /* Sort all this mess */
     long cookie; size_t i_child_index;
-    SortChildren( plugins_item );
-    wxTreeItemId capability_item = GetFirstChild( plugins_item, cookie);
+    wxTreeItemId capability_item = GetFirstChild( root_item, cookie);
     for( i_child_index = 0;
          i_child_index < GetChildrenCount( plugins_item, FALSE );
          i_child_index++ )
@@ -474,7 +514,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf,
     SelectItem( GetFirstChild( root_item, cookie ) );
 #endif
 
-    Expand( general_item );
+    Expand( root_item );
 }
 
 PrefsTreeCtrl::~PrefsTreeCtrl()
@@ -483,51 +523,44 @@ PrefsTreeCtrl::~PrefsTreeCtrl()
 
 void PrefsTreeCtrl::ApplyChanges()
 {
-    long cookie, cookie2;
+    long cookie, cookie2, cookie3;
     ConfigTreeData *config_data;
 
-    /* Apply changes to the main module */
-    wxTreeItemId item = GetFirstChild( general_item, cookie );
-    for( size_t i_child_index = 0;
-         i_child_index < GetChildrenCount( general_item, FALSE );
-         i_child_index++ )
+    wxTreeItemId category = GetFirstChild( root_item, cookie );
+    while( category.IsOk() )
     {
-        config_data = (ConfigTreeData *)GetItemData( item );
-        if( config_data && config_data->panel )
+        wxTreeItemId subcategory = GetFirstChild( category, cookie2 );
+        while( subcategory.IsOk() )
         {
-            config_data->panel->ApplyChanges();
-        }
-
-        item = GetNextChild( general_item, cookie );
-    }
-
-    /* Apply changes to the plugins */
-    item = GetFirstChild( plugins_item, cookie );
-    for( size_t i_child_index = 0;
-         i_child_index < GetChildrenCount( plugins_item, FALSE );
-         i_child_index++ )
-    {
-        wxTreeItemId item2 = GetFirstChild( item, cookie2 );
-        for( size_t i_child_index = 0;
-             i_child_index < GetChildrenCount( item, FALSE );
-             i_child_index++ )
-        {
-            config_data = (ConfigTreeData *)GetItemData( item2 );
+            wxTreeItemId module = GetFirstChild( subcategory, cookie3 );
+            while( module.IsOk() )
+            {
+                config_data = (ConfigTreeData *)GetItemData( module );
+                if( config_data && config_data->panel )
+                {
+                    config_data->panel->ApplyChanges();
+                }
+                module = GetNextChild( subcategory, cookie3 );
+            }
+            config_data = (ConfigTreeData *)GetItemData( subcategory );
             if( config_data && config_data->panel )
             {
                 config_data->panel->ApplyChanges();
             }
-
-            item2 = GetNextChild( item, cookie2 );
+            subcategory = GetNextChild( category, cookie2 );
         }
-
-        item = GetNextChild( plugins_item, cookie );
+        config_data = (ConfigTreeData *)GetItemData( category );
+        if( config_data && config_data->panel )
+        {
+            config_data->panel->ApplyChanges();
+        }
+        category = GetNextChild( root_item, cookie );
     }
 }
 
 void PrefsTreeCtrl::CleanChanges()
 {
-    long cookie, cookie2;
+    long cookie, cookie2, cookie3;
     ConfigTreeData *config_data;
 
     config_data = !GetSelection() ? NULL :
@@ -538,10 +571,45 @@ void PrefsTreeCtrl::CleanChanges()
         p_sizer->Remove( config_data->panel );
     }
 
+    wxTreeItemId category = GetFirstChild( root_item, cookie );
+    while( category.IsOk() )
+    {
+        wxTreeItemId subcategory = GetFirstChild( category, cookie2 );
+        while( subcategory.IsOk() )
+        {
+            wxTreeItemId module = GetFirstChild( subcategory, cookie3 );
+            while( module.IsOk() )
+            {
+                config_data = (ConfigTreeData *)GetItemData( module );
+                if( config_data && config_data->panel )
+                {
+                    delete config_data->panel;
+                    config_data->panel = NULL;
+                }
+                module = GetNextChild( subcategory, cookie3 );
+            }
+            config_data = (ConfigTreeData *)GetItemData( subcategory );
+            if( config_data && config_data->panel )
+            {
+                delete config_data->panel;
+                config_data->panel = NULL;
+            }
+            subcategory = GetNextChild( category, cookie2 );
+        }
+        config_data = (ConfigTreeData *)GetItemData( category );
+        if( config_data && config_data->panel )
+        {
+            delete config_data->panel;
+            config_data->panel = NULL;
+        }
+        category = GetNextChild( root_item, cookie );
+    }
+
+#if 0
     /* Clean changes for the main module */
-    wxTreeItemId item = GetFirstChild( general_item, cookie );
+    wxTreeItemId item = GetFirstChild( root_item, cookie );
     for( size_t i_child_index = 0;
-         i_child_index < GetChildrenCount( general_item, FALSE );
+         i_child_index < GetChildrenCount( root_item, FALSE );
          i_child_index++ )
     {
         config_data = (ConfigTreeData *)GetItemData( item );
@@ -551,9 +619,8 @@ void PrefsTreeCtrl::CleanChanges()
             config_data->panel = NULL;
         }
 
-        item = GetNextChild( general_item, cookie );
+        item = GetNextChild( root_item, cookie );
     }
-
     /* Clean changes for the plugins */
     item = GetFirstChild( plugins_item, cookie );
     for( size_t i_child_index = 0;
@@ -578,7 +645,7 @@ void PrefsTreeCtrl::CleanChanges()
 
         item = GetNextChild( plugins_item, cookie );
     }
-
+#endif
     if( GetSelection() )
     {
         wxTreeEvent event;
@@ -596,29 +663,28 @@ ConfigTreeData *PrefsTreeCtrl::FindModuleConfig( ConfigTreeData *config_data )
         return config_data;
     }
 
-    long cookie, cookie2;
+    long cookie, cookie2, cookie3;
     ConfigTreeData *config_new;
-    wxTreeItemId item = GetFirstChild( plugins_item, cookie );
-    for( size_t i_child_index = 0;
-         i_child_index < GetChildrenCount( plugins_item, FALSE );
-         i_child_index++ )
+    wxTreeItemId category = GetFirstChild( root_item, cookie );
+    while( category.IsOk() )
     {
-        wxTreeItemId item2 = GetFirstChild( item, cookie2 );
-        for( size_t i_child_index = 0;
-             i_child_index < GetChildrenCount( item, FALSE );
-             i_child_index++ )
+        wxTreeItemId subcategory = GetFirstChild( category, cookie2 );
+        while( subcategory.IsOk() )
         {
-            config_new = (ConfigTreeData *)GetItemData( item2 );
-            if( config_new && !config_new->b_submodule &&
-                config_new->i_object_id == config_data->i_object_id )
+            wxTreeItemId module = GetFirstChild( subcategory, cookie3 );
+            while( module.IsOk() )
             {
-                return config_new;
+                config_new = (ConfigTreeData *)GetItemData( module );
+                if( config_new && !config_new->b_submodule &&
+                    config_new->i_object_id == config_data->i_object_id )
+                {
+                    return config_new;
+                }
+                module = GetNextChild( subcategory, cookie3 );
             }
-
-            item2 = GetNextChild( item, cookie2 );
+            subcategory = GetNextChild( category, cookie2 );
         }
-
-        item = GetNextChild( plugins_item, cookie );
+        category = GetNextChild( root_item, cookie );
     }
 
     /* Found nothing */
@@ -648,9 +714,7 @@ void PrefsTreeCtrl::OnSelectTreeItem( wxTreeEvent& event )
             /* The panel hasn't been created yet. Let's do it. */
             config_data->panel =
                 new PrefsPanel( p_parent, p_intf, p_prefs_dialog,
-                                config_data->i_object_id,
-                                config_data->psz_section,
-                                config_data->psz_help );
+                                config_data );
             config_data->panel->SwitchAdvanced( b_advanced );
         }
         else
@@ -688,10 +752,11 @@ void PrefsTreeCtrl::OnAdvanced( wxCommandEvent& event )
  *****************************************************************************/
 PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
                         PrefsDialog *_p_prefs_dialog,
-                        int i_object_id, char *psz_section, char *psz_help )
+                        ConfigTreeData *config_data )
   :  wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize )
 {
     module_config_t *p_item;
+    vlc_list_t *p_list = NULL;;
 
     wxStaticText *label;
     wxStaticText *help;
@@ -710,10 +775,9 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
     wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
 
 
-    if( i_object_id == PLUGIN_ID || i_object_id == GENERAL_ID ||
-        i_object_id == CAPABILITY_ID )
+    if( config_data->i_type == TYPE_CATEGORY )
     {
-        label = new wxStaticText( this, -1,wxU(_( psz_section )));
+        label = new wxStaticText( this, -1,wxU(_( config_data->psz_name )));
         wxFont heading_font = label->GetFont();
         heading_font.SetPointSize( heading_font.GetPointSize() + 5 );
         label->SetFont( heading_font );
@@ -721,7 +785,8 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
         sizer->Add( new wxStaticLine( this, 0 ), 0,
                     wxEXPAND | wxLEFT | wxRIGHT, 2 );
 
-        help = new wxStaticText( this, -1, wxU(_( psz_help ) ) );
+        hidden_text = NULL;
+        help = new wxStaticText( this, -1, wxU(_( config_data->psz_help ) ) );
         sizer->Add( help ,0 ,wxEXPAND | wxALL, 5 );
 
         config_sizer = NULL; config_window = NULL;
@@ -729,7 +794,35 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
     else
     {
         /* Get a pointer to the module */
-        p_module = (module_t *)vlc_object_get( p_intf,  i_object_id );
+        if( config_data->i_type == TYPE_MODULE )
+        {
+            p_module = (module_t *)vlc_object_get( p_intf,
+                                                   config_data->i_object_id );
+        }
+        else
+        {
+            /* List the plugins */
+            int i_index;
+            vlc_bool_t b_found = VLC_FALSE;
+            p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
+            if( !p_list ) return;
+
+            for( i_index = 0; i_index < p_list->i_count; i_index++ )
+            {
+                p_module = (module_t *)p_list->p_values[i_index].p_object;
+                if( !strcmp( p_module->psz_object_name, "main" ) )
+                {
+                    b_found = VLC_TRUE;
+                    break;
+                }
+            }
+            if( !p_module && !b_found )
+            {
+                msg_Warn( p_intf, "ohoh, unable to find main module");
+                return;
+            }
+        }
+
         if( p_module->i_object_type != VLC_OBJECT_MODULE )
         {
             /* 0OOoo something went really bad */
@@ -745,21 +838,34 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
             p_item = p_module->p_config;
 
         /* Find the category if it has been specified */
-        if( psz_section && p_item->i_type == CONFIG_HINT_CATEGORY )
+        if( config_data->i_type == TYPE_SUBCATEGORY )
         {
-            while( !p_item->i_type == CONFIG_HINT_CATEGORY ||
-                   strcmp( psz_section, p_item->psz_text ) )
+            do
             {
+                if( p_item->i_type == CONFIG_SUBCATEGORY &&
+                    p_item->i_value == config_data->i_object_id )
+                {
+                    break;
+                }
                 if( p_item->i_type == CONFIG_HINT_END )
                     break;
-                p_item++;
-            }
+            } while( p_item++ );
         }
 
         /* Add a head title to the panel */
+        char *psz_head;
+        if( config_data->i_type == TYPE_SUBCATEGORY )
+        {
+            psz_head = config_data->psz_name;
+            p_item++;
+        }
+        else
+        {
+            psz_head = p_module->psz_longname;
+        }
+
         label = new wxStaticText( this, -1,
-                                  wxU(_(psz_section ? p_item->psz_text :
-                                  p_module->psz_longname )));
+                      wxU(_( psz_head ? psz_head : _("Unknown") ) ) );
         wxFont heading_font = label->GetFont();
         heading_font.SetPointSize( heading_font.GetPointSize() + 5 );
         label->SetFont( heading_font );
@@ -777,8 +883,10 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
         if( p_item ) do
         {
             /* If a category has been specified, check we finished the job */
-            if( psz_section && p_item->i_type == CONFIG_HINT_CATEGORY &&
-                strcmp( psz_section, p_item->psz_text ) )
+            if( config_data->i_type == TYPE_SUBCATEGORY &&
+                (p_item->i_type == CONFIG_CATEGORY ||
+                  p_item->i_type == CONFIG_SUBCATEGORY ) &&
+                p_item->i_value != config_data->i_object_id )
                 break;
 
             ConfigControl *control =
@@ -793,25 +901,40 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
 
             config_sizer->Add( control, 0, wxEXPAND | wxALL, 2 );
         }
-        while( p_item->i_type != CONFIG_HINT_END && p_item++ );
+        while( !( p_item->i_type == CONFIG_HINT_END ||
+               ( config_data->i_type == TYPE_SUBCATEGORY &&
+                 ( p_item->i_type == CONFIG_CATEGORY ||
+                   p_item->i_type == CONFIG_SUBCATEGORY ) ) ) && p_item++ );
+
 
         config_sizer->Layout();
         config_window->SetSizer( config_sizer );
         sizer->Add( config_window, 1, wxEXPAND | wxALL, 5 );
+        hidden_text = new wxStaticText( this, -1,
+                        wxU( _( "Some options are available but hidden. " \
+                                "Check \"Advanced options\" to see them." ) ) );
+        sizer->Add( hidden_text );
 
         /* And at last put a useful help string if available */
-        if( psz_help && *psz_help )
+        if( config_data->psz_help && *config_data->psz_help )
         {
             sizer->Add( new wxStaticLine( this, 0 ), 0,
                         wxEXPAND | wxLEFT | wxRIGHT, 2 );
-            help = new wxStaticText( this, -1, wxU(_(psz_help)),
+            help = new wxStaticText( this, -1, wxU(_(config_data->psz_help)),
                                      wxDefaultPosition, wxDefaultSize,
                                      wxALIGN_LEFT,
                                      wxT("") );
             sizer->Add( help ,0 ,wxEXPAND | wxALL, 5 );
         }
 
-        vlc_object_release( p_module );
+        if( config_data->i_type == TYPE_MODULE )
+        {
+            vlc_object_release( p_module );
+        }
+        else
+        {
+            vlc_list_release( p_list );
+        }
     }
     sizer->Layout();
     SetSizer( sizer );
@@ -832,6 +955,8 @@ void PrefsPanel::ApplyChanges()
         case CONFIG_ITEM_FILE:
         case CONFIG_ITEM_DIRECTORY:
         case CONFIG_ITEM_MODULE:
+        case CONFIG_ITEM_MODULE_LIST:
+        case CONFIG_ITEM_MODULE_LIST_CAT:
             config_PutPsz( p_intf, control->GetName().mb_str(),
                            control->GetPszValue().mb_str() );
             break;
@@ -854,7 +979,12 @@ void PrefsPanel::ApplyChanges()
 
 void PrefsPanel::SwitchAdvanced( vlc_bool_t b_new_advanced )
 {
-    if( b_advanced == b_new_advanced ) return;
+    bool hidden = false;
+
+    if( b_advanced == b_new_advanced ) 
+    {
+        goto hide;
+    }
 
     if( config_sizer && config_window )
     {
@@ -865,6 +995,7 @@ void PrefsPanel::SwitchAdvanced( vlc_bool_t b_new_advanced )
             ConfigControl *control = config_array.Item(i);
             if( control->IsAdvanced() )
             {
+                if( !b_advanced ) hidden = true;
                 control->Show( b_advanced );
                 config_sizer->Show( control, b_advanced );
             }
@@ -874,5 +1005,16 @@ void PrefsPanel::SwitchAdvanced( vlc_bool_t b_new_advanced )
         config_window->FitInside();
         config_window->Refresh();
     }
+hide:
+    if( hidden && hidden_text )
+    {
+        hidden_text->Show( true );
+        config_sizer->Show( hidden_text, true );
+    }
+    else if ( hidden_text )
+    {
+        hidden_text->Show( false );
+        config_sizer->Show( hidden_text, false );
+    }
     return;
 }
index acd6293ede742fedb2ac44952ab225d8914c9aa2..b087529dae21130946532004a40a694afe60b01d 100644 (file)
 #include <vlc/vlc.h>
 #include <vlc/intf.h>
 
-#include <vlc_help.h>
+#include <vlc_config_cat.h>
 
 #include "wxwindows.h"
 #include "preferences_widgets.h"
 
+#include <wx/statline.h>
+
 /*****************************************************************************
  * CreateConfigControl wrapper
  *****************************************************************************/
@@ -51,6 +53,9 @@ ConfigControl *CreateConfigControl( vlc_object_t *p_this,
     case CONFIG_ITEM_MODULE:
         p_control = new ModuleConfigControl( p_this, p_item, parent );
         break;
+    case CONFIG_ITEM_MODULE_LIST_CAT:
+        p_control = new ModuleListCatConfigControl( p_this, p_item, parent );
+        break;
 
     case CONFIG_ITEM_STRING:
         if( !p_item->i_list )
@@ -95,6 +100,10 @@ ConfigControl *CreateConfigControl( vlc_object_t *p_this,
         p_control = new BoolConfigControl( p_this, p_item, parent );
         break;
 
+    case CONFIG_SECTION:
+        p_control = new SectionConfigControl( p_this, p_item, parent );
+        break;
+
     default:
         break;
     }
@@ -259,7 +268,7 @@ ModuleConfigControl::ModuleConfigControl( vlc_object_t *p_this,
     p_list = vlc_list_find( p_this, VLC_OBJECT_MODULE, FIND_ANYWHERE );
     combo->Append( wxU(_("Default")), (void *)NULL );
     combo->SetSelection( 0 );
-    for( int i_index = 0; i_index < p_list->i_count; i_index++ )
+    for( unsigned int i_index = 0; i_index < p_list->i_count; i_index++ )
     {
         p_parser = (module_t *)p_list->p_values[i_index].p_object ;
 
@@ -291,6 +300,103 @@ wxString ModuleConfigControl::GetPszValue()
     return wxU( (char *)combo->GetClientData( combo->GetSelection() ));
 }
 
+/*****************************************************************************
+ * ModuleListCatonfigControl implementation
+ *****************************************************************************/
+BEGIN_EVENT_TABLE(ModuleListCatConfigControl, wxPanel)
+    EVT_CHECKBOX( wxID_HIGHEST , ModuleListCatConfigControl::OnUpdate )
+END_EVENT_TABLE()
+
+
+ModuleListCatConfigControl::ModuleListCatConfigControl( vlc_object_t *p_this,
+                                                     module_config_t *p_item,
+                                                     wxWindow *parent )
+  : ConfigControl( p_this, p_item, parent )
+{
+    vlc_list_t *p_list;
+    module_t *p_parser;
+
+    delete sizer;
+    sizer = new wxBoxSizer( wxVERTICAL );
+    label = new wxStaticText(this, -1, wxU(p_item->psz_text));
+    sizer->Add( label );
+
+    text = new wxTextCtrl( this, -1, wxU(p_item->psz_value),
+                           wxDefaultPosition,wxSize( 300, 20 ) );
+
+
+    /* build a list of available modules */
+    p_list = vlc_list_find( p_this, VLC_OBJECT_MODULE, FIND_ANYWHERE );
+    for( unsigned int i_index = 0; i_index < p_list->i_count; i_index++ )
+    {
+        p_parser = (module_t *)p_list->p_values[i_index].p_object ;
+
+        if( !strcmp( p_parser->psz_object_name, "main" ) )
+              continue;
+
+        module_config_t *p_config = p_parser->p_config;
+        if( p_config ) do
+        {
+            /* Hack: required subcategory is stored in i_min */
+            if( p_config->i_type == CONFIG_SUBCATEGORY &&
+                p_config->i_value == p_item->i_min )
+            {
+                moduleCheckBox *mc = new moduleCheckBox;
+                mc->checkbox = new wxCheckBox( this, wxID_HIGHEST,
+                                               wxU(p_parser->psz_longname));
+                mc->psz_module = strdup( p_parser->psz_object_name );
+                pp_checkboxes.push_back( mc );
+
+                if( p_item->psz_value &&
+                    strstr( p_item->psz_value, p_parser->psz_object_name ) )
+                {
+                    mc->checkbox->SetValue( true );
+                }
+                sizer->Add( mc->checkbox );
+            }
+        } while( p_config->i_type != CONFIG_HINT_END && p_config++ );
+    }
+    vlc_list_release( p_list );
+
+    text->SetToolTip( wxU(p_item->psz_longtext) );
+    sizer->Add(text, wxEXPAND );
+
+    sizer->Add (new wxStaticText( this, -1, wxU( vlc_wraptext( _("Select modules that you want. To get more advanced control, you can also modify the resulting chain by yourself") , 72, ISUTF8 ) ) ) );
+
+    sizer->Layout();
+    this->SetSizerAndFit( sizer );
+}
+
+ModuleListCatConfigControl::~ModuleListCatConfigControl()
+{
+    ;
+}
+
+wxString ModuleListCatConfigControl::GetPszValue()
+{
+    return wxU( text->GetValue().c_str() ) ;
+}
+
+void  ModuleListCatConfigControl::OnUpdate( wxCommandEvent &event )
+{
+    wxString newtext = wxU("");
+    for( int i = 0 ; i< pp_checkboxes.size() ; i++ )
+    {
+        if( pp_checkboxes[i]->checkbox->IsChecked() )
+        {
+            if( newtext.Len() == 0 )
+            {
+                newtext = newtext + wxU( pp_checkboxes[i]->psz_module );
+            }
+            else
+            {
+                newtext += wxU( "," ) + wxU(pp_checkboxes[i]->psz_module);
+            }
+        }
+    }
+    text->SetValue( newtext );
+}
+
 /*****************************************************************************
  * StringConfigControl implementation
  *****************************************************************************/
@@ -750,3 +856,24 @@ int BoolConfigControl::GetIntValue()
     if( checkbox->IsChecked() ) return 1;
     else return 0;
 }
+
+/*****************************************************************************
+ * SectionConfigControl implementation
+ *****************************************************************************/
+SectionConfigControl::SectionConfigControl( vlc_object_t *p_this,
+                                            module_config_t *p_item,
+                                            wxWindow *parent )
+  : ConfigControl( p_this, p_item, parent )
+{
+    delete sizer;
+    sizer = new wxBoxSizer( wxVERTICAL );
+    sizer->Add( new wxStaticText( this, -1, wxU( p_item->psz_text ) ) );
+    sizer->Add( new wxStaticLine( this, -1 ), 0, wxEXPAND, 5 );
+    sizer->Layout();
+    this->SetSizerAndFit( sizer );
+}
+
+SectionConfigControl::~SectionConfigControl()
+{
+    ;
+}
index 51669c61e794a3d3e3e27e572a29ddc60d61db58..88bd1ba7fb7bc2e6a3a9f97166c3ae0d4db45c9b 100644 (file)
@@ -21,6 +21,8 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  *****************************************************************************/
 
+#include <vector>
+
 class ConfigControl: public wxPanel
 {
 public:
@@ -82,6 +84,28 @@ private:
     wxComboBox *combo;
 };
 
+struct moduleCheckBox {
+    wxCheckBox *checkbox;
+    char *psz_module;
+};
+
+class ModuleListCatConfigControl: public ConfigControl
+{
+public:
+    ModuleListCatConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
+    ~ModuleListCatConfigControl();
+    virtual wxString GetPszValue();
+private:
+    std::vector<moduleCheckBox *> pp_checkboxes;
+
+    void OnUpdate( wxCommandEvent& );
+    
+    wxTextCtrl *text;
+    DECLARE_EVENT_TABLE()
+};
+
+;
+
 class StringConfigControl: public ConfigControl
 {
 public:
@@ -190,3 +214,10 @@ private:
 
     DECLARE_EVENT_TABLE()
 };
+
+class SectionConfigControl: public ConfigControl
+{
+public:
+    SectionConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
+    ~SectionConfigControl();
+};
index b7f2bdbfed807b2fa4043ac07d3bfedd1c98ca30..28156a21a1a5b15f6546607896c1090fc3578375 100644 (file)
@@ -97,6 +97,8 @@ vlc_module_begin();
     int i_score = getenv( "DISPLAY" ) == NULL ? 15 : 150;
 #endif
     set_description( (char *) _("wxWindows interface module") );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     set_capability( "interface", i_score );
     set_callbacks( Open, Close );
     add_shortcut( "wxwindows" );
index acf9f286c23c965a5d946d089b32353b26952f97..4846422e759dc761fe9f43d27473f8fabc7d82e3 100644 (file)
 vlc_module_begin();
     set_description( _("Dummy interface function") );
     set_capability( "interface", 0 );
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
     add_shortcut( "vlc" );
     set_callbacks( E_(OpenIntf), NULL );
 #ifdef WIN32
+    set_section( N_( "Dummy Interface" ), NULL );
     add_category_hint( N_("Interface"), NULL, VLC_FALSE );
     add_bool( "dummy-quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, VLC_FALSE );
 #endif
@@ -72,6 +75,7 @@ vlc_module_begin();
         set_capability( "demux2", 0 );
         set_callbacks( E_(OpenDemux), E_(CloseDemux) );
     add_submodule();
+        set_section( N_( "Dummy decoder" ), NULL );
         set_description( _("Dummy decoder function") );
         set_capability( "decoder", 0 );
         set_callbacks( E_(OpenDecoder), E_(CloseDecoder) );
@@ -86,6 +90,7 @@ vlc_module_begin();
         set_callbacks( E_(OpenAudio), NULL );
     add_submodule();
         set_description( _("Dummy video output function") );
+        set_section( N_( "Dummy Video output" ), NULL );
         set_capability( "video output", 1 );
         set_callbacks( E_(OpenVideo), NULL );
         add_category_hint( N_("Video"), NULL, VLC_FALSE );
index 6ab58a065311ce72d905301ee648483db1a12059..bcb48a3c7d4b2d20e635dafdd5431529910d0443 100644 (file)
@@ -91,6 +91,8 @@ static char *ppsz_sizes_text[] = { N_("Smaller"), N_("Small"), N_("Normal"),
 
 vlc_module_begin();
     set_description( _("freetype2 font renderer") );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_TEXT );
 
     add_file( "freetype-font", DEFAULT_FONT, NULL, FONT_TEXT, FONT_LONGTEXT,
               VLC_FALSE );
index 8cec5f27f9af463af2a02f3c9416c01f217b5524..74c3f0374bf6e943b1aa1c23dc6a7fc45c169487 100644 (file)
@@ -60,6 +60,8 @@ vlc_module_begin();
     set_description( _("GnuTLS TLS encryption layer") );
     set_capability( "tls", 1 );
     set_callbacks( Open, Close );
+    set_category( CAT_ADVANCED );
+    set_subcategory( SUBCAT_ADVANCED_MISC );
 
     add_integer( "dh-bits", DH_BITS, NULL, DH_BITS_TEXT,
                  DH_BITS_LONGTEXT, VLC_TRUE );
index 4563eea5779f5d44cefdcc0bd55fd7d2141941e2..78e131f4f8c364f78b36574fe106e933bf074141 100644 (file)
@@ -98,6 +98,8 @@ static char *mode_list_text[] = { N_("Text"), "HTML" };
 #define LOGMODE_LONGTEXT N_("Specify the log format. Available choices are \"text\" (default) and \"html\".")
 
 vlc_module_begin();
+    set_category( CAT_ADVANCED );
+    set_subcategory( SUBCAT_ADVANCED_MISC );
     set_description( _("File logging interface") );
 
     add_file( "logfile", NULL, NULL, N_("Log filename"), N_("Specify the log filename."), VLC_FALSE );
index c368728549105485a808585c925cb8a1f68586fe..7daa9f43e785ba193fc10d76ec2e2f0031b0d74e 100644 (file)
@@ -2,7 +2,7 @@
  * memcpy.c : classic memcpy module
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: memcpy.c,v 1.3 2003/03/30 18:14:38 gbazin Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -77,6 +77,8 @@ static int Activate ( vlc_object_t *p_this )
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_ADVANCED );
+    set_subcategory( SUBCAT_ADVANCED_MISC );
 #ifdef MODULE_NAME_IS_memcpy
     set_description( _("libc memcpy") );
     add_shortcut( "c" );
index 0023a91aaccb528fe6cfc53af2369a18ad834a0f..56280526f90501bfead931c532faae94de72287e 100644 (file)
@@ -54,6 +54,8 @@ static int Activate ( vlc_object_t *p_this )
  *****************************************************************************/
 vlc_module_begin();
     set_description( _("AltiVec memcpy") );
+    set_category( CAT_ADVANCED );
+    set_subcategory( SUBCAT_ADVANCED_MISC );
     add_requirement( ALTIVEC );
     set_capability( "memcpy", 100 );
     set_callbacks( Activate, NULL );
index b11b7c5677ab2b7e975b2add0ff4756811ed3fce..406bb4caecf7e0864d644dbb35c478ef7e22c896 100644 (file)
@@ -38,6 +38,8 @@ int Export_Old    ( vlc_object_t *p_intf );
  *****************************************************************************/
 vlc_module_begin();
 
+    set_category( CAT_PLAYLIST );
+    set_subcategory( SUBCAT_PLAYLIST_EXPORT );
     add_submodule();
         set_description( _("M3U playlist exporter") );
         add_shortcut( "export-m3u" );
index de6815de2910f85925749c37b35fa80c42ca1ab0..c3c5a87ba936da2bb2365beaa0becec79866899b 100644 (file)
@@ -49,6 +49,8 @@ static void Close( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("RTSP VoD server") );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_VOD );
     set_capability( "vod server", 1 );
     set_callbacks( Open, Close );
     add_shortcut( "rtsp" );
index 5ade8003458e8c1763d5ca92425320ebfbb036f1..e261caf3047e7ed90e291b9bf04f0590ea0176fc 100644 (file)
@@ -41,6 +41,8 @@ static void Run          ( intf_thread_t *p_intf );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
     set_description( _("X Screensaver disabler") );
     set_capability( "interface", 0 );
     set_callbacks( Activate, NULL );
index 9f25f303b05738ed6d4aaa8f0875e1aa5e563477..6f017dfbf516857d9f86b59d882812fdee4aac85 100644 (file)
@@ -61,6 +61,8 @@ static void FreeString( subpicture_t * );
 #define TEMPLATE_LONGTEXT N_( "Location of a file holding a SVG template for automatic string conversion" )
 
 vlc_module_begin();
+ set_category( CAT_VIDEO );
+ set_subcategory( SUBCAT_VIDEO_TEXT );
  set_capability( "text renderer", 100 );
  add_shortcut( "svg" );
  add_string( "svg-template-file", "", NULL, TEMPLATE_TEXT, TEMPLATE_LONGTEXT, VLC_TRUE );
index abdcdc21c1dbf8a8d46785939b3dff5db3c731f7..13243c5b7d29f0cdd33c59fb6e9f8802defabf92 100644 (file)
@@ -36,6 +36,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_ADVANCED );
+    set_subcategory( SUBCAT_ADVANCED_XML );
     set_description( _("XML Parser (using libxml2)") );
     set_capability( "xml", 10 );
     set_callbacks( Open, Close );
index cf492cfafafd9182b180398875640727ebbee30e..e7a8b7b5aedadd28eb5e01a74c7070868fd3523e 100644 (file)
@@ -83,6 +83,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_ADVANCED );
+    set_subcategory( SUBCAT_ADVANCED_XML );
     set_description( _("Simple XML Parser") );
     set_capability( "xml", 5 );
     set_callbacks( Open, Close );
index e8fbc822f67ca88368ddb99ec3e5c5a17c2675eb..52c3b7c7b4889967be97f11cbd15e439a7a07db5 100644 (file)
@@ -62,6 +62,10 @@ static void Close  ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("ASF muxer") );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_MUX );
+    set_name( "ASF" );
+
     set_capability( "sout mux", 5 );
     add_shortcut( "asf" );
     add_shortcut( "asfh" );
index 4265ce52a8dde650f7ea195c43ce4ea22e443f84..56cca2955703e40dc413e669ac15a615a7b3946f 100644 (file)
@@ -42,6 +42,8 @@ static void Close  ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("AVI muxer") );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_MUX );
     set_capability( "sout mux", 5 );
     add_shortcut( "avi" );
     set_callbacks( Open, Close );
index c5b6cc4fdd8525d0c5e84253e84e703d356ddd3b..c99eeefc080812fd9250eec9e2ff715abdcbfcb4 100644 (file)
@@ -40,6 +40,8 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("Dummy/Raw muxer") );
     set_capability( "sout mux", 5 );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_MUX );
     add_shortcut( "dummy" );
     add_shortcut( "raw" );
     add_shortcut( "es" );
index 4a615bb65268c725b0a41d7b3d4ea48cce2496a9..fe621f707676fde25d6b316a9d241ebfc21f5bbc 100644 (file)
@@ -54,6 +54,9 @@ static void Close  ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("MP4/MOV muxer") );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_MUX );
+    set_name( "MP4" );
 
     add_bool( SOUT_CFG_PREFIX "faststart", 1, NULL, FASTSTART_TEXT, FASTSTART_LONGTEXT,
               VLC_TRUE );
index f337f99c8e4b77aa2f3ebae333d9797943b5d7de..6d14a84983fc63a0afa4738dc6de62ef01d34d56 100644 (file)
@@ -53,6 +53,9 @@ static void    Close  ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("PS muxer") );
+    set_name( "MPEG-PS" );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_MUX );
     set_capability( "sout mux", 50 );
     add_shortcut( "ps" );
     add_shortcut( "mpeg1" );
index 7b7031c29b195b81574253496022f82ed1ca416a..e7e28b4ebdefe2393a1570125702ec2f2ef40419 100644 (file)
@@ -127,6 +127,9 @@ static void    Close  ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("TS muxer (libdvbpsi)") );
+    set_name( "MPEG-TS");
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_MUX );
     set_capability( "sout mux", 120 );
     add_shortcut( "ts" );
 
index f22dbac743e7ceeff1eac9f3ea628a1db2c895f7..eaab175d074d9c846ef2f051cb7d9348032002f7 100644 (file)
@@ -40,6 +40,8 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("Multipart jpeg muxer") );
     set_capability( "sout mux", 5 );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_MUX );
     set_callbacks( Open, Close );
     add_shortcut( "mpjpeg" );
 vlc_module_end();
index 5db148708da9f2b20938f5b5e8d89c4bacbe5fcb..6f689e2f61ad7cfa78b71aa71fc4cec4bebc6998 100644 (file)
@@ -49,6 +49,8 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("Ogg/ogm muxer") );
     set_capability( "sout mux", 10 );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_MUX );
     add_shortcut( "ogg" );
     add_shortcut( "ogm" );
     set_callbacks( Open, Close );
index e751d51b95caf73afc95b3bedae244bbbb03ca92..1076eca10512d5737bed9552aa8d36f4a6aafbe6 100644 (file)
@@ -41,6 +41,8 @@ static void Close  ( vlc_object_t * );
 vlc_module_begin();
     set_description( _("WAV muxer") );
     set_capability( "sout mux", 5 );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_MUX );
     set_callbacks( Open, Close );
     add_shortcut( "wav" );
 vlc_module_end();
index 6fbe94840409c43140fbacec425be3923936ed34..c208dfca9b086a5cd7c4f33f4e7cda4ece146b21 100644 (file)
@@ -38,6 +38,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_PACKETIZER );
     set_description( _("Copy packetizer") );
     set_capability( "packetizer", 1 );
     set_callbacks( Open, Close );
index dd51eb8f4e4a8a29a8d68ba4b537ec5c3f565498..e0855b47d48767cd29d22848526dc90d01fcb90f 100644 (file)
@@ -42,6 +42,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_PACKETIZER );
     set_description( _("H264 video packetizer") );
     set_capability( "packetizer", 50 );
     set_callbacks( Open, Close );
index ee5eeb769d11b65b439201fb53309676bb8bcacd..8f5c9b711ec21cc63fff312b8d72c5048ccfb1d7 100644 (file)
@@ -2,7 +2,7 @@
  * mpeg4audio.c: parse and packetize an MPEG 4 audio stream
  *****************************************************************************
  * Copyright (C) 2001, 2002 VideoLAN
- * $Id: mpeg4audio.c,v 1.17 2004/02/25 18:43:24 gbazin Exp $
+ * $Id$
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *          Gildas Bazin <gbazin@netcourrier.com>
@@ -113,6 +113,8 @@ static int ADTSSyncInfo( decoder_t *, const byte_t * p_buf,
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_PACKETIZER );
     set_description( _("MPEG4 audio packetizer") );
     set_capability( "packetizer", 50 );
     set_callbacks( OpenPacketizer, ClosePacketizer );
index 809a9b7271874d170ba3e70bc7480b676ff82c45..3488aafbda4b40512a0289c1496eb929c1dd4e49 100644 (file)
@@ -41,6 +41,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_PACKETIZER );
     set_description( _("MPEG4 video packetizer") );
     set_capability( "packetizer", 50 );
     set_callbacks( Open, Close );
index 1ceecd5876ef0e6c3e89a40dec623ca736dda199..6e26d00ad3e91e7fdc2cb1802685a125ca2c1438 100644 (file)
@@ -55,6 +55,8 @@ static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
 vlc_module_begin();
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_PACKETIZER );
     set_description( _("MPEG-I/II video packetizer") );
     set_capability( "packetizer", 50 );
     set_callbacks( Open, Close );
index 9ee9e9aa659dfa5f283b28cc971eab622a7c9052..3f595b0e2892ab20756165577c185f175592c6f9 100644 (file)
@@ -61,6 +61,8 @@
 
 vlc_module_begin();
     set_description( _("HAL device detection") );
+    set_category( CAT_PLAYLIST );
+    set_subcategory( SUBCAT_PLAYLIST_SD );
 
     set_capability( "services_discovery", 0 );
     set_callbacks( Open, Close );
index fb1fce3a7210f36f8c8a6e10498e3be9f7a7a0d6..d00e1c1deedfb31cbf583c55ecd3c6d78fb1e1d6 100644 (file)
 
 vlc_module_begin();
     set_description( _("SAP interface") );
+    set_category( CAT_PLAYLIST );
+    set_subcategory( SUBCAT_PLAYLIST_SD );
 
     add_string( "sap-addr", NULL, NULL,
                 SAP_ADDR_TEXT, SAP_ADDR_LONGTEXT, VLC_TRUE );
index b402df09e7181ad31692cad288cf7bd7f7644527..cbb7947da3b275f63bac9b6bb669fc78f2b21b45 100644 (file)
@@ -50,6 +50,8 @@ vlc_module_begin();
     set_description( _("Display stream output") );
     set_capability( "sout stream", 50 );
     add_shortcut( "display" );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_STREAM );
     add_bool( SOUT_CFG_PREFIX "audio", 1, NULL, AUDIO_TEXT,
               AUDIO_LONGTEXT, VLC_TRUE );
     add_bool( SOUT_CFG_PREFIX "video", 1, NULL, VIDEO_TEXT,
index b694c5f06ae805d4b7159b2189a4dfe53607848e..796679265035b183e34e5a1d399230644f5525d6 100644 (file)
@@ -41,6 +41,8 @@ vlc_module_begin();
     set_capability( "sout stream", 50 );
     add_shortcut( "duplicate" );
     add_shortcut( "dup" );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_STREAM );
     set_callbacks( Open, Close );
 vlc_module_end();
 
index 2383352a4846cffe8f51db2d5828de4f50df0231..86a40888242a38718774c2a298e143e54c444f4c 100644 (file)
@@ -78,6 +78,8 @@ vlc_module_begin();
     set_description( _("Elementary stream output") );
     set_capability( "sout stream", 50 );
     add_shortcut( "es" );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_STREAM );
 
     add_string( SOUT_CFG_PREFIX "access", "", NULL, ACCESS_TEXT,
                 ACCESS_LONGTEXT, VLC_TRUE );
index 7985f71ab0d73beef70ec9a4676cb4e9840abe6e..debc9cd3928cf475cf5adaf433a45e61dd64b463 100644 (file)
@@ -40,6 +40,8 @@ vlc_module_begin();
     set_description( _("Gathering stream output") );
     set_capability( "sout stream", 50 );
     add_shortcut( "gather" );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_STREAM );
     set_callbacks( Open, Close );
 vlc_module_end();
 
index e03ea10f8e5dfe9cd687f847647ff6026a30d3fb..d60086ef65a47eb02325e8bc5bd5386c01457bb9 100644 (file)
@@ -87,6 +87,8 @@ vlc_module_begin();
     set_description( _("RTP stream output") );
     set_capability( "sout stream", 0 );
     add_shortcut( "rtp" );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_STREAM );
 
     add_string( SOUT_CFG_PREFIX "dst", "", NULL, DST_TEXT,
                 DST_LONGTEXT, VLC_TRUE );
index f8a87116415303a9249d865e784670cf093529b2..08a4ee855698375511066c649b33e44c16942b4d 100644 (file)
@@ -79,6 +79,8 @@ vlc_module_begin();
     set_capability( "sout stream", 50 );
     add_shortcut( "standard" );
     add_shortcut( "std" );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_STREAM );
 
     add_string( SOUT_CFG_PREFIX "access", "", NULL, ACCESS_TEXT,
                 ACCESS_LONGTEXT, VLC_FALSE );
index dc8b09bf4f3f734e80901ab9993894f4da8d0096..0e24bba283f3d9495a797ab887e4289c21ed127f 100644 (file)
@@ -134,6 +134,8 @@ vlc_module_begin();
     set_capability( "sout stream", 50 );
     add_shortcut( "transcode" );
     set_callbacks( Open, Close );
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_STREAM );
 
     add_string( SOUT_CFG_PREFIX "venc", NULL, NULL, VENC_TEXT,
                 VENC_LONGTEXT, VLC_FALSE );
index 691722b7f03164f5da2e5c9e1a12b3643d3e1aed..513d3b5f7aa7825bc20158cbfffd460788c4c416 100644 (file)
@@ -53,6 +53,8 @@ static int  transrate_video_process( sout_stream_t *, sout_stream_id_t *, block_
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_STREAM );
     set_description( _("MPEG2 video transrating stream output") );
     set_capability( "sout stream", 50 );
     add_shortcut( "transrate" );
index 5b4909cce52c50fb195208438628fc3f625d0a04..7136f2805bda9d8900631a7b14c1f4d2960f8494 100644 (file)
@@ -71,6 +71,8 @@ static int  SendEvents( vlc_object_t *, char const *,
 
 vlc_module_begin();
     set_description( _("Image properties filter") );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
     set_capability( "video filter", 0 );
 
     add_float_with_range( "contrast", 1.0, 0.0, 2.0, NULL, CONT_TEXT, CONT_LONGTEXT, VLC_FALSE );
index bbf50dd782cfa2f128e58c39b7a572d524fab1ab..00517c8cea0f478941e6a6d65be05d7e9fe6e926 100644 (file)
@@ -65,6 +65,8 @@ static void BlendPalRV( filter_t *, picture_t *, picture_t *, picture_t *,
  *****************************************************************************/
 vlc_module_begin();
     set_description( _("Video pictures blending") );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
     set_capability( "video blending", 100 );
     set_callbacks( OpenFilter, CloseFilter );
 vlc_module_end();
index f3e4a4232cda91e0ecb748e9fe801ed5f4f60f68..5d0b300468a9484f65df0d600cd2c0578a2e6719 100644 (file)
@@ -62,7 +62,9 @@ static int  SendEvents( vlc_object_t *, char const *,
 vlc_module_begin();
     set_description( _("Clone video filter") );
     set_capability( "video filter", 0 );
-    
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
+
     add_integer( "clone-count", 2, NULL, COUNT_TEXT, COUNT_LONGTEXT, VLC_FALSE );
     add_string ( "clone-vout-list", NULL, NULL, VOUTLIST_TEXT, VOUTLIST_LONGTEXT, VLC_FALSE );
     
index 83b00945883d5dc741015ee003057d5530541db6..9c6b475d2962e506413edab79fe0d559edbc44d3 100644 (file)
@@ -59,6 +59,8 @@ static int  SendEvents( vlc_object_t *, char const *,
 
 vlc_module_begin();
     set_description( _("Crop video filter") );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
     set_capability( "video filter", 0 );
 
     add_string( "crop-geometry", NULL, NULL, GEOMETRY_TEXT, GEOMETRY_LONGTEXT, VLC_FALSE );
index 47d3234f00fd4019ea2e91bc74cf946209fa99c8..397c3350717dc7cf6ecf0cfb016717cf7b897d75 100644 (file)
@@ -98,6 +98,8 @@ static char *mode_list_text[] = { N_("Discard"), N_("Blend"), N_("Mean"),
 vlc_module_begin();
     set_description( _("Deinterlacing video filter") );
     set_capability( "video filter", 0 );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
 
     add_string( "deinterlace-mode", "discard", NULL, MODE_TEXT,
                 MODE_LONGTEXT, VLC_FALSE );
index 10a570282173fb70c7acde6bf4dae70a43941dc3..72bf5b21330f60c4f6f1b6930bddba3aa09c5e20 100644 (file)
@@ -65,6 +65,8 @@ static char *mode_list_text[] = { N_("Wave"), N_("Ripple") };
 vlc_module_begin();
     set_description( _("Distort video filter") );
     set_capability( "video filter", 0 );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
 
     add_string( "distort-mode", "wave", NULL, MODE_TEXT, MODE_LONGTEXT,
                 VLC_FALSE );
index 5c10f778db22a11ac2a933483768ae711fb60801..6ae0c0e8805ec358e158a06e3b6b6bd42492ed59 100644 (file)
@@ -50,6 +50,8 @@ static int  SendEvents( vlc_object_t *, char const *,
  *****************************************************************************/
 vlc_module_begin();
     set_description( _("Invert video filter") );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
     set_capability( "video filter", 0 );
     add_shortcut( "invert" );
     set_callbacks( Create, Destroy );
index 8a1988e62490b714d8bda60d1f1303c7c1f72bbe..4d9149954c2142c39eb902b8e64b14983f3a783a 100644 (file)
@@ -84,6 +84,8 @@ static char *ppsz_pos_descriptions[] =
 vlc_module_begin();
     set_description( _("Logo video filter") );
     set_capability( "video filter", 0 );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
     add_shortcut( "logo" );
     set_callbacks( Create, Destroy );
 
index 02cb1d33fac5317882bbf676543ae8fb015127f1..6620e61684de70492098e20166ae68c28f3a56bf 100755 (executable)
@@ -78,6 +78,8 @@ struct filter_sys_t
 vlc_module_begin();
     set_capability( "sub filter", 0 );
     set_callbacks( CreateFilter, DestroyFilter );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_SUBPIC );
     add_string( "marq-marquee", "Marquee", NULL, MSG_TEXT, MSG_LONGTEXT, VLC_FALSE );
     add_integer( "marq-x", 0, NULL, POSX_TEXT, POSX_LONGTEXT, VLC_FALSE );
     add_integer( "marq-y", 0, NULL, POSY_TEXT, POSY_LONGTEXT, VLC_FALSE );
index d4606c1cbbe7bd3f9788210a93f704f7bee75331..75b473a0693dce17144f0132e5ae83eeebb70fd3 100644 (file)
@@ -52,6 +52,8 @@ static picture_t *Filter( filter_t *, picture_t * );
 vlc_module_begin();
     set_description( _("Video scaling filter") );
     set_capability( "video filter2", 10000 );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
     set_callbacks( OpenFilter, CloseFilter );
 vlc_module_end();
 
index 3932935ff32af55d4a0ecc608296e42caf982691..dbb28d1e47bbf620f6ebc01ea9782373fd17a74f 100644 (file)
@@ -64,6 +64,8 @@ struct filter_sys_t
  *****************************************************************************/
 vlc_module_begin();
     set_capability( "sub filter", 0 );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_SUBPIC );
     set_callbacks( CreateFilter, DestroyFilter );
     add_string( "time-format", "%Y-%m-%d   %H:%M:%S", NULL, MSG_TEXT, MSG_LONGTEXT, VLC_FALSE );
     add_integer( "time-x", 0, NULL, POSX_TEXT, POSX_LONGTEXT, VLC_FALSE );
index 0e1ec782e03b757582563d2a5712159ff2a56fdf..aba527b1e5531010fabd2d70b67e03fc3c4e140c 100644 (file)
@@ -65,6 +65,8 @@ static char *type_list_text[] = { N_("Rotate by 90 degrees"),
 vlc_module_begin();
     set_description( _("Video transformation filter") );
     set_capability( "video filter", 0 );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
 
     add_string( "transform-type", "90", NULL,
                           TYPE_TEXT, TYPE_LONGTEXT, VLC_FALSE);
index 28ec64ecbdd1cd7ef19020e751c29fea3b11acf1..9f54a70b8d98231edf51f8297b8f704d2cd16ee9 100644 (file)
@@ -65,6 +65,8 @@ static int  SendEvents( vlc_object_t *, char const *,
 vlc_module_begin();
     set_description( _("wall video filter") );
     set_capability( "video filter", 0 );
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
 
     add_integer( "wall-cols", 3, NULL, COLS_TEXT, COLS_LONGTEXT, VLC_FALSE );
     add_integer( "wall-rows", 3, NULL, ROWS_TEXT, ROWS_LONGTEXT, VLC_FALSE );
index 9db0342dd42aaadd5c9fef5346196f6c468f2dc8..8a6f9f37e6e6f476be3a8707612758a038c98598 100644 (file)
@@ -52,6 +52,8 @@ static void SetPalette     ( vout_thread_t *, uint16_t *, uint16_t *, uint16_t *
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VOUT );
     set_description( _("ASCII-art video output") );
     set_capability( "video output", 10 );
     add_shortcut( "aalib" );
index 6b8d8773e6af0f471100285e140892588952e9d0..db68c29f9a78d60450fb73f3dfb65323929b6852 100644 (file)
@@ -51,6 +51,8 @@ static void Display   ( vout_thread_t *, picture_t * );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_VOUT );
     set_description( _("color ASCII art video output") );
     set_capability( "video output", 12 );
     set_callbacks( Create, Destroy );
index b591da468a36ddf3cc68301c60487a72b8864a2d..3e2b7791a60eb04f050398d94dc2ecc2fdafceb7 100644 (file)
@@ -46,7 +46,7 @@ static void Close        ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("GaLaktos visualization plugin") );
-    set_capability( "audio filter", 0 );
+    set_capability( "visualization", 0 );
     set_callbacks( Open, Close );
     add_shortcut( "galaktos" );
 vlc_module_end();
index 80c1bbb426b3fd658526bff85528074324b1fb66..88b3c8600bf57eb499457092c200ead1819d2e78 100644 (file)
@@ -68,7 +68,9 @@ static void Close        ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("Goom effect") );
-    set_capability( "audio filter", 0 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_VISUAL );
+    set_capability( "visualization", 0 );
     add_integer( "goom-width", 320, NULL,
                  WIDTH_TEXT, RES_LONGTEXT, VLC_FALSE );
     add_integer( "goom-height", 240, NULL,
index a0570bd976d5f49808e220c38d0d5b0693f7ebe6..a68b139033fc490f72625bfc0f971ba25c769b4c 100644 (file)
@@ -72,13 +72,17 @@ static int  Open         ( vlc_object_t * );
 static void Close        ( vlc_object_t * );
 
 vlc_module_begin();
-    set_description( _("visualizer filter") );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_VISUAL );
+    set_description( _("Visualizer filter") );
+    set_section( N_( "General") , NULL );
     add_string("effect-list", "spectrum", NULL,
             ELIST_TEXT, ELIST_LONGTEXT, VLC_TRUE );
     add_integer("effect-width",VOUT_WIDTH,NULL,
              WIDTH_TEXT, WIDTH_LONGTEXT, VLC_FALSE );
     add_integer("effect-height" , VOUT_HEIGHT , NULL,
              HEIGHT_TEXT, HEIGHT_LONGTEXT, VLC_FALSE );
+    set_section( N_("Spectrum analyser") , NULL );
     add_integer("visual-nbbands", 80, NULL,
              NBBANDS_TEXT, NBBANDS_LONGTEXT, VLC_FALSE );
     add_integer("visual-separ", 1, NULL,
@@ -87,9 +91,10 @@ vlc_module_begin();
              AMP_TEXT, AMP_LONGTEXT, VLC_FALSE );
     add_bool("visual-peaks", VLC_TRUE, NULL,
              PEAKS_TEXT, PEAKS_LONGTEXT, VLC_FALSE );
+    set_section( N_( "Random effect") , NULL );
     add_integer("visual-stars", 200, NULL,
              STARS_TEXT, STARS_LONGTEXT, VLC_FALSE );
-    set_capability( "audio filter", 0 );
+    set_capability( "visualization", 0 );
     set_callbacks( Open, Close );
     add_shortcut( "visualizer");
 vlc_module_end();
index f6a48def42bcf964e499623e36bef298ca1c027f..59c653cc001a9bb9340575702f9226d256d507e7 100644 (file)
@@ -53,7 +53,7 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input )
     audio_sample_format_t user_filter_format;
     audio_sample_format_t intermediate_format;/* input of resampler */
     vlc_value_t val, text;
-    char * psz_filters;
+    char * psz_filters, *psz_visual;
     aout_filter_t * p_user_channel_mixer;
 
     aout_FormatPrint( p_aout, "input", &p_input->input );
@@ -141,29 +141,29 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input )
     if( var_Type( p_aout, "equalizer" ) == 0 )
     {
         module_config_t *p_config;
-       int i;
-
-       p_config = config_FindConfig( VLC_OBJECT(p_aout), "equalizer-preset" );
-       if( p_config && p_config->i_list )
-       {
-           var_Create( p_aout, "equalizer",
-                       VLC_VAR_STRING | VLC_VAR_HASCHOICE );
-           text.psz_string = _("Equalizer");
-           var_Change( p_aout, "equalizer", VLC_VAR_SETTEXT, &text, NULL );
-
-           val.psz_string = ""; text.psz_string = _("Disable");
-           var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE, &val, &text );
-
-           for( i = 0; i < p_config->i_list; i++ )
-           {
-               val.psz_string = p_config->ppsz_list[i];
-               text.psz_string = p_config->ppsz_list_text[i];
-               var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE,
-                           &val, &text );
-           }
-
-           var_AddCallback( p_aout, "equalizer", EqualizerCallback, NULL );
-       }
+        int i;
+
+        p_config = config_FindConfig( VLC_OBJECT(p_aout), "equalizer-preset" );
+        if( p_config && p_config->i_list )
+        {
+               var_Create( p_aout, "equalizer",
+                           VLC_VAR_STRING | VLC_VAR_HASCHOICE );
+            text.psz_string = _("Equalizer");
+            var_Change( p_aout, "equalizer", VLC_VAR_SETTEXT, &text, NULL );
+
+            val.psz_string = ""; text.psz_string = _("Disable");
+            var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE, &val, &text );
+
+            for( i = 0; i < p_config->i_list; i++ )
+            {
+                val.psz_string = p_config->ppsz_list[i];
+                text.psz_string = p_config->ppsz_list_text[i];
+                var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE,
+                            &val, &text );
+            }
+
+            var_AddCallback( p_aout, "equalizer", EqualizerCallback, NULL );
+        }
     }
 
     if( var_Type( p_aout, "audio-filter" ) == 0 )
@@ -173,14 +173,35 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input )
         text.psz_string = _("Audio filters");
         var_Change( p_aout, "audio-filter", VLC_VAR_SETTEXT, &text, NULL );
     }
+    if( var_Type( p_aout, "audio-visual" ) == 0 )
+    {
+        var_Create( p_aout, "audio-visual",
+                    VLC_VAR_STRING | VLC_VAR_DOINHERIT );
+        text.psz_string = _("Audio visualizations");
+        var_Change( p_aout, "audio-visual", VLC_VAR_SETTEXT, &text, NULL );
+    }
 
     var_Get( p_aout, "audio-filter", &val );
     psz_filters = val.psz_string;
+    var_Get( p_aout, "audio-visual", &val );
+    psz_visual = val.psz_string;
+
+    if( psz_filters && *psz_filters && psz_visual && *psz_visual )
+    {
+        psz_filters = (char *)realloc( psz_filters, strlen( psz_filters ) +
+                                                    strlen( psz_visual )  + 1);
+        sprintf( psz_filters, "%s,%s", psz_filters, psz_visual );
+    }
+    else if(  psz_visual && *psz_visual )
+    {
+        if( psz_filters ) free( psz_filters );
+        psz_filters = strdup( psz_visual );
+    }
+
     if( psz_filters && *psz_filters )
     {
         char *psz_parser = psz_filters;
         char *psz_next;
-
         while( psz_parser && *psz_parser )
         {
             aout_filter_t * p_filter;
@@ -227,14 +248,19 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input )
 
             if( p_filter->p_module== NULL )
             {
-                msg_Err( p_aout, "cannot add user filter %s (skipped)",
-                         psz_parser );
-
-                vlc_object_detach( p_filter );
-                vlc_object_destroy( p_filter );
-                psz_parser = psz_next;
-                continue;
-
+                p_filter->p_module =
+                    module_Need( p_filter,"visualization", psz_parser,
+                                                           VLC_TRUE );
+                if( p_filter->p_module == NULL )
+                {
+                    msg_Err( p_aout, "cannot add user filter %s (skipped)",
+                             psz_parser );
+
+                    vlc_object_detach( p_filter );
+                    vlc_object_destroy( p_filter );
+                    psz_parser = psz_next;
+                    continue;
+                }
             }
             p_filter->b_continuity = VLC_FALSE;
 
@@ -245,6 +271,7 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input )
         }
     }
     if( psz_filters ) free( psz_filters );
+    if( psz_visual ) free( psz_visual );
 
     /* Attach the user channel mixer */
     if ( p_user_channel_mixer )
index 551f40a220071bbfcf6c88c66b190d689a901c58..c28ed675028f2ca439106746921fdc3196ccf768 100644 (file)
@@ -245,6 +245,7 @@ int VLC_Init( int i_object, int i_argc, char *ppsz_argv[] )
     char *       p_tmp;
     char *       psz_modules;
     char *       psz_parser;
+    char *       psz_control;
     char *       psz_language;
     vlc_bool_t   b_exit = VLC_FALSE;
     vlc_t *      p_vlc = vlc_current_object( i_object );
@@ -657,6 +658,20 @@ int VLC_Init( int i_object, int i_argc, char *ppsz_argv[] )
      * Load background interfaces
      */
     psz_modules = config_GetPsz( p_vlc, "extraintf" );
+    psz_control = config_GetPsz( p_vlc, "control" );
+
+    if( psz_modules && *psz_modules && psz_control && *psz_control )
+    {
+        psz_modules = (char *)realloc( psz_modules, strlen( psz_modules ) +
+                                                    strlen( psz_control ) + 1 );
+        sprintf( psz_modules, "%s,%s", psz_modules, psz_control );
+    }
+    else if( psz_control && *psz_control )
+    {
+        if( psz_modules ) free( psz_modules );
+        psz_modules = strdup( psz_control );
+    }
+
     psz_parser = psz_modules;
     while ( psz_parser && *psz_parser )
     {
index f5144f52ac553c7b420cc15ebe69a05df56b8bde..9c2cdc6a9d1b04c02a4822ed674e53e1df012bb3 100644 (file)
@@ -61,6 +61,10 @@ static char *ppsz_language_text[] =
     "interface. Use a comma separated list of interface modules. (common " \
     "values are logger, gestures, sap, rc, http or screensaver)")
 
+#define CONTROL_TEXT N_("Control interfaces")
+#define CONTROL_LONGTEXT N_( \
+    "This option allows you to select control interfaces. " )
+
 #define VERBOSE_TEXT N_("Verbosity (0,1,2)")
 #define VERBOSE_LONGTEXT N_( \
     "This options sets the verbosity level (0=only errors and " \
@@ -149,7 +153,12 @@ static char *ppsz_language_text[] =
 #define AUDIO_FILTER_TEXT N_("Audio filters")
 #define AUDIO_FILTER_LONGTEXT N_( \
     "This allows you to add audio post processing filters, to modify " \
-    "the sound, or audio visualization modules (spectrum analyzer, etc.).")
+    "the sound" )
+
+#define AUDIO_VISUAL_TEXT N_("Audio visualizations ")
+#define AUDIO_VISUAL_LONGTEXT N_( \
+    "This allows you to add visualization modules " \
+    "(spectrum analyzer, etc.).")
 
 #define AUDIO_CHANNEL_MIXER N_("Channel mixer")
 #define AUDIO_CHANNEL_MIXER_LONGTEXT N_( \
@@ -808,35 +817,14 @@ static char *ppsz_align_descriptions[] =
  *             N_(text), N_(longtext) );
  * add_integer( option_name, i_value, p_callback, N_(text), N_(longtext),
                 b_advanced_option );
- * add_bool( option_name, b_value, p_callback, N_(text), N_(longtext), 
+ * add_bool( option_name, b_value, p_callback, N_(text), N_(longtext),
              b_advanced_option );
  */
 
 vlc_module_begin();
-    /* Interface options */
-    add_category_hint( N_("Interface"), INTF_CAT_LONGTEXT , VLC_FALSE );
-    add_module( "intf", "interface", NULL, NULL, INTF_TEXT,
-                INTF_LONGTEXT, VLC_FALSE );
-        change_short('I');
-    add_string( "extraintf", NULL, NULL, EXTRAINTF_TEXT,
-                     EXTRAINTF_LONGTEXT, VLC_FALSE );
-    add_integer( "verbose", 0, NULL, VERBOSE_TEXT, VERBOSE_LONGTEXT,
-                 VLC_FALSE );
-        change_short('v');
-    add_bool( "quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, VLC_TRUE );
-        change_short('q');
-    add_string( "language", "auto", NULL, LANGUAGE_TEXT, LANGUAGE_LONGTEXT,
-                VLC_FALSE );
-        change_string_list( ppsz_language, ppsz_language_text, 0 );
-    add_bool( "color", 0, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE );
-    add_bool( "advanced", 0, NULL, ADVANCED_TEXT,
-                            ADVANCED_LONGTEXT, VLC_FALSE );
-
     /* Audio options */
-    add_category_hint( N_("Audio"), AOUT_CAT_LONGTEXT , VLC_FALSE );
-    add_module( "aout", "audio output", NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT,
-                VLC_TRUE );
-        change_short('A');
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_GENERAL );
     add_bool( "audio", 1, NULL, AUDIO_TEXT, AUDIO_LONGTEXT, VLC_FALSE );
     add_integer_with_range( "volume", AOUT_VOLUME_DEFAULT, AOUT_VOLUME_MIN,
                             AOUT_VOLUME_MAX, NULL, VOLUME_TEXT,
@@ -853,16 +841,24 @@ vlc_module_begin();
     add_bool( "spdif", 0, NULL, SPDIF_TEXT, SPDIF_LONGTEXT, VLC_FALSE );
     add_integer( "audio-desync", 0, NULL, DESYNC_TEXT,
                  DESYNC_LONGTEXT, VLC_TRUE );
-    add_string( "audio-filter", 0, NULL,AUDIO_FILTER_TEXT,
-                AUDIO_FILTER_LONGTEXT, VLC_FALSE );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
+    add_module( "aout", "audio output", NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT,
+                VLC_TRUE );
+    set_subcategory( SUBCAT_AUDIO_AFILTER );
+    add_module_list_cat( "audio-filter", SUBCAT_AUDIO_AFILTER, 0,
+                         NULL, AUDIO_FILTER_TEXT,
+                         AUDIO_FILTER_LONGTEXT, VLC_FALSE );
+    set_subcategory( SUBCAT_AUDIO_VISUAL );
+    add_string( "audio-visual", 0, NULL,AUDIO_VISUAL_TEXT,
+                AUDIO_VISUAL_LONGTEXT, VLC_FALSE );
+    set_subcategory( SUBCAT_AUDIO_MISC );
     add_module( "audio-channel-mixer", "audio filter", NULL, NULL,
                 AUDIO_CHANNEL_MIXER, AUDIO_CHANNEL_MIXER_LONGTEXT, VLC_FALSE );
+        change_short('A');
 
     /* Video options */
-    add_category_hint( N_("Video"), VOUT_CAT_LONGTEXT , VLC_FALSE );
-    add_module( "vout", "video output", NULL, NULL, VOUT_TEXT, VOUT_LONGTEXT,
-                VLC_TRUE );
-        change_short('V');
+    set_category( CAT_VIDEO );
+    set_subcategory( SUBCAT_VIDEO_GENERAL );
     add_bool( "video", 1, NULL, VIDEO_TEXT, VIDEO_LONGTEXT, VLC_TRUE );
     add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, VLC_TRUE );
     add_integer( "height", -1, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT, VLC_TRUE );
@@ -886,19 +882,29 @@ vlc_module_begin();
 
     add_bool( "video-on-top", 0, NULL, VIDEO_ON_TOP_TEXT,
               VIDEO_ON_TOP_LONGTEXT, VLC_FALSE );
-    add_bool( "video-deco", 1, NULL, VIDEO_DECO_TEXT,
-              VIDEO_DECO_LONGTEXT, VLC_TRUE );
-    add_module( "filter", "video filter", NULL, NULL,
-                FILTER_TEXT, FILTER_LONGTEXT, VLC_FALSE );
     add_string( "aspect-ratio", "", NULL,
                 ASPECT_RATIO_TEXT, ASPECT_RATIO_LONGTEXT, VLC_TRUE );
+
+    set_subcategory( SUBCAT_VIDEO_VOUT );
+    add_module( "vout", "video output", NULL, NULL, VOUT_TEXT, VOUT_LONGTEXT,
+                VLC_TRUE );
+        change_short('V');
+
+    set_subcategory( SUBCAT_VIDEO_VFILTER );
+    add_bool( "video-deco", 0, NULL, VIDEO_DECO_TEXT,
+              VIDEO_DECO_LONGTEXT, VLC_TRUE );
+    add_module_list_cat( "filter", SUBCAT_VIDEO_VFILTER, NULL, NULL,
+                FILTER_TEXT, FILTER_LONGTEXT, VLC_FALSE );
 #if 0
     add_string( "pixel-ratio", "1", NULL, PIXEL_RATIO_TEXT, PIXEL_RATIO_TEXT );
 #endif
 
     /* Subpictures options */
-    add_category_hint( N_("Subpictures"), SUB_CAT_LONGTEXT , VLC_FALSE );
+    set_subcategory( SUBCAT_VIDEO_SUBPIC );
+    set_section( N_("On Screen Display") , NULL );
     add_bool( "osd", 1, NULL, OSD_TEXT, OSD_LONGTEXT, VLC_FALSE );
+
+    set_section( N_("Subtitles") , NULL );
     add_bool( "sub-autodetect-file", VLC_TRUE, NULL,
                  SUB_AUTO_TEXT, SUB_AUTO_LONGTEXT, VLC_FALSE );
     add_integer( "sub-autodetect-fuzzy", 3, NULL,
@@ -914,11 +920,21 @@ vlc_module_begin();
               SUB_FILE_LONGTEXT, VLC_TRUE );
     add_integer( "spumargin", -1, NULL, SPUMARGIN_TEXT,
                  SPUMARGIN_LONGTEXT, VLC_TRUE );
+
+    set_section( N_( "Overlays" ) , NULL );
     add_module( "sub-filter", "sub filter", NULL, NULL,
                 SUB_FILTER_TEXT, SUB_FILTER_LONGTEXT, VLC_TRUE );
 
+    set_subcategory( SUBCAT_VIDEO_TEXT );
+
     /* Input options */
-    add_category_hint( N_("Input"), INPUT_CAT_LONGTEXT , VLC_FALSE );
+    set_category( CAT_INPUT );
+    set_subcategory( SUBCAT_INPUT_ACCESS );
+    set_subcategory( SUBCAT_INPUT_DEMUX );
+    set_subcategory( SUBCAT_INPUT_VCODEC );
+    set_subcategory( SUBCAT_INPUT_ACODEC );
+    set_subcategory( SUBCAT_INPUT_SCODEC );
+    set_subcategory( SUBCAT_INPUT_ADVANCED );
     add_integer( "cr-average", 40, NULL, CR_AVERAGE_TEXT,
                  CR_AVERAGE_LONGTEXT, VLC_FALSE );
     add_integer( "server-port", 1234, NULL,
@@ -947,6 +963,8 @@ vlc_module_begin();
     add_string( "bookmarks", NULL, NULL,
                  BOOKMARKS_TEXT, BOOKMARKS_LONGTEXT, VLC_TRUE );
 
+    set_section( N_( "Default devices") , NULL )
+
     add_file( "dvd", DVD_DEVICE, NULL, DVD_DEV_TEXT, DVD_DEV_LONGTEXT,
               VLC_FALSE );
     add_file( "vcd", VCD_DEVICE, NULL, VCD_DEV_TEXT, VCD_DEV_LONGTEXT,
@@ -959,6 +977,7 @@ vlc_module_begin();
     add_bool( "ipv4", 0, NULL, IPV4_TEXT, IPV4_LONGTEXT, VLC_FALSE );
         change_short('4');
 
+    set_section( N_( "Socks proxy") , NULL )
     add_string( "socks", NULL, NULL,
                  SOCKS_SERVER_TEXT, SOCKS_SERVER_LONGTEXT, VLC_TRUE );
     add_string( "socks-user", NULL, NULL,
@@ -967,6 +986,7 @@ vlc_module_begin();
                  SOCKS_PASS_TEXT, SOCKS_PASS_LONGTEXT, VLC_TRUE );
 
 
+    set_section( N_("Metadata" ) , NULL )
     add_string( "meta-title", NULL, NULL, META_TITLE_TEXT,
                 META_TITLE_LONGTEXT, VLC_TRUE );
     add_string( "meta-author", NULL, NULL, META_AUTHOR_TEXT,
@@ -993,7 +1013,10 @@ vlc_module_begin();
 
 
     /* Stream output options */
+    set_category( CAT_SOUT );
+    set_subcategory( SUBCAT_SOUT_GENERAL );
     add_category_hint( N_("Stream output"), SOUT_CAT_LONGTEXT , VLC_TRUE );
+
     add_string( "sout", NULL, NULL, SOUT_TEXT, SOUT_LONGTEXT, VLC_TRUE );
     add_bool( "sout-display", VLC_FALSE, NULL, SOUT_DISPLAY_TEXT,
                                 SOUT_DISPLAY_LONGTEXT, VLC_TRUE );
@@ -1005,22 +1028,29 @@ vlc_module_begin();
                                 SOUT_AUDIO_LONGTEXT, VLC_TRUE );
     add_bool( "sout-video", 1, NULL, SOUT_VIDEO_TEXT,
                                 SOUT_VIDEO_LONGTEXT, VLC_TRUE );
+    add_integer( "ttl", 1, NULL, TTL_TEXT, TTL_LONGTEXT, VLC_TRUE );
 
-    add_module( "packetizer", "packetizer", NULL, NULL,
-                PACKETIZER_TEXT, PACKETIZER_LONGTEXT, VLC_TRUE );
+    set_subcategory( SUBCAT_SOUT_STREAM );
+    set_subcategory( SUBCAT_SOUT_MUX );
     add_module( "mux", "sout mux", NULL, NULL, MUX_TEXT,
                                 MUX_LONGTEXT, VLC_TRUE );
+    set_subcategory( SUBCAT_SOUT_ACO );
     add_module( "access_output", "sout access", NULL, NULL,
                 ACCESS_OUTPUT_TEXT, ACCESS_OUTPUT_LONGTEXT, VLC_TRUE );
-    add_integer( "ttl", 1, NULL, TTL_TEXT, TTL_LONGTEXT, VLC_TRUE );
+    set_subcategory( SUBCAT_SOUT_PACKETIZER );
+    add_module( "packetizer", "packetizer", NULL, NULL,
+                PACKETIZER_TEXT, PACKETIZER_LONGTEXT, VLC_TRUE );
 
+    set_subcategory( SUBCAT_SOUT_SAP );
     add_bool( "sap-flow-control", VLC_FALSE, NULL, ANN_SAPCTRL_TEXT,
                                ANN_SAPCTRL_LONGTEXT, VLC_TRUE );
     add_integer( "sap-interval", 5, NULL, ANN_SAPINTV_TEXT,
                                ANN_SAPINTV_LONGTEXT, VLC_TRUE );
+    set_subcategory( SUBCAT_SOUT_VOD );
 
     /* CPU options */
-    add_category_hint( N_("CPU"), CPU_CAT_LONGTEXT, VLC_TRUE );
+    set_category( CAT_ADVANCED );
+    set_subcategory( SUBCAT_ADVANCED_CPU );
 #if defined( __i386__ )
     add_bool( "mmx", 1, NULL, MMX_TEXT, MMX_LONGTEXT, VLC_TRUE );
     add_bool( "3dn", 1, NULL, THREE_DN_TEXT, THREE_DN_LONGTEXT, VLC_TRUE );
@@ -1031,22 +1061,8 @@ vlc_module_begin();
 #if defined( __powerpc__ ) || defined( SYS_DARWIN )
     add_bool( "altivec", 1, NULL, ALTIVEC_TEXT, ALTIVEC_LONGTEXT, VLC_TRUE );
 #endif
-
-    /* Playlist options */
-    add_category_hint( N_("Playlist"), PLAYLIST_CAT_LONGTEXT , VLC_FALSE );
-    add_string( "services-discovery", 0, NULL,
-                SD_TEXT, SD_LONGTEXT, VLC_FALSE );
-        change_short('S');
-    add_bool( "random", 0, NULL, RANDOM_TEXT, RANDOM_LONGTEXT, VLC_FALSE );
-        change_short('Z');
-    add_bool( "loop", 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, VLC_FALSE );
-        change_short('L');
-    add_bool( "repeat", 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, VLC_TRUE );
-        change_short('R');
-    add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, VLC_TRUE );
-
     /* Misc options */
-    add_category_hint( N_("Miscellaneous"), MISC_CAT_LONGTEXT, VLC_TRUE );
+    set_subcategory( SUBCAT_ADVANCED_MISC );
     add_module( "memcpy", "memcpy", NULL, NULL, MEMCPY_TEXT,
                 MEMCPY_LONGTEXT, VLC_TRUE );
     add_module( "access", "access", NULL, NULL, ACCESS_TEXT,
@@ -1088,7 +1104,56 @@ vlc_module_begin();
                   WIN9X_CV_LONGTEXT, VLC_TRUE );
 #endif
 
+    /* Playlist options */
+    set_category( CAT_PLAYLIST );
+    set_subcategory( SUBCAT_PLAYLIST_GENERAL );
+    add_category_hint( N_("Playlist"), PLAYLIST_CAT_LONGTEXT , VLC_FALSE );
+    add_bool( "random", 0, NULL, RANDOM_TEXT, RANDOM_LONGTEXT, VLC_FALSE );
+        change_short('Z');
+    add_bool( "loop", 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, VLC_FALSE );
+        change_short('L');
+    add_bool( "repeat", 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, VLC_TRUE );
+        change_short('R');
+    add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, VLC_TRUE );
+
+    set_subcategory( SUBCAT_PLAYLIST_SD );
+    add_module_list_cat( "services-discovery", SUBCAT_PLAYLIST_SD, NULL,
+                          NULL, SD_TEXT, SD_LONGTEXT, VLC_FALSE );
+        change_short('S');
+
+    /* Interface options */
+    set_category( CAT_INTERFACE );
+    set_subcategory( SUBCAT_INTERFACE_GENERAL );
+
+    set_section ( N_("Interface module" ), NULL );
+    add_module( "intf", "interface", NULL, NULL, INTF_TEXT,
+                INTF_LONGTEXT, VLC_FALSE );
+        change_short('I');
+
+    set_section ( N_("Extra interface modules" ),  NULL );
+    add_module_list_cat( "extraintf", SUBCAT_INTERFACE_GENERAL,
+                         NULL, NULL, EXTRAINTF_TEXT,
+                         EXTRAINTF_LONGTEXT, VLC_FALSE );
+
+    set_section ( N_("Miscellaneous"), NULL );
+    add_integer( "verbose", 0, NULL, VERBOSE_TEXT, VERBOSE_LONGTEXT,
+                 VLC_FALSE );
+        change_short('v');
+    add_bool( "quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, VLC_TRUE );
+        change_short('q');
+    add_string( "language", "auto", NULL, LANGUAGE_TEXT, LANGUAGE_LONGTEXT,
+                VLC_FALSE );
+        change_string_list( ppsz_language, ppsz_language_text, 0 );
+    add_bool( "color", 0, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE );
+    add_bool( "advanced", 0, NULL, ADVANCED_TEXT, ADVANCED_LONGTEXT,
+                    VLC_FALSE );
+
+    set_subcategory( SUBCAT_INTERFACE_CONTROL );
+    add_module_list_cat( "control", SUBCAT_INTERFACE_CONTROL, NULL, NULL,
+                         CONTROL_TEXT, CONTROL_LONGTEXT, VLC_FALSE );
+
     /* Hotkey options*/
+    set_subcategory( SUBCAT_INTERFACE_HOTKEYS );
     add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , VLC_FALSE );
 
 #if defined(SYS_DARWIN)
index 7ecb49c30b8459e0b74e232b6cd461c9b69e7ff5..1d1f7771065008e1d354974d8ca1621434afe6bd 100644 (file)
@@ -203,6 +203,8 @@ char * __config_GetPsz( vlc_object_t *p_this, const char *psz_name )
     if( (p_config->i_type!=CONFIG_ITEM_STRING) &&
         (p_config->i_type!=CONFIG_ITEM_FILE) &&
         (p_config->i_type!=CONFIG_ITEM_DIRECTORY) &&
+        (p_config->i_type!=CONFIG_ITEM_MODULE_LIST) &&
+        (p_config->i_type!=CONFIG_ITEM_MODULE_LIST_CAT) &&
         (p_config->i_type!=CONFIG_ITEM_MODULE) )
     {
         msg_Err( p_this, "option %s does not refer to a string", psz_name );
@@ -241,6 +243,8 @@ void __config_PutPsz( vlc_object_t *p_this,
     if( (p_config->i_type!=CONFIG_ITEM_STRING) &&
         (p_config->i_type!=CONFIG_ITEM_FILE) &&
         (p_config->i_type!=CONFIG_ITEM_DIRECTORY) &&
+        (p_config->i_type!=CONFIG_ITEM_MODULE_LIST) &&
+        (p_config->i_type!=CONFIG_ITEM_MODULE_LIST_CAT) &&
         (p_config->i_type!=CONFIG_ITEM_MODULE) )
     {
         msg_Err( p_this, "option %s does not refer to a string", psz_name );
index c76a2222178b88605b6a1581f6f75d05a143abda..d7122d85a9b72468171f06114ee3651aba53fd8a 100644 (file)
@@ -353,7 +353,7 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent,
         /* continue the parent's filter chain */
         char *psz_end;
 
-        psz_end = strchr( ((vout_thread_t *)p_parent)->psz_filter_chain, ':' );
+        psz_end = strchr( ((vout_thread_t *)p_parent)->psz_filter_chain, ',' );
         if( psz_end && *(psz_end+1) )
             p_vout->psz_filter_chain = strdup( psz_end+1 );
         else p_vout->psz_filter_chain = NULL;
@@ -372,7 +372,7 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent,
          * colons */
         char *psz_end;
 
-        psz_end = strchr( p_vout->psz_filter_chain, ':' );
+        psz_end = strchr( p_vout->psz_filter_chain, ',' );
         if( psz_end )
             psz_plugin = strndup( p_vout->psz_filter_chain,
                                   psz_end - p_vout->psz_filter_chain );