PDA

Просмотр полной версии : Аудиомодуль для RideRunner с поддержкой Foobar2000


Alex_St
24.10.2010, 20:39
Привет всем.
Стартовал проект по внедрению в RideRunner корректной поддержки плеера Foobar2000. На данный момент уже имеется работоспособный аудиомодуль, хоть и с неполной функциональностью.
Что имеется:
+ корректно воспроизводятся лосслесс файлы с .cue списками.
+ Все управление плейлистами отдано фубару, который это делает лучше, чем РР.

Чего не реализовано:
- нет поддержки эквалайзера (да и не знаю зачем он с лосслесс )
- нет поддержки визуализаций.
На данный момент не вижу необходимости в этих фичах. Если нужна будет - попробуем сделать.
У кого есть желание потестить - стучитесь в личку - скину.
Как будет оттестированный вариант - выложим тут.

Mshu-Shu
30.12.2010, 13:40
Ну так что, есть оттестированный вариант? ;)

Alex_St
30.12.2010, 13:45
Ну так что, есть оттестированный вариант? ;)

У меня работает. Но пока мало человек его у себя ставило...
Если интересно - стучись в аську 307342375 - поставим тебе. Будешь тоже тестировать )

St@rz
30.12.2010, 19:56
Я тестировал. У меня отлично заработал. Рекомендую. :yes4:
Спасибо Alex_St.

lyskovm
30.03.2011, 13:53
Добрый день. Это модуль ComServer для Foobar или что-то другое. Дайте ссылочку пожалуйста. А то c этим http://www.compcar.ru/forum/showthread.php?t=4746 .cue списки не корректно у меня работают

Alex_St
30.03.2011, 14:12
Это альтернативный аудиомодуль к RR, который обращается к фубару через ComServer. Подключается вместо родного foobarr.dll в поставке RR.
Скоро постараюсь выложить, как будет минутка.

lyskovm
12.04.2011, 12:36
Спасибо огромное Alex_St. Всё заработало с первого раза как часы. И воспроизведение начинается с того же места где выключил компьютер, и que работает корректно.
Единственный минус который я заметил, это - выскакивание окна фубара на передний план при добавлении новой музыки в RR. (Может только у меня так? Галка hide player стоит)

Alex_St
12.04.2011, 13:45
История продолжается!
Наконец-то победил запуск фубара после некорректного завершения. Теперь при запуске фубара не появляется сообщение о том, что он завершен некорректно. И система замечательно запускается после вылета.
Думаю, теперь можно выкладывать плагин в свет.
Архив с плагином можно скачать тут (http://i-node.homeip.net/Alex/Foobar/FobarRR.rar).

Итак, что надо для того, чтобы поставить плагин вместо родного:
1. Нужен установленный и настроенный RideRunner. Я использую версию от октября 2010года. Возможно, в более свежих версиях поменялся интерфейс работы с плагином. В этом случае работать плагин не будет. Но может и не поменялся. Не пробовал ).
2. Установленный и настроенный по своему вкусу Foobar2000. Думаю, версия не имеет значения. Я у себя использую версию 1.03.
3. Установленный и запущенный Comserver для Foobar. Именно через него происходит общение RideRunner и Foobar2000. Для того, чтобы проверить работает ли комсервер - нужно зайти в Foobar->Library->Configure->Tools->ComAutomationServer. В правой части будут видны два статуса. Оба должны иметь значение Running.
4. Настроить RR для использования фубара. Для этого в конфигураторе (RRConfig) в разделе Music->PlayerSetup выбираем PlayerApp = Foobar2000(Manual), прописываем правильный путь к фубару. Галочка Hide должна стоять. После этого перезапускаем RideRunner, и проверяем работоспособность фубара. Если все работает - идем к следующему пункту. Если нет - ищем в чем проблема.
5. Распаковываем содержимое архива в любую папку. Как правило это папка AudPlayers в папке RideRunner'а.
6. Запускаем файл RegisterFooBarRR.cmd. Он зарегистрирует новый плагин в системе. RR при этом не должен быть запущен! С этого момента RideRunner будет искать плагин фубара тут. В результате должен появиться файл FoobarRR.tlb. Это говорит что регистрация скорее всего прошла успешно.
7. Запускаем RR. Если все хорошо - то RR должен подхватить именно наш плагин. Если это так - то в папке AudPlayers в папке RideRunner'а должен появиться файл лога testFoobar.txt. Если он не появился - значит скорее всего плагин не заработал.
8. Проверяем работоспособность связки RR-Plugin-Foobar2000.

