Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Разработка > Поддержка локальной разработки модулей

Ответ
 
Опции темы Опции просмотра
Старый 23.10.2010, 15:35   #1
P_Igorek
Senior Member
 
Регистрация: 17.10.2010
Сообщений: 112
По умолчанию Модуль для Музыки - помогите создать

Как известно, в XBMC нет поддержки резюме для музыки - очень не хватает.

Идея:
Когда пользователь нажимает "Играть" на папке создаётся рекурсивный плейлист по файлам. Мы делаем его хэш и смотрим есть ли файл с таким именем в папке, если нет - то играем как обычно, сначала. Если есть, то считываем из него номер файла и позицию - спрашиваем у пользователя о продолжении и тд.
Когда говорят музыке "Стоп" мы запоминаем в файле номер в плейлисте и позицию в файле.

Вопросы:
1 - Если я вызову скрипт по кнопке, как мне узнать из какой папке мне предлагают играть?
2 - Могу я "повесить" вызов скрипта на события "Старт игра"/"Стоп игра" и как мне узнать при этом плейлист, файл и позицию?

И самый главный вопрос, может кто лучше меня знает как писать такой дополнений и напишет его, а уж размеры границ, как известно, не знают благодарности в пределах разумного.

С уважением, Игорек.
P_Igorek вне форума   Ответить с цитированием
   
Старый 31.10.2010, 14:46   #2
P_Igorek
Senior Member
 
Регистрация: 17.10.2010
Сообщений: 112
По умолчанию

Я так понимаю, скриптом эту ошибку не поправить...

Может кто за соответствующие вознаграждение поправит код продукта для тог чтобы реализовать недостающую возможность?

Готов подсказать алгоритм и про финансировать проект. Кто знает как данная программа работает и умеет её собирать из исходников? Скооперируемся?
P_Igorek вне форума   Ответить с цитированием
Старый 31.10.2010, 15:56   #3
P_Igorek
Senior Member
 
Регистрация: 17.10.2010
Сообщений: 112
По умолчанию

Все настолько элементарно....

В файле GUIWindowMusicBase.cpp в функцию: void CGUIWindowMusicBase::PlayItem(int iItem)

Где то в середину вот этого кода:

CFileItemList queuedItems;
AddItemToPlayList(item, queuedItems);
if (g_partyModeManager.IsEnabled())
{
g_partyModeManager.AddUserSongs(queuedItems, true);
return;
}

/*
CStdString strPlayListDirectory = m_vecItems->m_strPath;
CUtil::RemoveSlashAtEnd(strPlayListDirectory);
*/

g_playlistPlayer.ClearPlaylist(PLAYLIST_MUSIC);
g_playlistPlayer.Reset();
g_playlistPlayer.Add(PLAYLIST_MUSIC, queuedItems);
g_playlistPlayer.SetCurrentPlaylist(PLAYLIST_MUSIC );

(Если, конечно он не сильно отличается от новых версий)
Добавить следующий алгоритм:

1 - получить у плеера список файлов который он играет. - сделать по нему хеш
2 - сформировать список файлов по папке - сделать по нему хеш
3 - если списки одинаковые
3.1 - если плеер стоит на паузе - сказать плееру играть и выйти
3.2 - если плеер уже играет - сказать плееру пауза и выйти
4 - если списки разные
4.1 - есть ли файл с именем хеш на диске
4.1.1 - считать из него номер трека и позицию
4.1.2 - запустить список на воспроизведение
4.1.3 - перейти на нужный файл и нужную позицию
4.2 - если нет просто начать играть список сначала

5 - в коде плеера, там где ему говорят стоп, сбросить плей лист, резет и т д. - сохранить в файле с именем хеша от плейлиста номер трека и позицию в файле

6 - в настройках музыки добавить опцию по включению отклюению данной опции

7 - и наконец самое глвное - убедить разработчиков по включении данного патча в проект

Игоре
P_Igorek вне форума   Ответить с цитированием
Старый 31.10.2010, 18:25   #4
seppius
Senior Member
 
Регистрация: 26.01.2010
Адрес: Растворился
Сообщений: 1,282
По умолчанию

Успехов Вам, в расширении возможностей АПИ ХВМС!
Надо бы еще прикрутить регистрацию функция для обработки прерывания типа: перемотка, окончание воспроизведения, начало воспроизведения, перемотка, смена субтитров, громкости и тд...
В некоторых злачных ресурсах, типа турбофильма требуется перегенерация URL при перемотке.
Есть еще куча проблем
seppius вне форума   Ответить с цитированием
Старый 31.10.2010, 18:34   #5
P_Igorek
Senior Member
 
Регистрация: 17.10.2010
Сообщений: 112
По умолчанию

На сайте нет программистов компилирующих XBMC, который бы сделал эту фичу за деньги?
P_Igorek вне форума   Ответить с цитированием
Старый 10.11.2010, 14:17   #6
P_Igorek
Senior Member
 
Регистрация: 17.10.2010
Сообщений: 112
По умолчанию

Похоже что нет, а жаль....
P_Igorek вне форума   Ответить с цитированием
Ответ
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Музыкальная коллекция Proxyr Поддержка платформы Windows 9 27.02.2011 19:10


Текущее время: 17:48. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.