ChooseMediaPlayer (TC2MP)

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

ChooseMediaPlayer (TC2MP)

Сообщение ask-rus »

ChooseMediaPlayer (TC2MP)
Утилита для работы с медиаплеерами из-под TC.
Оф. страничка тут: http://blog.naver.com/pjhplace/40027324698
Обсуждение на eng тут: http://www.ghisler.ch/board/viewtopic.php?t=11427
Создает из выделенных в TC файлов плейлист и отправляет его соответственно медиаплееру.

У меня проблема.
CMP can't find the path of Total Commander in registry.
CMP can't change '%TOTAL COMMANDER%' string with the real path of player.
Group(player alias): WINAMP
"%COMMANDER_PATH%" утилита не знает.
А "%TOTAL COMMANDER%" ищет в реестре. Как в этом случае быть?

Код: Выделить всё

;Winamp + "m3u" / additional filetypes available : "pls", "asx"
[Winamp]
Button_Display = 1
Player = %TOTAL COMMANDER%\SOFT\Winamp\winamp.exe
Filter = mp3;ogg;wma;wav;mid;s3m;mod;xm;it
Extension = m3u
WindowState = 6
FirstLine = 
CodeLine = $FULLFILENAME_
EndLine = 
CommandLine = "$PLAYLIST_"
WritingMode = 0
AddPosition = 0
RetrieveRegExp =
RetrieveRegExLeft =
RetrieveRegExRight =
Unicode  = 
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

ackep
Как насчёт поиска здесь по TC2MP (например, в теме по Винампу)? А обсуждение на оффоруме давно заглохло — автор там появлялся последний раз в сентябре 2006 года, попытки поднять тему ни к чему не привели и, видимо, не приведут.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Avada писал(а):ackep
Как насчёт поиска здесь по TC2MP (например, в теме по Винампу)? А обсуждение на оффоруме давно заглохло — автор там появлялся последний раз в сентябре 2006 года, попытки поднять тему ни к чему не привели и, видимо, не приведут.
Уже производил поиск, в том то и дело, что утилита была обнаружена в основном в теме по winamp. А касаясь преимущественно утилиты вопрос, основная возможность её - воспроизведение выделенных файлов. А добавление в плейлист можно осуществить?
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

ackep
Глядя на твои мучения, хочу спросить - а ты моим скриптом пробовал пользоваться?
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

'Если нужно заменить список, нужно указать любой второй параметр
Указал %P%S (или %P%N...) и комп накрылся тазом. Не запустился пока не вынул/вернул на место полоску ОЗУ и сбросил БИОС.
- Что было?
- 300 винампов было.
Да, и ещё - скрипт долго, утилита - быстро.

Нашёл! - "Добавление сделать легко, согласно ридми TC2MP, замени у себя auto:%L на auto:%L/TC2MP_Append.INI"
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Дописал Media Player Classic в TC2MP_Append.ini

Код: Выделить всё

; ★ Media Player Classic + "m3u"
[MPC]
Button_Display = 1
Player = d:\Total Commander\SOFT\Media Player Classic Home Cinema\mpc-hc.exe
Filter = avi;flv;mkv;mov;mp4;mpe;mpeg;mpg;swf;vob;wmv
Extension = m3u
WindowState = 1
FirstLine = 
CodeLine = $FULLFILENAME_
EndLine = 
CommandLine = /ADD "$PLAYLIST_"
WritingMode = 0
AddPosition = 0
RetrieveRegExp =
RetrieveRegExLeft =
RetrieveRegExRight =
Unicode  =
Через выбор
[Choose]:%L
[Choose]:%L/TC2MP_Append.INI
всё работает.
Никак не могу приучить MPC на автомат
[Auto]:%L
[Auto]:%L/TC2MP_Append.INI
Всё просит KMPlayer:
[Auto Decision] of TC2MP.INI : Unregistered player alias
Ifmixed Then "Kmplayer"
Kmplayer
[Auto Decision] of TC2MP.INI : You didn't define a basic player for mixed media.
[mod="Avada"]Код отредактирован по просьбе автора поста (сокращено число расширений).[/mod]
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Не знаю, стоит ли писать... Ответ самому себе... ну и для потомков.
Решение в этих строках:
IfOnly UserAudio Then "Winamp"
IfOnly UserVideo Then "KMPlayer"
IfOnly UserTracker Then "Winamp"

IfMixed Then "KMPlayer"
Изменяем на:
IfOnly UserAudio Then "Winamp"
IfOnly UserVideo Then "MPC"
IfOnly UserTracker Then "Winamp"