Примечания:
1. Данный плагин протестирован только в системе WindowsXP. В других системах плагин не тестирован. Потенциально может работать под семеркой. Но скорее всего там нужны танцы с бубнами для обеспечения нужных прав.
2. Автор не несет ответственности за какие-либо проблемы. Запуск плагина производится на свой страх и риск ;).

Alex_St
12.04.2011, 13:47
Спасибо огромное Alex_St. Всё заработало с первого раза как часы. И воспроизведение начинается с того же места где выключил компьютер, и que работает корректно.
Единственный минус который я заметил, это - выскакивание окна фубара на передний план при добавлении новой музыки в RR. (Может только у меня так? Галка hide player стоит)

Нет, это так и должно быть.
В принципе - можно это убрать. Но я пока решил оставить так как есть, чтобы быть уверенным что плейлист загружен.
Если это существенно раздражает - могу убрать ;)

lyskovm
12.04.2011, 13:49
В финальной версии, наверное, стоило бы убрать.

Pinin
04.06.2012, 14:06
Странно: в "Семерке" у меня все заработало с пол-пинка (сервер только пришлось доставить), а под ХР`шкой - такое ощущение, что сам foobar не зацепился. :dntknw:
Пункты с 1 по 4 выполнены успешно, за исключением "проверяем работоспособность фубара". Не работает он походу... Ну и запуск RegisterFooBarRR.cmd выдает:

В чем может быть трабла, спецы, подскажите (этим плеером раньше не пользовался никогда)...

Alex_St
04.06.2012, 16:20
Странно: в "Семерке" у меня все заработало с пол-пинка (сервер только пришлось доставить), а под ХР`шкой - такое ощущение, что сам foobar не зацепился. :dntknw:
Пункты с 1 по 4 выполнены успешно, за исключением "проверяем работоспособность фубара". Не работает он походу... Ну и запуск RegisterFooBarRR.cmd выдает:

В чем может быть трабла, спецы, подскажите (этим плеером раньше не пользовался никогда)...

Похоже, какая-то лажа с фреймворком. Надо чтобы был установлен .Net2.0.
Это насчет ошибки. Но есть еще один нюанс. В каждой версии РР автор меняет ключи для аудиомодулей. Зачем - не знаю. Поэтому аудимодуль привязан к конкретной версии РР. С другими версиями не работает. Если что - я могу скомпилировать под конкретную версию. Но для этого мне надо выслать родной аудиомодуль для фубара.

Pinin
04.06.2012, 18:38
О, сенкс за оперативный ответ - я-то решил, что тема скончалась...

Да, на "Семерку" ставил .Net2.0 (и там все работало). При переходе на ХР какая-то из прог ругнулась на его отсутствие и высосала из сети 4.0. Версия RR осталась прежней, так что думаю, дело не в ней и перекомпиляция не потребуется (но все равно спасибо за предложение).

Стало быть, надо делать даунгрейт фреймворку...

P.S. Да, мои извинения, что в этой ветке, но мало нас с RR ездющих осталось, скоро повымирают все спецы...
Есть один странный косяк, буквально преследующий с первых дней: сменить альбом воспроизведения (в скине BMW E36, во всяком случае) удается только один раз. Т.е. играет себе альбом, нажимаем на кнопку выбора, открывается список доступных альбомов и один из них можно-таки выбрать (и запустить его на воспроизведение). Но если после этого попытаться повторить эту процедуру - фигушки: открывается список треков последнего выбранного альбома...:dntknw:

Как ни странно, все руки не доходили с этим разобраться, а тут чего-то закусило и... обломался: не понимаю, почему - вроде в скинах команды все корректно прописаны, никаких логических противоречий нет...
Или это я туплю нещадно?

