X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess%2Fcdda%2Fcdda.c;h=9bbcc29217205ba76af48b789db6e5d6f600658c;hb=5e15258c9ef28558fe2abc941fc1527e02b04c21;hp=7d67c1641d14bf871b7fdbe29d41fbab66ed2c45;hpb=9fbb4ad37dfddc9468c629115fa0bf35f0723fe3;p=vlc diff --git a/modules/access/cdda/cdda.c b/modules/access/cdda/cdda.c index 7d67c1641d..9bbcc29217 100644 --- a/modules/access/cdda/cdda.c +++ b/modules/access/cdda/cdda.c @@ -1,7 +1,7 @@ /***************************************************************************** * cdda.c : CD digital audio input module for vlc using libcdio ***************************************************************************** - * Copyright (C) 2000, 2003, 2004 VideoLAN + * Copyright (C) 2000, 2003, 2004, 2005 the VideoLAN team * $Id$ * * Authors: Rocky Bernstein @@ -18,7 +18,7 @@ * * 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. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ /***************************************************************************** @@ -27,6 +27,8 @@ #include "callback.h" #include "access.h" +#include +#include /***************************************************************************** * Module descriptor @@ -36,6 +38,12 @@ * Option help text *****************************************************************************/ +#if LIBCDIO_VERSION_NUM >= 72 +static const char *const psz_paranoia_list[] = { "none", "overlap", "full" }; +static const char *const psz_paranoia_list_text[] = { N_("none"), N_("overlap"), + N_("full") }; +#endif + #define DEBUG_LONGTEXT N_( \ "This integer when viewed in binary is a debugging mask\n" \ "meta info 1\n" \ @@ -49,11 +57,11 @@ "libcddb (0x100) 256\n" ) #define CACHING_LONGTEXT N_( \ - "Allows you to modify the default caching value for CDDA streams. This " \ + "Caching value for CDDA streams. This " \ "value should be set in millisecond units." ) #define BLOCKS_PER_READ_LONGTEXT N_( \ - "Allows you to specify how many CD blocks to get on a single CD read. " \ + "How many CD blocks to get on a single CD read. " \ "Generally on newer/faster CDs, this increases throughput at the " \ "expense of a little more memory usage and initial delay. SCSI-MMC " \ "limitations generally don't allow for more than 25 blocks per access.") @@ -72,7 +80,8 @@ " %n : The number of tracks on the CD\n" \ " %p : The artist/performer/composer in the track\n" \ " %T : The track number\n" \ -" %s : Number of seconds in this track \n" \ +" %s : Number of seconds in this track\n" \ +" %S : Number of seconds in the CD\n" \ " %t : The track title or MRL if no title\n" \ " %Y : The year 19xx or 20xx\n" \ " %% : a % \n") @@ -84,107 +93,139 @@ " %m : The CD-DA Media Catalog Number (MCN)\n" \ " %n : The number of tracks on the CD\n" \ " %T : The track number\n" \ -" %s : Number of seconds in this track \n" \ +" %s : Number of seconds in this track\n" \ +" %S : Number of seconds in the CD\n" \ " %t : The track title or MRL if no title\n" \ " %% : a % \n") +#define PARANOIA_TEXT N_("Enable CD paranoia?") +#define PARANOIA_LONGTEXT N_( \ + "Select whether to use CD Paranoia for jitter/error correction.\n" \ + "none: no paranoia - fastest.\n" \ + "overlap: do only overlap detection - not generally recommended.\n" \ + "full: complete jitter and error correction detection - slowest.\n" ) + /***************************************************************************** * Module descriptor *****************************************************************************/ vlc_module_begin(); add_usage_hint( N_("cddax://[device-or-file][@[T]track]") ); - set_description( _("Compact Disc Digital Audio (CD-DA) input") ); - set_capability( "access2", 10 /* compare with priority of cdda */ ); - set_callbacks( E_(CDDAOpen), E_(CDDAClose) ); + set_description( N_("Compact Disc Digital Audio (CD-DA) input") ); + set_capability( "access", 10 /* compare with priority of cdda */ ); + set_shortname( N_("Audio Compact Disc")); + set_callbacks( CDDAOpen, 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), - N_("If nonzero, this gives additional debug information."), - DEBUG_LONGTEXT, VLC_TRUE ); + add_integer ( MODULE_STRING "-debug", 0, CDDADebugCB, + N_("Additional debug"), + DEBUG_LONGTEXT, true ); add_integer( MODULE_STRING "-caching", DEFAULT_PTS_DELAY / MILLISECONDS_PER_SEC, NULL, N_("Caching value in microseconds"), - CACHING_LONGTEXT, VLC_TRUE ); + CACHING_LONGTEXT, true ); add_integer( MODULE_STRING "-blocks-per-read", - DEFAULT_BLOCKS_PER_READ, E_(CDDABlocksPerReadCB), + DEFAULT_BLOCKS_PER_READ, CDDABlocksPerReadCB, N_("Number of blocks per CD read"), - BLOCKS_PER_READ_LONGTEXT, VLC_TRUE ); - - add_string( MODULE_STRING "-author-format", - "%A - %a %C %I", NULL, - N_("Format to use in playlist \"author\" field"), - TITLE_FMT_LONGTEXT, VLC_TRUE ); + BLOCKS_PER_READ_LONGTEXT, true ); add_string( MODULE_STRING "-title-format", "Track %T. %t", NULL, N_("Format to use in playlist \"title\" field when no CDDB"), - TITLE_FMT_LONGTEXT, VLC_TRUE ); + TITLE_FMT_LONGTEXT, true ); + +#if LIBCDIO_VERSION_NUM >= 73 + add_bool( MODULE_STRING "-analog-output", false, NULL, + N_("Use CD audio controls and output?"), + N_("If set, audio controls and audio jack output are used"), + false ); +#endif + + add_bool( MODULE_STRING "-cdtext-enabled", true, CDTextEnabledCB, + N_("Do CD-Text lookups?"), + N_("If set, get CD-Text information"), + false ); + + add_bool( MODULE_STRING "-navigation-mode", true, +#if FIXED + CDDANavModeCB, +#else + NULL, +#endif + N_("Use Navigation-style playback?"), + N_("Tracks are navigated via Navagation rather than " + "a playlist entries"), + false ); + +#if LIBCDIO_VERSION_NUM >= 72 + add_string( MODULE_STRING "-paranoia", NULL, NULL, + PARANOIA_TEXT, + PARANOIA_LONGTEXT, + false ); + change_string_list( psz_paranoia_list, psz_paranoia_list_text, 0 ); +#endif /* LIBCDIO_VERSION_NUM >= 72 */ #ifdef HAVE_LIBCDDB + set_section( N_("CDDB" ), 0 ); add_string( MODULE_STRING "-cddb-title-format", - "Track %T. %t - %p", NULL, + "Track %T. %t - %p %A", NULL, N_("Format to use in playlist \"title\" field when using CDDB"), - CDDB_TITLE_FMT_LONGTEXT, VLC_TRUE ); + CDDB_TITLE_FMT_LONGTEXT, true ); - add_bool( MODULE_STRING "-cddb-enabled", 1, E_(CDDBEnabledCB), - N_("Do CDDB lookups?"), + add_bool( MODULE_STRING "-cddb-enabled", true, CDDBEnabledCB, + N_("CDDB lookups"), N_("If set, lookup CD-DA track information using the CDDB " "protocol"), - VLC_FALSE ); + false ); add_string( MODULE_STRING "-cddb-server", "freedb.freedb.org", NULL, N_("CDDB server"), N_( "Contact this CDDB server look up CD-DA information"), - VLC_TRUE ); + true ); add_integer( MODULE_STRING "-cddb-port", 8880, NULL, N_("CDDB server port"), N_("CDDB server uses this port number to communicate on"), - VLC_TRUE ); + true ); add_string( MODULE_STRING "-cddb-email", "me@home", NULL, N_("email address reported to CDDB server"), N_("email address reported to CDDB server"), - VLC_TRUE ); + true ); - add_bool( MODULE_STRING "-cddb-enable-cache", VLC_TRUE, NULL, + add_bool( MODULE_STRING "-cddb-enable-cache", true, NULL, N_("Cache CDDB lookups?"), N_("If set cache CDDB information about this CD"), - VLC_FALSE ); + false ); - add_bool( MODULE_STRING "-cddb-httpd", VLC_FALSE, NULL, + add_bool( MODULE_STRING "-cddb-httpd", false, NULL, N_("Contact CDDB via the HTTP protocol?"), N_("If set, the CDDB server gets information via the CDDB HTTP " "protocol"), - VLC_TRUE ); + true ); add_integer( MODULE_STRING "-cddb-timeout", 10, NULL, N_("CDDB server timeout"), N_("Time (in seconds) to wait for a response from the " "CDDB server"), - VLC_FALSE ); + false ); add_string( MODULE_STRING "-cddb-cachedir", "~/.cddbslave", NULL, N_("Directory to cache CDDB requests"), N_("Directory to cache CDDB requests"), - VLC_TRUE ); + true ); - add_bool( MODULE_STRING "-cdtext-prefer", VLC_TRUE, E_(CDTextPreferCB), + add_bool( MODULE_STRING "-cdtext-prefer", true, CDTextPreferCB, N_("Prefer CD-Text info to CDDB info?"), N_("If set, CD-Text information will be preferred " - "to CDDB information when both are available"), - VLC_FALSE ); - -#endif - - add_bool( MODULE_STRING "-cdtext-enabled", VLC_TRUE, E_(CDTextEnabledCB), - N_("Do CD-Text lookups?"), - N_("If set, get CD-Text information"), - VLC_FALSE ); + "to CDDB information when both are available"), + false ); +#endif /*HAVE_LIBCDDB*/ vlc_module_end();