diff options
-rw-r--r-- | config.c | 4 | ||||
-rw-r--r-- | config.h | 12 | ||||
-rw-r--r-- | menu.c | 36 | ||||
-rw-r--r-- | setup_menu.c | 18 |
4 files changed, 52 insertions, 18 deletions
@@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: config.c,v 1.85 2009-08-19 13:12:10 phintuka Exp $ + * $Id: config.c,v 1.86 2009-10-25 12:56:11 phintuka Exp $ * */ @@ -668,6 +668,7 @@ config_t::config_t() { cache_implicit_playlists = 1; enable_id3_scanner = 1; dvd_arrow_keys_control_playback = 1; + media_menu_items = ~0; main_menu_mode = ShowMenu; force_primary_device = 0; @@ -923,6 +924,7 @@ bool config_t::SetupParse(const char *Name, const char *Value) else if (!strcasecmp(Name, "Media.CacheImplicitPlaylists")) cache_implicit_playlists = atoi(Value); else if (!strcasecmp(Name, "Media.EnableID3Scanner")) enable_id3_scanner = atoi(Value); else if (!strcasecmp(Name, "Media.DVD.ArrowKeysControlPlayback")) dvd_arrow_keys_control_playback = atoi(Value); + else if (!strcasecmp(Name, "Media.MenuItems")) media_menu_items = atoi(Value); else if (!strcasecmp(Name, "Playlist.Tracknumber")) playlist_tracknumber = atoi(Value); else if (!strcasecmp(Name, "Playlist.Artist")) playlist_artist = atoi(Value); @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: config.h,v 1.64 2009-08-19 13:12:10 phintuka Exp $ + * $Id: config.h,v 1.65 2009-10-25 12:56:11 phintuka Exp $ * */ @@ -166,6 +166,15 @@ #define OSD_SIZE_custom 4 #define OSD_SIZE_count 5 +// Media player menu (bitmask) +#define MEDIA_MENU_FILES (1<<0) +#define MEDIA_MENU_MUSIC (1<<1) +#define MEDIA_MENU_IMAGES (1<<2) +#define MEDIA_MENU_DVD (1<<3) +#define MEDIA_MENU_CD (1<<4) +#define MEDIA_MENU_VIDEO_SETUP (1<<6) +#define MEDIA_MENU_AUDIO_SETUP (1<<7) + // Video decoder #define DECODER_MPEG2_auto 0 /* use value from frontend config_xineliboutput */ #define DECODER_MPEG2_LIBMPEG2 1 @@ -318,6 +327,7 @@ class config_t { int playlist_artist; int playlist_album; int dvd_arrow_keys_control_playback; + uint media_menu_items; // enabled items in media player menu (bitmask) // Audio visualization char audio_visualization[64]; @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: menu.c,v 1.68 2009-08-03 12:40:09 phintuka Exp $ + * $Id: menu.c,v 1.69 2009-10-25 12:56:11 phintuka Exp $ * */ @@ -518,17 +518,26 @@ cMenuXinelib::cMenuXinelib() novideo = cXinelibDevice::Instance().GetPlayMode() == pmAudioOnlyBlack ? 1 : 0; Add(NewTitle(tr("Media"))); - Add(new cOsdItem(tr("Play file >>"), osUser1)); - Add(new cOsdItem(tr("Play music >>"), osUser2)); - Add(new cOsdItem(tr("View images >>"), osUser3)); - if(xc.remote_mode) - Add(new cOsdItem(tr("Play remote DVD >>"), osUser4)); - else - Add(new cOsdItem(tr("Play DVD disc >>"), osUser4)); - if(xc.remote_mode) - Add(new cOsdItem(tr("Play remote CD >>"), osUser6)); - else - Add(new cOsdItem(tr("Play audio CD >>"), osUser6)); + if (xc.media_menu_items & MEDIA_MENU_FILES) + Add(new cOsdItem(tr("Play file >>"), osUser1)); + if (xc.media_menu_items & MEDIA_MENU_MUSIC) + Add(new cOsdItem(tr("Play music >>"), osUser2)); + if (xc.media_menu_items & MEDIA_MENU_IMAGES) + Add(new cOsdItem(tr("View images >>"), osUser3)); + if (xc.media_menu_items & MEDIA_MENU_DVD) { + if(xc.remote_mode) + Add(new cOsdItem(tr("Play remote DVD >>"), osUser4)); + else + Add(new cOsdItem(tr("Play DVD disc >>"), osUser4)); + } + if (xc.media_menu_items & MEDIA_MENU_CD) { + if(xc.remote_mode) + Add(new cOsdItem(tr("Play remote CD >>"), osUser6)); + else + Add(new cOsdItem(tr("Play audio CD >>"), osUser6)); + } + + if (xc.media_menu_items & MEDIA_MENU_VIDEO_SETUP) { Add(NewTitle(tr("Video settings"))); Add(ctrl_novideo = new cMenuEditBoolItem(tr("Play only audio"), &novideo)); @@ -541,7 +550,9 @@ cMenuXinelib::cMenuXinelib() Add(video_ctrl_interlace_order = new cMenuEditStraI18nItem(tr("Interlaced Field Order"), &field_order, 2, xc.s_fieldOrder)); #endif + } + if (xc.media_menu_items & MEDIA_MENU_AUDIO_SETUP) { Add(NewTitle(tr("Audio settings"))); #ifdef ENABLE_TEST_POSTPLUGINS Add(ctrl_headphone = new cMenuEditBoolItem(tr("Headphone audio mode"), @@ -554,6 +565,7 @@ cMenuXinelib::cMenuXinelib() &compression, 100, 500, NULL, tr("Off"))); Add(new cOsdItem(tr("Audio equalizer >>"), osUser7)); + } switch(xc.main_menu_mode) { case ShowFiles: AddSubMenu(new cMenuBrowseFiles(ShowFiles)); break; diff --git a/setup_menu.c b/setup_menu.c index ed962003..426dc31b 100644 --- a/setup_menu.c +++ b/setup_menu.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: setup_menu.c,v 1.71 2009-08-07 12:29:31 phintuka Exp $ + * $Id: setup_menu.c,v 1.72 2009-10-25 12:56:11 phintuka Exp $ * */ @@ -1675,27 +1675,37 @@ void cMenuSetupMediaPlayer::Set(void) Add(new cMenuEditBoolItem(tr("Arrow keys control DVD playback"), &newconfig.dvd_arrow_keys_control_playback)); + Add(NewTitle(tr("Media Player"))); + Add(new cMenuEditBitItem(tr("Play file >>"), &newconfig.media_menu_items, MEDIA_MENU_FILES)); + Add(new cMenuEditBitItem(tr("Play music >>"), &newconfig.media_menu_items, MEDIA_MENU_MUSIC)); + Add(new cMenuEditBitItem(tr("View images >>"), &newconfig.media_menu_items, MEDIA_MENU_IMAGES)); + Add(new cMenuEditBitItem(tr("Play DVD disc >>"), &newconfig.media_menu_items, MEDIA_MENU_DVD)); + Add(new cMenuEditBitItem(tr("Play audio CD >>"), &newconfig.media_menu_items, MEDIA_MENU_CD)); + Add(new cMenuEditBitItem(tr("Video settings"), &newconfig.media_menu_items, MEDIA_MENU_VIDEO_SETUP)); + Add(new cMenuEditBitItem(tr("Audio settings"), &newconfig.media_menu_items, MEDIA_MENU_AUDIO_SETUP)); + if(current<1) current=1; /* first item is not selectable */ SetCurrent(Get(current)); Display(); } eOSState cMenuSetupMediaPlayer::ProcessKey(eKeys Key) -{ +{ eOSState state = cMenuSetupPage::ProcessKey(Key); return state; } void cMenuSetupMediaPlayer::Store(void) -{ +{ memcpy(&xc, &newconfig, sizeof(config_t)); - + SetupStore("Playlist.Tracknumber", xc.playlist_tracknumber); SetupStore("Playlist.Album", xc.playlist_album); SetupStore("Playlist.Artist", xc.playlist_artist); SetupStore("Media.CacheImplicitPlaylists", xc.cache_implicit_playlists); SetupStore("Media.EnableID3Scanner", xc.enable_id3_scanner); SetupStore("Media.DVD.ArrowKeysControlPlayback", xc.dvd_arrow_keys_control_playback); + SetupStore("Media.MenuItems", xc.media_menu_items); Setup.Save(); } |