Pinin
04.06.2012, 19:52
Да, трюк сработал: оставил только .Net 2.0, и все понеслось.

Кстати, вроде разобрался и с альбомами - жесть... Он возвращает в плейлист, но наверху остается многоточие, тапнув по которому переходишь к списку альбомов. И если эта строчка уже ушла за экран (а так, как правило, и случается) - хрен догадаешься...

Alex_St
04.06.2012, 21:21
Я рад, что все заработало!
Если что-то будет работать не так - свисти, будем посмотреть ;)

Pinin
04.06.2012, 22:48
А уж я-то как рад... Спасибо еще раз, в личку поскребся, посмотри при случае ;)

Dimatrius
19.09.2012, 18:23
с помощью этого плагина разбиваются ли образы на треки?

Alex_St
19.09.2012, 18:57
с помощью этого плагина разбиваются ли образы на треки?

Нет, не разбиваются. Они делятся на треки фубаром, а фубар уже треки раппортует в РР как отдельные треки. Ну и РР получает возможность ими управлять (воспроизвести, остановить, перемотать). Добавлять отдельные песни в плейлист из образа не выйдет. Будет каша.

Dimatrius
19.09.2012, 19:03
я попробовал запустить iso c SACD, разделений на треки нет, проигралась только одна песня. может я что то не так делаю?

Alex_St
19.09.2012, 19:10
я попробовал запустить iso c SACD, разделений на треки нет, проигралась только одна песня. может я что то не так делаю?

Никогда не воспроизводил .iso образы фубаром. Предполагаю, что в фубаре должен стоять соответствующий плагин для этого.
Мой плагин лишь обеспечивает связь РР и фубара. За декодирование файлов отвечает сам фубар и его личные плагины.

Если что - стучись мне в аську: 307342375 - попробуем разобраться что происходит.

Dimatrius
19.09.2012, 19:39
все работает!!! урааа!!!! сам виноват, по невнимательности не зарегил длл)

Dimatrius
19.09.2012, 19:42
но можно с точностью сказать, что работает даже на windows 8 pro) но для того, чтобы зарегился dll, надо в свойствах файла RegAsm.exe поставить совместимость в ВинХР. Думаю на виндоус семерке также

Alex_St
19.09.2012, 19:43
Это не может не радовать!
Поздравляю!!!
Если что будет не так - свисти - будем разбираться ;)

Dimatrius
19.09.2012, 19:45
единственный небольшой минус-при выборе исполнителя появляется на несколько секунд окно самого фубара и опять скрывается

Dimatrius
19.09.2012, 19:47
и при загрузке riderunner' а также появляется на несколько секунд

Alex_St
21.09.2012, 01:43
Да, есть такое. При желании можно попробовать убрать. Но нужно ли...

Dimatrius
28.09.2012, 00:53
обнаружил такую вещь: при поиске песен отображаются все обложки, при проигрывании, когда список песен альбома появляется на главной, обложек нет. Это связано как-нибудь с плагином, или это у меня в настройках что-то не так?
Если поможет то скин у меня CFStyle

Alex_St
28.09.2012, 23:41
обнаружил такую вещь: при поиске песен отображаются все обложки, при проигрывании, когда список песен альбома появляется на главной, обложек нет. Это связано как-нибудь с плагином, или это у меня в настройках что-то не так?
Если поможет то скин у меня CFStyle

Я тоже обратил внимание на сей факт. Но не проводил исследований в силу малой значимости его для меня. Если это доставляет существенные неудобства - надо попробовать родной аудиомодуль для фубара. Если он показывает - будем искать отличия.

Dimatrius
29.09.2012, 02:57
Немного напрягает пустое окошечко без фотки)))) Родной показывает

Alex_St
01.10.2012, 12:50
Вроде разобрался почему не отображались картинки. Новая дллка лежит в аттаче к этому сообщению.

