Foobar2000
|
|
chip642 | Дата: Четверг, 15.02.2018, 02:53 | Сообщение № 1 |
|
Foobar2000
Автоматизация от TCIMG в помощь пользователям Foobar2000: переименование CUE-файла, переименование файлов и папок на основе шаблонов пользователя, включая транслитерацию, замены и подстановки, создание файлов дискографии ...
|
|
| |
Mrakobes | Дата: Четверг, 15.02.2018, 02:53 | Сообщение № 2 |
Полковник
На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
|
chip642, да, верно - имя пользователя. Так вот я и хотел - копируешь имя пользователя в буфер пин и жмакаешь кнопку (открывается CMD, вводится текст cmd g:\Downloads\PinCrawl>java -jar PinCrawl.jar и содержимое буфера обмена) - пошло скачивание...
=======================
Так вот, просидел неделю на https://hydrogenaud.io, упростил задачу по созданию. Я постарался изложить в максимально понятной форме, прошу прощения если это не удалось)))
Есть такие программы, для редактирования индексной карты музыкального диска, для плеера Foobar2000, которые дорабатываются годами, но так и не выполняющие элементарных условий (к примеру CUE Corrector)
который имеет по 100 страниц обсуждения, так и не удовлетворяя требованиям, но все сводится к простым задачам, а именно вот что должно получиться при изначально правильной структуре директорий:
Industrial (пра-пра-дедушкина папка) | + Rammstein (пра-дедушкина папка) | + 2017 - Paris (дедушкина папка) | + CD1 (родительская папка) + CD2 (родительская папка)
Содержимое CUE:
REM GENRE Industrial, Electronic REM DATE 2017 REM COMMENT (Concord Records) (CR-888072037281) (U.S.A.) CATALOG Germany PERFORMER "Rammstein" TITLE "Paris" FILE "Rammstein - 2017 - Paris (CD1).flac" WAVE
Описываю команды по порядку их выполнения:
1. В активной панели искать файл с расширением CUE, FLAC, APE, WV, LOG 2. Снять атрибуты "только чтение" (если есть) 3. Поменять кодировку CUE в UTF-8+BOM (задержку не надо прописать после кодировки? Успеет файл перекодироваться и записать юникодные символы?) 4. Переименовать CUE, FLAC, APE, WV, LOG по шаблону "пра-дедушкина папка - дедушкина папка (родительская папка)" (если уже были переименованы, то сделать чувствительным к регистру, т.е. если в верхних папках регистр другой, то изменить) 5. Вставка тэгов в CUE (создание тэгов при их отстутствии либо замена на новые значения, учитывая регистр (!!!) символов и их кодировку, т.е. с умляутами и другими над/под строчными символами) по следующему принципу:
5.1. REM GENRE - в примечаниях, находящихся в файле descript.ion (находящемся в пра-пра-дедушкиной папке) имеется строка (Industrial, Electronic) (Germany), относящаяся к папке с именем Rammstein (надо учитывать, что в descript.ion имена исполнителей имеющие 2 и более слов заключаются в кавычки), так вот из descript.ion берется содержимое первых круглых скобок (Industrial, Electronic) (без самих скобок соответственно) и размещается в секции комментариев REM GENRE 5.2. REM DATE - дата берется из первых четырех символов (цифр) названия дедушкиной папки и размещается в секции комментариев REM DATE 5.3. REM COMMENT - создается комментарий из файла descript.ion (находящемся в пра-дедушкиной папке) берется содержащаяся в нем строка (все остается в скобках) 5.4. CATALOG - создается комментарий (без приставки REM) CATALOG и параметр прописывается из descript.ion (находящемся в пра-пра-дедушкиной папке) только содержимого вторых скобок (Germany) (без самих скобок соответственно) 5.5. PERFORMER - из названия самой прадедушкиной папки и заключается в кавычки 5.6. TITLE - из названия дедушкиной, откидывая первые 7 символов (т.е. год пробел тире пробел) и все что осталось будет названием альбома и заключается в кавычки 5.7. FILE - из полного с расширением имени файла, находящегося в одной папке с cue файлом, имеющим расширение FLAC, APE, WV на конце WAVE, все в кавычках, заменяя то что там было (между FILE "тра-та-та.ape" WAVE может быть все что угодно)
6. С созданием файла *.bak и присвоения ему свойства "Скрытый" 7. Прогресс бар 8. Обновить 9. Открыть для проверки в текстовом редакторе по умолчанию (Notepad++)
прикладываю файловую структуру для тренировки, flac нулевого размера, проигрываться не будет)))
http://rgho.st/6qF2MHtql
|
|
| |
chip642 | Дата: Четверг, 15.02.2018, 02:54 | Сообщение № 3 |
|
Mrakobes
Если я правильно понял, то надо имеющийся в активной панели *.cue перезаписать полученной информацией. Получилось так, тестируйте, потом подкорректируем если что.
Курсор должен находиться на аудио файле (FLAC, APE, WV). Параметры для кнопки:
Код slist=PS<"%p"//1//0//*.cue|*.flac|*.ape|*.wv|*.log> attrb=$GLOBALSLIST||-R!!1 renms=$GLOBALSLIST||##<info=f63:://#~~-~~//f62:://#~~(//f61:://#)>||upd<1> tends=PS<"%p"//1//0//*.cue> textt=GLOBALTENDS<1>||code<3>||backup<0> copyy=GLOBALTENDS<1>||"%p"!!1||**1!!?.bkp||attr<+H!!0> aends=@%P%N||##path<84>||$$descript.ion pends=@<info=f63%P%N//#~~-~~//f62%P%N//#~~(//f61%P%N//#)> kends=GLOBALPENDS<1>||$$.<info=o71%P%N//>||^^''||$$'' hends=@<info=f63%P%N//>||^^''||$$'' fends=@%P%N||##path<83>||$$descript.ion mends=GLOBALFENDS<1>||formt<0!!(?m)([(][^\r\n]*)> bends=GLOBALAENDS<1>!!-6~~(||)!!||&&''!!||#G7 gends=@<info=o92%P%N//>||&&^.{7}!!||^^''||$$'' cends=@<info=f62%P%N//>||&&^(....)(.*)$!!$1 sends=REM~~GENRE~~GLOBALBENDS<x2>@CRLFREM~~DATE~~GLOBALCENDS<1>@CRLFREM~~COMMENT~~GLOBALMENDS<1>@CRLFCATALOG~~GLOBALBENDS<x3>@CRLFPERFORMER~~GLOBALHENDS<1>@CRLFTITLE~~GLOBALGENDS<1>@CRLFFILE~~GLOBALKENDS<1>~~WAVE??1 textt=GLOBALTENDS<1>||##GLOBALSENDS<x1>||backup<0>||upd<1> openf=GLOBALTEXTT<1>||x||explorer<open>
Отредактированный *.cue откроется в ассоциированном в системе редакторе. Если не будет ассоциации с этим расширением, то система выдаст окно выбора, надо будет единожды указать редактор.
Цитата 6. С созданием файла *.bak и присвоения ему свойства "Скрытый" 7. Прогресс бар 8. Обновить
1. Насчет создания файла *.bak не совсем понятно, для уже обновленного *.cue создавать или для старого. Сделал для старого, режим "Скрытый", но расширение назначил *.bkp, лучше использовать это расширение, так как изменяемые файлы автоматически создают бэкап с расширением *.bak и тогда нужный бэкапы перезаписываются, в данной кнопке автоматическое создание всех *.bak заблокировано. 2. Прогресс бар? Там настолько всё быстро и глазом не успеваешь моргнуть. 3. Что обновить?
|
|
| |
Mrakobes | Дата: Пятница, 16.02.2018, 04:30 | Сообщение № 4 |
Полковник
На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
|
chip642, во первых огромнейшее спасибо, для меня очень много значит эта функция - я помешан на систематизации и наведении порядка на дисках)))
код уже работает, но вот что
1.1. REM GENRE - взял первые скобки из ВСЕГО дескрипшена (относящуюся к другой банде), а там почти пол тыщи групп, надо чтобы искал строку, с именем пра-пра-дедушкиной папки и вытаскивал жанр
1.2. REM DATE - все ОК!
1.3. REM COMMENT - зарядил вообще весь текст с декрипшена, опять надо то же самое, строку относящуюся к альбому
1.4. CATALOG - все правильно - содержимое вторых скобок НО первой по списку группы в файле descript.ion и почему то подцепил 1 слово, первое во второй строке descript.ion
1.5. PERFORMER - все ОК!
1.6. TITLE - все ОК!
1.7. FILE - все ОК!
2. К сожалению код удалил все что было после строки FILE "Rammstein - 2017 - Paris (CD1).flac" WAVE, всякие теги связанные с треками
3. Открывает плеером, а я хотел нотепадом++, для проверки как бы...
Скоро будет кнопочка
Сообщение отредактировал Mrakobes - Суббота, 27.01.2018, 19:15 |
|
| |
chip642 | Дата: Пятница, 16.02.2018, 04:30 | Сообщение № 5 |
|
Цитата Mrakobes ( ) а там почти пол тыщи групп, надо чтобы искал строку, с именем пра-пра-дедушкиной папки и вытаскивал жанр Теперь понятно.
Цитата Mrakobes ( ) REM COMMENT - зарядил вообще весь текст с декрипшена, опять надо то же самое, строку относящуюся к альбому Понятно.
Цитата Mrakobes ( ) 1.4. CATALOG - все правильно - содержимое вторых скобок НО первой по списку группы в файле descript.ion и почему то подцепил 1 слово, первое во второй строке descript.ion
Не ясно, что это значить «НО первой по списку группы в файле descript.ion» Сейчас проверил, у меня никаких слов со второй строки не цепляет.
Цитата Mrakobes ( ) 2. К сожалению код удалил все что было после строки FILE "Rammstein - 2017 - Paris (CD1).flac" WAVE, всякие теги связанные с треками
Я думал надо перезаписывать файл *.cue, оказывается надо заменить определенные строки.
Цитата Mrakobes ( ) 3. Открывает плеером, а я хотел нотепадом++, для проверки как бы.
Видимо расширение *.cue в системе ассоциирована с плеером, я сделал, как вы и просили, чтобы открывал по умолчанию, то бишь в ассоциированной в системе программе. Может вы имели в виду в ассоциированном в Total Commander редакторе, тогда другое дело.
|
|
| |
Mrakobes | Дата: Пятница, 16.02.2018, 04:31 | Сообщение № 6 |
Полковник
На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
|
chip642,
Цитата Mrakobes ( ) 9. Открыть для проверки в текстовом редакторе по умолчанию (Notepad++)
вроде я в первом посте написал))) не ассоциированной. Супердлиннопост делает свое коварное дело)
Цитата chip642 ( ) Сейчас проверил, у меня никаких слов со второй строки не цепляет
серьезно, приклеилось слово со следующей строки, я не сразу понял чего это.
|
|
| |
chip642 | Дата: Пятница, 16.02.2018, 04:31 | Сообщение № 7 |
|
Mrakobes
Цитата Mrakobes ( ) 9. Открыть для проверки в текстовом редакторе по умолчанию (Notepad++) По умолчанию, для меня, означает ассоциацию в системе. Ответа я так и не услышал, поэтому будет открывать в редакторе, который ассоциирован в Total Commander. Тестируйте.
Код slist=PS<"%p"//1//0//*.cue|*.flac|*.ape|*.wv|*.log> attrb=$GLOBALSLIST||-R!!1 renms=$GLOBALSLIST||##<info=f63:://#~~-~~//f62:://#~~(//f61:://#)>||upd<1> tends=PS<"%p"//1//0//*.cue> textt=GLOBALTENDS<1>||code<3>||backup<0> copyy=GLOBALTENDS<1>||"%p"!!1||**1!!?.bkp||attr<+H!!0> aends=@%P%N||##path<84>||$$descript.ion lends=@<info=f63%P%N//> count=GLOBALAENDS<1>||GLOBALLENDS<1>||0||countline<1|2> bends=GLOBALCOUNT<1>!!-6~~(||)!!||&&''!!||#G7 pends=@<info=f63%P%N//#~~-~~//f62%P%N//#~~(//f61%P%N//#)> kends=GLOBALPENDS<1>||$$.<info=o71%P%N//>||^^''||$$'' hends=@<info=f63%P%N//>||^^''||$$'' fends=@%P%N||##path<83>||$$descript.ion rends=@<info=o92%P%N//>||^^''||$$'' count=GLOBALFENDS<1>||GLOBALRENDS<1>||0||countline<1|2> mends=GLOBALCOUNT<1>||formt<0!!(?m)([(][^\r\n]*)> gends=@<info=o92%P%N//>||&&^.{7}!!||^^''||$$'' cends=@<info=f62%P%N//>||&&^(....)(.*)$!!$1 iends=REM~~GENRE@CRLFREM~~DATE@CRLFREM~~COMMENT@CRLFCATALOG@CRLFPERFORMER@CRLFTITLE@CRLF@CRLFFILE??-1 textt=GLOBALTENDS<1>||<dellist=$GLOBALIENDS|4>||formt<63> sends=REM~~GENRE~~GLOBALBENDS<x2>@CRLFREM~~DATE~~GLOBALCENDS<1>@CRLFREM~~COMMENT~~GLOBALMENDS<1>@CRLFCATALOG~~GLOBALBENDS<x3>@CRLFPERFORMER~~GLOBALHENDS<1>@CRLFTITLE~~GLOBALGENDS<1>@CRLFFILE~~GLOBALKENDS<1>~~WAVE??1 asave=GLOBALSENDS||GLOBALTENDS<1>|3|@CRLF|2||upd<1> openf=GLOBALTEXTT<1>||open<ASSOC|1>
|
|
| |
chip642 | Дата: Пятница, 16.02.2018, 04:31 | Сообщение № 8 |
|
Цитата Mrakobes ( ) не меняет кодировку Исправлено.
Цитата Mrakobes ( ) Может быть мне хватит одного обычного Bak Сделано, будет создаваться один файл с расширением *.bak режим "Скрытый"
Цитата Mrakobes ( ) Еще несущественный вопрос - надо на FLAC курсор ставить, просто в активной панели не получиться? Вообще не понял. Что не получится?
Тестируем.
Код slist=PS<"%p"//1//0//*.cue|*.flac|*.ape|*.wv|*.log> attrb=$GLOBALSLIST||-R!!1 renms=$GLOBALSLIST||##<info=f63:://#~~-~~//f62:://#~~(//f61:://#)>||upd<1> tends=PS<"%p"//1//0//*.cue> textt=GLOBALTENDS<1>||code<3>||backup<0> copyy=GLOBALTENDS<1>||"%p"!!1||**1!!?.bak||attr<+H!!0> aends=@%P%N||##path<84>||$$descript.ion lends=@<info=f63%P%N//> count=GLOBALAENDS<1>||GLOBALLENDS<1>||0||countline<1|2> bends=GLOBALCOUNT<1>!!-6~~(||)!!||&&''!!||#G7 pends=@<info=f63%P%N//#~~-~~//f62%P%N//#~~(//f61%P%N//#)> kends=GLOBALPENDS<1>||$$.<info=o71%P%N//>||^^''||$$'' hends=@<info=f63%P%N//>||^^''||$$'' fends=@%P%N||##path<83>||$$descript.ion rends=@<info=o92%P%N//>||^^''||$$'' count=GLOBALFENDS<1>||GLOBALRENDS<1>||0||countline<1|2> mends=GLOBALCOUNT<1>||formt<0!!(?m)([(][^\r\n]*)> gends=@<info=o92%P%N//>||&&^.{7}!!||^^''||$$'' cends=@<info=f62%P%N//>||&&^(....)(.*)$!!$1 iends=REM~~GENRE@CRLFREM~~DATE@CRLFREM~~COMMENT@CRLFCATALOG@CRLFPERFORMER@CRLFTITLE@CRLF@CRLFFILE??-1 textt=GLOBALTENDS<1>||<dellist=$GLOBALIENDS|4>||formt<63>||backup<0> sends=REM~~GENRE~~GLOBALBENDS<x2>@CRLFREM~~DATE~~GLOBALCENDS<1>@CRLFREM~~COMMENT~~GLOBALMENDS<1>@CRLFCATALOG~~GLOBALBENDS<x3>@CRLFPERFORMER~~GLOBALHENDS<1>@CRLFTITLE~~GLOBALGENDS<1>@CRLFFILE~~GLOBALKENDS<1>~~WAVE??1 textt=GLOBALTENDS<1>||^^GLOBALSENDS<x1>@CRLF||backup<0>||upd<1> openf=GLOBALTEXTT<1>||open<ASSOC>
|
|
| |
chip642 | Дата: Пятница, 16.02.2018, 04:31 | Сообщение № 9 |
|
Цитата Mrakobes ( ) видимо коду нужно FLAC скормить
Команде нужно знать расширение аудио файла, а так изначально мы не знаем, какой из трех форматов *.flac,*.ape,*.wv в активной панели , то придется ставить курсор на файл, если бы нас интересовал бы только *.flac, то можно было и без установки курсора.
Цитата Mrakobes ( ) с исполнителями в названии которых 2 и более слов, так я и чувствовал изначально, помните я в первом посте упомянул о кавычках
Да, помню, а где в *.cue нужна эта информация, там вроде ничего зависимого не прописывается, как это зависит что-то не пойму.
|
|
| |
chip642 | Дата: Пятница, 16.02.2018, 04:31 | Сообщение № 10 |
|
Цитата Mrakobes ( ) ежели в дескрипшене группа имеет 1 слово то кавычки не ставятся, если 2 то заключаются
Цитата перестали вставляться тэги Решение найдено.
Цитата Mrakobes ( ) без установки курсора на FLAC Без установки курсора именно на аудио файл, но с учетом, что в активной панели всего лишь один файл с аудио форматом, курсор должен обязательно находиться на файле, на любом.
Код alist=PS<[tc=AP]//1//0//*.flac|*.ape|*.wv>||##path<2> slist=PS<[tc=AP]//1//0//*.cue|*.flac|*.ape|*.wv|*.log> attrb=$GLOBALSLIST||-R!!1 renms=$GLOBALSLIST||##<info=f63:://#~~-~~//f62:://#~~(//f61:://#)>||upd<1> tends=PS<"%p"//1//0//*.cue> textt=GLOBALTENDS<1>||code<3>||backup<0> copyy=GLOBALTENDS<1>||"%p"!!1||**1!!?.bak||attr<+H!!0> aends=@%P%N||##path<84>||$$descript.ion nends=@<info=f63%P%N//>??-1||~~!!@CRLF||#L2 <IF> 1 <> <info=t61$GLOBALNENDS[1]> <THEN> lends=@<info=f63%P%N//> <ELSE> lends=@<info=f63%P%N//>||^^''||$$'' <ENDIF> count=GLOBALAENDS<1>||GLOBALLENDS<1>||0||countline<1|2> bends=GLOBALCOUNT<1>!!-6~~(||)!!||&&''!!||#G7 pends=@<info=f63%P%N//#~~-~~//f62%P%N//#~~(//f61%P%N//#)> kends=GLOBALPENDS<1>||$$.GLOBALALIST<1>||^^''||$$'' hends=@<info=f63%P%N//>||^^''||$$'' fends=@%P%N||##path<83>||$$descript.ion rends=@<info=o92%P%N//>||^^''||$$'' count=GLOBALFENDS<1>||GLOBALRENDS<1>||0||countline<1|2> mends=GLOBALCOUNT<1>||formt<0!!(?m)([(][^\r\n]*)> gends=@<info=o92%P%N//>||&&^.{7}!!||^^''||$$'' cends=@<info=f62%P%N//>||&&^(....)(.*)$!!$1 iends=REM~~GENRE@CRLFREM~~DATE@CRLFREM~~COMMENT@CRLFCATALOG@CRLFPERFORMER@CRLFTITLE@CRLF@CRLFFILE??-1 textt=GLOBALTENDS<1>||<dellist=$GLOBALIENDS|4>||formt<63>||backup<0> sends=REM~~GENRE~~GLOBALBENDS<x2>@CRLFREM~~DATE~~GLOBALCENDS<1>@CRLFREM~~COMMENT~~GLOBALMENDS<1>@CRLFCATALOG~~GLOBALBENDS<x3>@CRLFPERFORMER~~GLOBALHENDS<1>@CRLFTITLE~~GLOBALGENDS<1>@CRLFFILE~~GLOBALKENDS<1>~~WAVE??1 textt=GLOBALTENDS<1>||^^GLOBALSENDS<x1>@CRLF||backup<0>||upd<1> openf=GLOBALTEXTT<1>||open<ASSOC>
С установкой курсора на аудио файл
Код slist=PS<"%p"//1//0//*.cue|*.flac|*.ape|*.wv|*.log> attrb=$GLOBALSLIST||-R!!1 renms=$GLOBALSLIST||##<info=f63:://#~~-~~//f62:://#~~(//f61:://#)>||upd<1> tends=PS<"%p"//1//0//*.cue> textt=GLOBALTENDS<1>||code<3>||backup<0> copyy=GLOBALTENDS<1>||"%p"!!1||**1!!?.bak||attr<+H!!0> aends=@%P%N||##path<84>||$$descript.ion nends=@<info=f63%P%N//>??-1||~~!!@CRLF||#L2 <IF> 1 <> <info=t61$GLOBALNENDS[1]> <THEN> lends=@<info=f63%P%N//> <ELSE> lends=@<info=f63%P%N//>||^^''||$$'' <ENDIF> count=GLOBALAENDS<1>||GLOBALLENDS<1>||0||countline<1|2> bends=GLOBALCOUNT<1>!!-6~~(||)!!||&&''!!||#G7 pends=@<info=f63%P%N//#~~-~~//f62%P%N//#~~(//f61%P%N//#)> kends=GLOBALPENDS<1>||$$.<info=o71%P%N//>||^^''||$$'' hends=@<info=f63%P%N//>||^^''||$$'' fends=@%P%N||##path<83>||$$descript.ion rends=@<info=o92%P%N//>||^^''||$$'' count=GLOBALFENDS<1>||GLOBALRENDS<1>||0||countline<1|2> mends=GLOBALCOUNT<1>||formt<0!!(?m)([(][^\r\n]*)> gends=@<info=o92%P%N//>||&&^.{7}!!||^^''||$$'' cends=@<info=f62%P%N//>||&&^(....)(.*)$!!$1 iends=REM~~GENRE@CRLFREM~~DATE@CRLFREM~~COMMENT@CRLFCATALOG@CRLFPERFORMER@CRLFTITLE@CRLF@CRLFFILE??-1 textt=GLOBALTENDS<1>||<dellist=$GLOBALIENDS|4>||formt<63>||backup<0> sends=REM~~GENRE~~GLOBALBENDS<x2>@CRLFREM~~DATE~~GLOBALCENDS<1>@CRLFREM~~COMMENT~~GLOBALMENDS<1>@CRLFCATALOG~~GLOBALBENDS<x3>@CRLFPERFORMER~~GLOBALHENDS<1>@CRLFTITLE~~GLOBALGENDS<1>@CRLFFILE~~GLOBALKENDS<1>~~WAVE??1 textt=GLOBALTENDS<1>||^^GLOBALSENDS<x1>@CRLF||backup<0>||upd<1> openf=GLOBALTEXTT<1>||open<ASSOC>
|
|
| |
Mrakobes | Дата: Пятница, 16.02.2018, 04:31 | Сообщение № 11 |
Полковник
На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
|
Цитата chip642 ( ) С установкой курсора на аудио файл
беру этот, т.к. первая кнопка все равно требует установки на любой файл курсора, я установлю на флак. Дядька, даже не знаю что сказать, спасибо! Я форум то почитываю, сюда заходят кастомайзеры плеерные, видел посты по CUE, эта функция многим придется по душе.
Дальше вот что... С ужасом смотрю на код 1486 знаков, понимаю что самостоятельно не смогу изменить его ... вот в чем вопрос, я запросил эту кнопищу заведомо с усложненной структурой, т.е. с вложенными папками CD1 и CD2. Обычно аудиофайлы, если это не какой нибудь Лимитед Эдишен альбом, располагаются на один уровень выше, в папке Исполнитель, думал что самостоятельно поправлю код со смещением на одну папку вверх по вложенности заменяя lends pends ... f63 f62 f61, но понимаю, что только искаверкаю кривыми руками и полетят апстену мышки))). Пока свежо в Вашей памяти, может подпилите кнопочку "С установкой курсора на аудио файл"? Или это совсем наглость адовая??
1. остается так же 2. остается так же 3. остается так же 4. Переименовать по шаблону "пра-дедушкина папка - дедушкина папка (родительская папка)" "дедушкина папка - родительская папка" 5. Вставка тэгов:
5.1. REM GENRE - в примечаниях, находящихся в файле descript.ion находящемся в пра-пра-дедушкиной папке пра-дедушкиной папке ... берется содержимое первых круглых скобок ... 5.2. REM DATE - дата берется из первых четырех символов (цифр) названия дедушкиной родительской папки папки 5.3. REM COMMENT - создается комментарий из файла descript.ion находящемся в пра-дедушкиной папке дедушкиной папке берется содержащаяся в нем строка ... 5.4. CATALOG - создается комментарий ... descript.ion находящемся в пра-пра-дедушкиной папке пра-дедушкиной папке только содержимого вторых скобок ... 5.5. PERFORMER - из названия самой прадедушкиной дедушкиной папке папки и заключается в кавычки 5.6. TITLE - из названия дедушкиной родительской папки, откидывая первые 7 символов ... 5.7. FILE остается так же Industrial (пра-дедушкина папка) | + Rammstein (дедушкина папка) | + 2017 - Paris (родительская папка)
...здесь файлы
|
|
| |
Mrakobes | Дата: Пятница, 16.02.2018, 04:32 | Сообщение № 12 |
Полковник
На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
|
chip642, ну вот вообщем то и все)))))))
по поводу "пригодится" - создание такого скрипта имеет значимость изобретения и ввода в эксплуатацию андронного коллайдера "Омега", в Сколково уже заинтересовались разработкой Российских ученых))).. реально я с нового года ночами сквозь сон бредил этим!
Вот еще чего подумал.. в файле под курсором, FLAC'е то есть часто бывают прописаны тэги, они различаются с CUE файловыми практически всегда. Можно еще одну строку вставить в обе кнопки, чтобы зачищало от всех ID3/APE, Vorbis tags тэгов и устанавливало "только для чтения" (только для файла под курсором, в данном случае FLAC)?
И раз уже речь пошла о потрековых альбомах, нарезанных на несколько файлов, читаемых плеером без CUE, такие как mp3, flac, ape, WavPack, ogg, alac и т.д., для полного функционала нужны еще 2 разновидности (для разной вложенности опять же) одной кнопки
1. Для выделенных файлов - снять атрибуты "только чтение" (если есть) 2. Из всех выделенных файлов удаляются все тэги (т.к. в потрековых релизах много паразитарных, замусоривающих тэгов) КРОМЕ номера дорожки %tracknumber% или просто %track% и названия трека %title% 3. Файлы переименовываются по маске %tracknumber%. %title% (пример: 01. Гимн) 4. Из имен папок и информации в файле descript.ion прописываются тэги 4.1. %artist% - берется из названия пра-дедушкиной папки 4.2. %date% - берется из первых четырех символов (цифр) названия дедушкиной папки 4.3. %album% - из названия дедушкиной, откидывая первые 7 символов (т.е. год пробел тире пробел) и все что осталось будет названием альбома 4.4. %genre% - в descript.ion находящемся в пра-пра-дедушкиной папке, содержимое первых круглых скобок, без самих скобок 4.5. %discnumber% - из названия родительской папки, откидывая первые 2 символа 4.6. %catalog% - в descript.ion находящемся в пра-пра-дедушкиной папке, содержимое вторых круглых скобок, без самих скобок 4.7. %_covers% - в каждый файл вшивается коврик, находящийся в этой же папке с именем "Folder.*" или "Cover.*" или "Front.*" 5. Без созданием файла *.bak
Industrial (пра-пра-дедушкина папка) | + Rammstein (пра-дедушкина папка) | + 2017 - Paris (дедушкина папка) | + CD1 (родительская папка) + CD2 (родительская папка) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. остается так же 2. остается так же 3. остается так же 4. Из имен папок и информации в файле descript.ion прописываются тэги 4.1. %artist% - берется из названия дедушкиной папки 4.2. %date% - берется из первых четырех символов (цифр) названия родительской папки 4.3. %album% - из названия родительской, откидывая первые 7 символов (т.е. год пробел тире пробел) 4.4. %genre% - в descript.ion находящемся в пра-дедушкиной папке, содержимое первых круглых скобок, без самих скобок 4.5. %discnumber% - остается пустым, ведь теги удалены 4.6. %catalog% - в descript.ion находящемся в пра-дедушкиной папке, содержимое вторых круглых скобок, без самих скобок 4.7. %_covers% - в каждый файл вшивается коврик, находящийся в этой же папке с именем "Folder.*" или "Cover.*" или "Front.*" 5. остается так же
Industrial (пра-дедушкина папка) | + Rammstein (дедушкина папка) | + 2017 - Paris (родительская папка)
...здесь файлыДобавлено (28.01.2018, 22:59) --------------------------------------------- -а реально еще вот что - привести номера треков в такой вид 01 ... 02 ... 03 а то бывают они так прописаны 1/12 ... 2/12
-а коврик можно перед вшитием (не меняя исходный файл, но если это необходимо то с изменением) уменьшить по длинной стороне до 500px, конечно сохраняя пропорции
|
|
| |
chip642 | Дата: Пятница, 16.02.2018, 04:32 | Сообщение № 13 |
|
Цитата Mrakobes ( ) Можно еще одну строку вставить в обе кнопки, чтобы зачищало от всех ID3/APE, Vorbis tags тэгов и устанавливало "только для чтения" (только для файла под курсором, в данном случае FLAC)
Можете сами добавить в кнопку после команды переименования, как отдельную команду =>
Для элемента под курсором будет установлен атрибут "только чтение".
Цитата Mrakobes ( ) Из всех выделенных файлов удаляются все тэги
Если честно я с этими аудио тегами не знаком, как их удалять и как их прописывать не знаю, да и времени вникать во всё это, к сожалению, нет. Попробуйте сами, если возникнут вопросы касаемо функций TCIMG, то незамедлительно придём на помощь.
|
|
| |
chip642 | Дата: Пятница, 16.02.2018, 04:32 | Сообщение № 14 |
|
Цитата Mrakobes ( ) может подпилите кнопочку "С установкой курсора на аудио файл"?
Вроде так, тестируем.
Код slist=PS<"%p"//1//0//*.cue|*.flac|*.ape|*.wv|*.log> attrb=$GLOBALSLIST||-R!!1 renms=$GLOBALSLIST||##<info=f62:://#~~-~~//f61:://>||upd<1> tends=PS<"%p"//1//0//*.cue> textt=GLOBALTENDS<1>||code<3>||backup<0> copyy=GLOBALTENDS<1>||"%p"!!1||**1!!?.bak||attr<+H!!0> aends=@%P%N||##path<83>||$$descript.ion nends=@<info=f62%P%N//>??-1||~~!!@CRLF||#L2 <IF> 1 <> <info=t61$GLOBALNENDS[1]> <THEN> lends=@<info=f62%P%N//> <ELSE> lends=@<info=f62%P%N//>||^^''||$$'' <ENDIF> count=GLOBALAENDS<1>||GLOBALLENDS<1>||0||countline<1|2> bends=GLOBALCOUNT<1>!!-6~~(||)!!||&&''!!||#G7 pends=@<info=f62%P%N//#~~-~~//f61%P%N//> kends=GLOBALPENDS<1>||$$.<info=o71%P%N//>||^^''||$$'' hends=@<info=f62%P%N//>||^^''||$$'' fends=@%P%N||##path<82>||$$descript.ion rends=@<info=o91%P%N//>||^^''||$$'' count=GLOBALFENDS<1>||GLOBALRENDS<1>||0||countline<1|2> mends=GLOBALCOUNT<1>||formt<0!!(?m)([(][^\r\n]*)> gends=@<info=o91%P%N//>||&&^.{7}!!||^^''||$$'' cends=@<info=f61%P%N//>||&&^(....)(.*)$!!$1 iends=REM~~GENRE@CRLFREM~~DATE@CRLFREM~~COMMENT@CRLFCATALOG@CRLFPERFORMER@CRLFTITLE@CRLF@CRLFFILE??-1 textt=GLOBALTENDS<1>||<dellist=$GLOBALIENDS|4>||formt<63>||backup<0> sends=REM~~GENRE~~GLOBALBENDS<x2>@CRLFREM~~DATE~~GLOBALCENDS<1>@CRLFREM~~COMMENT~~GLOBALMENDS<1>@CRLFCATALOG~~GLOBALBENDS<x3>@CRLFPERFORMER~~GLOBALHENDS<1>@CRLFTITLE~~GLOBALGENDS<1>@CRLFFILE~~GLOBALKENDS<1>~~WAVE??1 textt=GLOBALTENDS<1>||^^GLOBALSENDS<x1>@CRLF||backup<0>||upd<1> openf=GLOBALTEXTT<1>||open<ASSOC>
Цитата Mrakobes ( ) Или это совсем наглость адовая??
Всё нормально, главное, чтобы пригодилось всё это.
|
|
| |
chip642 | Дата: Пятница, 16.02.2018, 04:32 | Сообщение № 15 |
|
Mrakobes
Пока так.
!-я кнопка, *.flac в папке CD.
Код slist=PS<"%p"//1//0//*.cue|*.flac|*.ape|*.wv|*.log> attrb=$GLOBALSLIST||-R!!1 renms=$GLOBALSLIST||##<info=f63:://#~~-~~//f62:://#~~(//f61:://#)>||upd<1> tends=PS<"%p"//1//0//*.cue> textt=GLOBALTENDS<1>||code<3>||backup<0> copyy=GLOBALTENDS<1>||"%p"!!1||**1!!?.bak||attr<+H!!0> aends=@%P%N||##path<84>||$$descript.ion nends=@<info=f63%P%N//>??-1||~~!!@CRLF||#L2 <IF> 1 <> <info=t61$GLOBALNENDS[1]> <THEN> lends=@<info=f63%P%N//> <ELSE> lends=@<info=f63%P%N//>||^^''||$$'' <ENDIF> count=GLOBALAENDS<1>||GLOBALLENDS<1>||0||countline<1|2> bends=GLOBALCOUNT<1>!!-6~~(||)!!||&&''!!||#G7 pends=@<info=f63%P%N//#~~-~~//f62%P%N//#~~(//f61%P%N//#)> kends=GLOBALPENDS<1>||$$.<info=o71%P%N//>||^^''||$$'' hends=@<info=f63%P%N//>||^^''||$$'' fends=@%P%N||##path<83>||$$descript.ion bufsr=<info=o92%P%N//>||^^''||$$'' count=GLOBALFENDS<1>||clpget||0||countline<1|2> mends=GLOBALCOUNT<1>||&&([^\r\n]+)''!!||#G1 gends=@<info=o92%P%N//>||&&^.{7}!!||^^''||$$'' cends=@<info=f62%P%N//>||&&^(....)(.*)$!!$1 iends=REM~~GENRE@CRLFREM~~DATE@CRLFREM~~COMMENT@CRLFCATALOG@CRLFPERFORMER@CRLFTITLE@CRLF@CRLFFILE??-1 textt=GLOBALTENDS<1>||<dellist=$GLOBALIENDS|4>||formt<63>||backup<0> sends=REM~~GENRE~~GLOBALBENDS<x2>@CRLFREM~~DATE~~GLOBALCENDS<1>@CRLFREM~~COMMENT~~GLOBALMENDS<1>@CRLFCATALOG~~GLOBALBENDS<x3>@CRLFPERFORMER~~GLOBALHENDS<1>@CRLFTITLE~~GLOBALGENDS<1>@CRLFFILE~~GLOBALKENDS<1>~~WAVE??1 textt=GLOBALTENDS<1>||^^GLOBALSENDS<x1>@CRLF||backup<0>||upd<1> openf=GLOBALTEXTT<1>||open<ASSOC>
2-я кнопка, *.flac на уровень выше..
Код slist=PS<"%p"//1//0//*.cue|*.flac|*.ape|*.wv|*.log> attrb=$GLOBALSLIST||-R!!1 renms=$GLOBALSLIST||##<info=f62:://#~~-~~//f61:://>||upd<1> tends=PS<"%p"//1//0//*.cue> textt=GLOBALTENDS<1>||code<3>||backup<0> copyy=GLOBALTENDS<1>||"%p"!!1||**1!!?.bak||attr<+H!!0> aends=@%P%N||##path<83>||$$descript.ion nends=@<info=f62%P%N//>??-1||~~!!@CRLF||#L2 <IF> 1 <> <info=t61$GLOBALNENDS[1]> <THEN> lends=@<info=f62%P%N//> <ELSE> lends=@<info=f62%P%N//>||^^''||$$'' <ENDIF> count=GLOBALAENDS<1>||GLOBALLENDS<1>||0||countline<1|2> bends=GLOBALCOUNT<1>!!-6~~(||)!!||&&''!!||#G7 pends=@<info=f62%P%N//#~~-~~//f61%P%N//> kends=GLOBALPENDS<1>||$$.<info=o71%P%N//>||^^''||$$'' hends=@<info=f62%P%N//>||^^''||$$'' fends=@%P%N||##path<82>||$$descript.ion bufsr=<info=o91%P%N//>||^^''||$$'' count=GLOBALFENDS<1>||clpget||0||countline<1|2> mends=GLOBALCOUNT<1>||&&([^\r\n]+)''!!||#G1 gends=@<info=o91%P%N//>||&&^.{7}!!||^^''||$$'' cends=@<info=f61%P%N//>||&&^(....)(.*)$!!$1 iends=REM~~GENRE@CRLFREM~~DATE@CRLFREM~~COMMENT@CRLFCATALOG@CRLFPERFORMER@CRLFTITLE@CRLF@CRLFFILE??-1 textt=GLOBALTENDS<1>||<dellist=$GLOBALIENDS|4>||formt<63>||backup<0> sends=REM~~GENRE~~GLOBALBENDS<x2>@CRLFREM~~DATE~~GLOBALCENDS<1>@CRLFREM~~COMMENT~~GLOBALMENDS<1>@CRLFCATALOG~~GLOBALBENDS<x3>@CRLFPERFORMER~~GLOBALHENDS<1>@CRLFTITLE~~GLOBALGENDS<1>@CRLFFILE~~GLOBALKENDS<1>~~WAVE??1 textt=GLOBALTENDS<1>||^^GLOBALSENDS<x1>@CRLF||backup<0>||upd<1> openf=GLOBALTEXTT<1>||open<ASSOC>
--------------------------
Цитата по структуре выглядит так (где ~ это пробел а > табуляция)
Что значит имеется такое содержимое, но по структуре такое-то, с каким текстом утилита должна работать?
|
|
| |
|