[EDIT]
- Sorry, I've just done it.
But I'm not sure if I've done it right
Here's the code I use:CODEuGetOpenFileNameMultiResult * result;
result = uGetOpenFileNameMulti(wnd, filter, 0, "fpl", "Load playlist...", "");
if (result) {
unsigned n, m=result->GetCount();
for (n=0; n<m; n++) {
const char * fn = result->GetFileName(n);
abort_callback_impl abort;
playlist_loader_callback_impl playlist_data(abort);
try {
playlist_loader::g_load_playlist(fn, playlist_data);
pfc::string8 tempname = pfc::string_filename(fn);
static_api_ptr_t< playlist_manager > pm;
t_size playlist = pm->create_playlist(tempname, infinite, infinite);
bit_array_bittable mask(playlist_data.get_count());
pm->playlist_add_items(playlist, playlist_data.get_data(), mask);
} catch (const exception_io &) { /* o_O */ }
catch (const exception_service_not_found &) { /* o_0 */ };
}
delete result;
}
Should I do something with catched "exception_io", or should I catch more exceptions? What exactly is bit_array &p_selection for? (in playlist_add_items()).
Now I'm trying to save playlist:CODEtry {
static_api_ptr_t< playlist_manager > pm;
metadb_handle_list temp;
pm->playlist_get_all_items(current_playlist, temp);
menu_helpers::run_command_context(standard_commands::guid_context_save_playlist, standard_commands::guid_context_save_playlist, temp);
} catch (const exception_service_not_found &) { /* o_0 */ }
It doesn't work... Probably (=certainly) because I don't know what should be the 2nd parameter (GUID &p_subcommand) when I execute run_command_context().