Что нового:
1. Изменено поведение функции List() интерфейса. Теперь она возвращает полный путь к файлам из списка воспроизведения. Это дает возможность RR отображать картинки к альбомам.
2. Добавлена возможность отключать логгирование через ини файл FoobarRR.ini. Файл должен лежать в папке с дллкой. Если его нет - он будет создан автоматически. По-умолчанию логгирование отключено. Чтобы его включить - надо в разделе Settings параметр LogEnabled сделать равным true.
3. Исправлена запись лог файла для системы Windows 7 x64. Теперь лог файл debugFoobarRR.txt пишется всегда в папку с дллкой.
4. Мелкие исправления.

Dimatrius
05.10.2012, 21:59
все отлично работает!!!! ты лучший!

Dimatrius
05.10.2012, 22:15
есть еще одна идейка) существует плеер album player. вот вроде как он звучит на порядок лучше чем фубар. вот если бы его еще как нибудь прикрутить

Alex_St
05.10.2012, 22:45
все отлично работает!!!! ты лучший!
Ура!!!
есть еще одна идейка) существует плеер album player. вот вроде как он звучит на порядок лучше чем фубар. вот если бы его еще как нибудь прикрутить
С этим сложнее. В принципе - прикрутить можно все что угодно. Главное - знать как им управлять. Если у него есть какой-нить интерфейс типа COM или чего-нить подобного - можно попробовать. А если есть SDK под работу в .Net - то вообще хорошо. Если нет - то тогда сложнее.
Кстати, а чем фубар не устраивает? Вроде он по качеству очень достоин (редко какая призовая машина может раскрыть то, что он выдает), и жует все что ему подсунешь... Как по мне - его вполне достаточно.

Dimatrius
06.10.2012, 23:16
фубар полностью устраивает. но, я маньяк просто))) хочется же лучшего)

Dimatrius
06.10.2012, 23:25
кстати, насчет обложек, заметил такую вещь: если в папке с музыкой есть и другие фото с расширением jpg, то показывается только первая. хотелось бы, чтобы можно было типа слайд шоу сделать. иногда сама обложка может быть последней фоткой)

Alex_St
06.10.2012, 23:47
фубар полностью устраивает. но, я маньяк просто))) хочется же лучшего)

Лучшее - враг хорошего )

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

Это уже задача не аудиомодуля, а самого РР. Я лишь предоставляю ему имя файла, который воспроизводится сейчас. Он из него извлекает путь и что он с ним делает - я не в курсе ).
Так что увы, тут я ничем не помогу.

Dimatrius
07.10.2012, 01:34
жаль, но все равно спасибо за бесценный труд)

Alex_St
07.10.2012, 12:32
жаль, но все равно спасибо за бесценный труд)

Всегда пажалуста!
Если что - пиши - будем думать ;)

Alex_St
24.12.2012, 18:32
Новая версия:
1. Перекомпилирован под последнюю версию RR от 01.12.2012 (как всегда - изменен Guid объекта).
2. Организован автоматический перезапуск Фубара в случае ошибок связи с фубаром или в результате его закрытия/вылета.
3. В случае запуска фубара плагин ищет файл running в папке данных фубара и удаляет его. Теперь этот файл ищем и в папке данных, и в папке самой программы
4. В лог выводится дата и время компиляции плагина
5. Мелкие исправления

Alex_St
25.12.2012, 12:02
Еще новая версия )
Изменения:
1. Доработан алгоритм перезапуска фубара. Если процесс фубара остановился (закрыли, вылетел, прочее) - то он будет перезапущен после попытки переключить трек.
2. После перезапуска в фубар будет загружен актуальный плей лист, и будет восстановлено предыдущее состояние (если перед исчезновением фубар что-то играл - то он продолжит с того же места).
3. Сделано восстановление состояния после перезапуска РР. Как показало изучение авторского кода, любезно предоставленного Guino (автором) - РР сам не восстанавливает состояние аудиоплеера, и возлагает эту задачу на аудиомодуль. Теперь же у меня дошли руки реализовать и этот кусок функциональности.
При выключении РР аудиомодуль сохраняет состояние плеера в ини файл, и при последующем старте - восстанавливает его.
4. Несколько переработан код с целью снизить нагрузку на процессор и снизить вероятность вылета фубара. Насколько получилось - посмотрим )