Как получить список файлов в текущем плейлисте?

Список разделов foobar2000 Плагины SDK

Описание: Разработка плагинов для foobar2000 с использованием SDK.

Сообщение #1 P_Igorek » 06.01.2009, 19:26

Собственно, как получить список файлов в текущем плейлесте (в очереди воспроизведения). Какое API для этого можно использовать?

P_Igorek
P_Igorek
Автор темы
Репутация: 0
С нами: 15 лет 2 месяца

Сообщение #2 skipyrich » 06.01.2009, 19:32

Код: Выделить всё
class enum_items_cb : public playlist_manager::enum_items_callback
{
public:
   //! @returns True to continue enumeration, false to abort.
   bool on_item(t_size p_index,const metadb_handle_ptr & p_location,bool b_selected){
      sstring8 path(p_location->get_path());
      return true;
   }
};

static_api_ptr_t<playlist_manager> pm;
t_size idx = pm->get_active_playlist();
enum_items_cb cb;
pm->playlist_enum_items(idx, cb, bit_array_true());

типа того.
skipyrich M
Откуда: Москва
Репутация: 11
С нами: 17 лет 10 месяцев

Сообщение #3 P_Igorek » 06.01.2009, 20:03

Спасибо.

А еше не подскажите, как получить номер текущего проигрываемого файла в плейлисте?

и как начать воспроизводить определённый номер в плелисте???
Последний раз редактировалось P_Igorek 06.01.2009, 20:34, всего редактировалось 1 раз.
P_Igorek
Автор темы
Репутация: 0
С нами: 15 лет 2 месяца

Сообщение #4 skipyrich » 06.01.2009, 21:13

P_Igorek:как получить номер текущего проигрываемого файла в плейлисте?
//! Retrieves playlist position of currently playing item.
//! @param p_playlist Receives index of playlist containing currently playing item on success.
//! @param p_index Receives index of currently playing item in the playlist that contains it on success.
//! @returns True on success, false on failure (not playing or currently played item has been removed from the playlist it was on when starting).

virtual bool playlist_manager::get_playing_item_location(t_size * p_playlist,t_size * p_index) = 0;

P_Igorek:как начать воспроизводить определённый номер в плелисте?
не знаю, не было необходимости :)
можно понадеяться на то, что стандартное действие по даблклику не переназначили и вызвать
playlist_manager::playlist_execute_default_action
но это не есть правильно...
skipyrich M
Откуда: Москва
Репутация: 11
С нами: 17 лет 10 месяцев

Сообщение #5 P_Igorek » 07.01.2009, 12:36

skipyrich:
можно понадеяться на то, что стандартное действие по даблклику не переназначили и вызвать
playlist_manager::playlist_execute_default_action
но это не есть правильно...

Да это срабатывает.

Но почему нельзя было в SDK добавить playlist_manager::playlist_play_item( t_size item )??? Вроде как вполне логичная функция для управления.
P_Igorek
Автор темы
Репутация: 0
С нами: 15 лет 2 месяца


Вернуться в SDK