2 /***************************************************************************
4 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
5 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
6 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
7 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
11 * Copyright (C) 2007 Jonathan Gordon
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
18 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 * KIND, either express or implied.
21 ****************************************************************************/
32 #include "playlist_menu.h"
39 #include "playlist_viewer.h"
41 #include "playlist_catalog.h"
43 int save_playlist_screen(struct playlist_info
* playlist
)
45 char temp
[MAX_PATH
+1];
48 playlist_get_name(playlist
, temp
, sizeof(temp
));
51 if (len
> 4 && !strcasecmp(&temp
[len
-4], ".m3u"))
54 if (len
<= 5 || strcasecmp(&temp
[len
-5], ".m3u8"))
55 strcpy(temp
, DEFAULT_DYNAMIC_PLAYLIST_NAME
);
57 if (!kbd_input(temp
, sizeof(temp
)))
59 playlist_save(playlist
, temp
);
61 /* reload in case playlist was saved to cwd */
67 MENUITEM_FUNCTION(create_playlist_item
, 0, ID2P(LANG_CREATE_PLAYLIST
),
68 (int(*)(void))create_playlist
, NULL
, NULL
, Icon_NOICON
);
69 MENUITEM_FUNCTION(view_playlist
, 0, ID2P(LANG_VIEW_DYNAMIC_PLAYLIST
),
70 (int(*)(void))playlist_viewer
, NULL
, NULL
, Icon_NOICON
);
71 MENUITEM_FUNCTION(save_playlist
, MENU_FUNC_USEPARAM
, ID2P(LANG_SAVE_DYNAMIC_PLAYLIST
),
72 (int(*)(void*))save_playlist_screen
,
73 NULL
, NULL
, Icon_NOICON
);
74 MENUITEM_FUNCTION(catalog
, 0, ID2P(LANG_CATALOG_VIEW
),
75 (int(*)(void))catalog_view_playlists
,
76 NULL
, NULL
, Icon_NOICON
);
77 MENUITEM_SETTING(recursive_dir_insert
, &global_settings
.recursive_dir_insert
, NULL
);
78 MENUITEM_SETTING(warn_on_erase
, &global_settings
.warnon_erase_dynplaylist
, NULL
);
80 MAKE_MENU(playlist_settings
, ID2P(LANG_PLAYLISTS
), NULL
,
82 &recursive_dir_insert
, &warn_on_erase
);
83 MAKE_MENU(playlist_options
, ID2P(LANG_PLAYLISTS
), NULL
,
85 &create_playlist_item
, &view_playlist
, &save_playlist
, &catalog
);