IfMixed Then "MPC"
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Прошло некоторое время и быть может решение где-то рядом.
Суть вопроса в портабельности данной утилиты (I сообщение в теме).
"%COMMANDER_PATH%" утилита не знает.
А "%TOTAL COMMANDER%" ищет в реестре.
Утилита располагается в
d:\Total Commander\PLUGINS\exe\ChooseMediaPlayer\
Достаточно глубоко для относительных ссылок.
В то время как плееры расположены здесь:
d:\Total Commander\SOFT\Media Player Classic Home Cinema\
d:\Total Commander\SOFT\Winamp\
Вижу одно решение (?) - в утилите, которая прописывает TC в реестре, далее используем среду %TOTAL COMMANDER%.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

ask-rus
Если утилита не понимает переменных окружения, то грошь ей цена.

Но раз уж тебе вот никак не обойтись без этой незаменимой для тебя утилиты, то положи TC2MP.exe в папку Winamp-а.
Вместе с exe-шником должно быть только 3 файла:
- TC2MP_Look.INI - это файл English.cfg из каталога Language;
- Default.lng - это файл English.lng из каталога Language;
- Твой TC2MP.INI, в котором:

Код: Выделить всё

Player = winamp.exe
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Batya, а неплохое решение между прочим :) .
Жаль, что пришлось множить утилиту для двух плееров. Но зато теперь для каждого плеера индивидуальные конфиги TC2MP.INI & TC2MP_Append.INI.
Благодарствую. :oops:
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
skole
Сообщения: 162
Зарегистрирован: Чт дек 30, 2004 23:15
Откуда: Россия, Оренбург

Сообщение skole »

народ, а у кого получилось прикрутить утиль для WMP? начиная с 12 версии MS вроде бы как сделали более или менее нормальную поддержку коммандной строки
sEXEcutor
Сообщения: 24
Зарегистрирован: Вс июл 09, 2006 04:21

Сообщение sEXEcutor »

Пользовался скриптом от Batya, пока в коллекции не начали появляться названия на сербском, эстонском - в общем, на юникоде.

TC2MP у меня отказывается находить свой конфиг, поэтому я переписал скрипт на создание юникодного плейлиста вместо многократного вызова Winamp.exe
Аргументы скрипта изменены.
Если положить в папку Winamp'а, работает без правок.

Код: Выделить всё

'Проигрывание\добавление отмеченных файлов в Winamp
'В параметрах необходимо прописать "%WL", если нужно проиграть список
'Если нужно добавить файлы в плейлист, нужно указать любой второй параметр

Winamp = "Winamp.exe" 'Путь к Winamp-у
PlayContent = ""

Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1, false, -1)
Do While Not TempFile.AtEndOfStream
Str = TempFile.ReadLine
if Right(Str,1) = "\" then
Str = Left(Str, Len(Str) - 1)
end if
PlayContent = PlayContent & Str & Chr(10)
Loop
TempFile.Close
Set TempFile = Nothing

PlaylistName = WScript.Arguments(0) & ".m3u8"

Set OutputStream = CreateObject("ADODB.Stream")
OutputStream.CharSet = "utf-8"
OutputStream.Mode = 3
OutputStream.Open
OutputStream.WriteText PlayContent
OutputStream.SaveToFile(PlaylistName), 2
OutputStream.Close
Set OutputStream = Nothing

Set WS = CreateObject("WScript.Shell")

if WScript.Arguments.Count > 1 then
WS.run chr(34) & Winamp & chr(34) & " /add " & chr(34) & PlaylistName & chr(34)
else
WS.run chr(34) & Winamp & chr(34) & " " & chr(34) & PlaylistName & chr(34)
end if
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Расположил утилиту в корне TC.

Пишу в TC2MP.ini:

Код: Выделить всё

Player = SOFT\Winamp\winamp.exe
Не находит плеер.

Пишу:

Код: Выделить всё

Player = \SOFT\Winamp\winamp.exe
Не находит.

Пишу:

Код: Выделить всё

Player = .\SOFT\Winamp\winamp.exe
Аналогично.

Да как бы его уважить :evil:.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

P.s. Поправить бы шапку темы, там где-то закрался косяк, что растягивает страницу.
Последний раз редактировалось ask-rus Сб июн 19, 2010 12:32, всего редактировалось 1 раз.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

ask-rus писал(а):Поправить бы шапку темы, там где-то закрался косяк, что растягивает страницу.
Не в шапке дело, а в одном из следующих постов: в поле с кодом присутствует сверхдлинная непереносимая строка (Filter = и пр.). Чего там поправлять-то?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Ответить