Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Автоматизация в создании lossless дискографий
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
stan208



Joined: 08 Nov 2006
Posts: 11

Post (Separately) Posted: Fri Dec 20, 2013 03:41    Post subject: Автоматизация в создании lossless дискографий Reply with quote

Уважаемые специалисты, очень давно нужна кнопка, надеюсь поможете.
Имеем три файла, полученные в процессе снятия рипа с CD:
Fancy - Bolero.cue
Fancy - Bolero.log
Fancy - Bolero.wav
Первый - CUE, текстовый файл разметки, имеющий вид:
Code:
REM GENRE EuroDisco
REM DATE 1986
REM DISCID 65098F09
REM COMMENT "ExactAudioCopy v1.0b3"
CATALOG 0042283120129
PERFORMER "Fancy"
TITLE "Bolero"
FILE "Fancy - Bolero.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Reaving Queen"
    PERFORMER "Fancy"
    ISRC <cM@58625190
    INDEX 00 00:00:00
    INDEX 01 00:00:33
  TRACK 02 AUDIO
    TITLE "Don't Want To Go"
    PERFORMER "Fancy"
    ISRC <cM@58625200
    INDEX 00 04:20:63
    INDEX 01 04:21:28
  TRACK 03 AUDIO
    TITLE "Bolero (Hold Me In Your Arms Again)"
    PERFORMER "Fancy"
    ISRC <cM@58625210
    INDEX 00 08:27:23
    INDEX 01 08:28:10
  TRACK 04 AUDIO
    TITLE "Feedback, Feedback"
    PERFORMER "Fancy"
    ISRC <cM@58625220
    INDEX 00 12:31:20
    INDEX 01 12:33:18
  TRACK 05 AUDIO
    TITLE "Save The Moment"
    PERFORMER "Fancy"
    ISRC <cM@58625230
    INDEX 00 17:36:13
    INDEX 01 17:38:23
  TRACK 06 AUDIO
    TITLE "Lady Of Ice"
    PERFORMER "Fancy"
    ISRC <cM@58625240
    INDEX 00 21:57:23
    INDEX 01 21:58:23
  TRACK 07 AUDIO
    TITLE "Girl Don't Let Me Down"
    PERFORMER "Fancy"
    ISRC <cM@58625250
    INDEX 00 26:33:15
    INDEX 01 26:34:55
  TRACK 08 AUDIO
    TITLE "Latin Fire"
    PERFORMER "Fancy"
    ISRC <cM@58625260
    INDEX 00 30:54:35
    INDEX 01 30:55:10
  TRACK 09 AUDIO
    TITLE "After Midnight"
    PERFORMER "Fancy"
    ISRC <cM@58625270
    INDEX 00 36:05:35
    INDEX 01 36:08:35

Второй файл - отчет о снятии рипа. Третий - собственно сам образ диска.
Задача: выделив эти три файла и нажав на кнопку, переместить их во вновь созданную папку, полученную по заранее заданному шаблону, по информации из CUE.
Например:
В данном CUE имеется две строки:
Code:
REM DATE 1986

Code:
TITLE "Bolero"

На основе этой информации, вновь созданная папка должна называться - 1986.Bolero. (То есть - Год.Название альбома).
И разумеется, если изначально в корневой папке не три файла, а например девять (три тройки файлов с одинаковым названием каждой тройки, то есть три рипа), они должны "расфасоваться" в три новых папки, каждая из которых названа по тому же шаблону, по информации из CUE каждой тройки.
Вроде все понятно объяснил. Очень надеюсь на вашу помощь.
P.S. И да, если не сложно, очень хотелось бы, что бы во вновь созданной папке, всегда создавалась еще одна, с определенным постоянным названием. Например - "Covers" (или любым другим, которое можно задать самостоятельно).


Last edited by stan208 on Sun Dec 22, 2013 04:57; edited 2 times in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Dec 21, 2013 11:58    Post subject: Reply with quote

stan208 wrote:
Задача: выделив эти три файла

stan208 wrote:
если изначально в корневой папке не три файла, а например девять (три тройки файлов с одинаковым названием каждой тройки, то есть три рипа), они должны "расфасоваться" в три новых папки

1. Т.е. в итоге не 3 файла может быть выделено, и задача некорректна?
2. И что, если выделено 1/2 файла из тройки?
3. REM DATE/TITLE всегда будут на 2/7 строках?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
stan208



Joined: 08 Nov 2006
Posts: 11

Post (Separately) Posted: Sat Dec 21, 2013 16:07    Post subject: Reply with quote

Flasher
Большое спасибо за отклик. Даже временно остановил создание рипов, в ожидании решения.

Flasher wrote:
1. Т.е. в итоге не 3 файла может быть выделено, и задача некорректна?
2. И что, если выделено 1/2 файла из тройки?

Не думал об этом. Но можно упростить задачу. При выделении только файла cue, все файлы с точно таким же названием из этой же папки перемещаются во вновь созданную папку, созданную по информации из него. Соответственно, если выделено 3 cue, то все файлы из корневой папки расфасовываются тройками в соответствии с их названиями. Название всех файлов в тройках всегда одинаковы, только расширения разные.
Flasher wrote:
3. REM DATE/TITLE всегда будут на 2/7 строках?

Что бы не усложнять задачу - да. Хотя, если возможно сделать процесс более универсальным, то не очень хотелось бы к привязываться к номеру строки. Некоторые программы в cue добавляют строки со своими комментариями. Соответственно, строки могут сдвинуться. Но если сложно, то хотя бы с привязкой к номерами строк. И наоборот, если, вдруг, какой-то из этих двух строк нет, то в название новой папки поставляется нижний прочерк.
Я далек от программирования, но представлял себе так, что поскольку REM DATE и TITLE - стандартные теги в cue, скрипт должен их найти и подставить в название новой папки те значения, которые в них указаны.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sat Dec 21, 2013 16:24    Post subject: Reply with quote

CMD
Code:
@echo off &setlocal enableextensions

::   Параметры:   "%WL"
set "Folder2=Covers"

for /f "delims=" %%b in ('type "%~1" ^|findstr /ei /c:".cue"') do (
   call :Year "%%b"
   call :Title "%%b"
   call :Folder "%%b" "%%Year%%.%%Title%%\"
)
goto :eof

:Year
for /f "tokens=3 delims= " %%d in ('findstr /r /c:"REM DATE [0-9]*" %1') do (
   set "Year=%%d" &goto :eof
)
goto :eof

:Title
for /f "tokens=1,*" %%f in ('findstr /c:"TITLE " %1') do (
   set "Title=%%~g" &goto :eof
)
goto :eof

:Folder
md "%~2\%Folder2%\" 2>nul
move "%~dp1\%~n1.*" %2
goto :eof

значение имеют только выделенные .cue


Last edited by Tol!k on Sat Dec 21, 2013 17:08; edited 1 time in total
Back to top
View user's profile Send private message
stan208



Joined: 08 Nov 2006
Posts: 11

Post (Separately) Posted: Sat Dec 21, 2013 16:38    Post subject: Reply with quote

Tol!k
Ух ты! Огромное спасибо! Но что бы проверить, не буду навязчив, если попрошу код кнопки, на которую этот скрипт повесить? Ибо я в этом полный ноль. Прошу не судить строго.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sat Dec 21, 2013 16:58    Post subject: Reply with quote

Code:
TOTALCMD#BAR#DATA
%commander_path%\Scripts\cue2folder.cmd
"%WL"
shell32.dll,178
.cue > Folder

1
-1
както так

зы
исправил код
Back to top
View user's profile Send private message
stan208



Joined: 08 Nov 2006
Posts: 11

Post (Separately) Posted: Sat Dec 21, 2013 17:09    Post subject: Reply with quote

Tol!k
Все проверил, просто волшебство какое-то. Работает как часы. Правда, искренне признателен. Просто нечеловеческое спасибо!
Избавился от множества лишних телодвижений Smile. Когда создаешь под сотню рипов, эти телодвижения становятся очень обременительными.
Back to top
View user's profile Send private message
stan208



Joined: 08 Nov 2006
Posts: 11

Post (Separately) Posted: Sun Dec 22, 2013 00:11    Post subject: Reply with quote

Tol!k
Прошу прощения, но аппетит, как известно, приходит во время еды Smile.
Если бы Вы помогли бы решить еще несколько рутинных задач, то размеры моей признательности...
Кратко поясню, для чего это все нужно. Для создания lossless дискографий на рутрекере.
Итак, создав рипы 50-ти дисков, после использования скрипта выше, мы получили 50 папок вида:
1986.Lady Of Ice
1987.China Blue
1987.Latin Fire
.......
2013.Flames Of Love Megamix

В каждой папке по три файла (не считая папки "Covers"). Задача: одной кнопкой, выделив все cue файлы, переименовать их, добавив в имя файла значение ".wav".
В то же самое время, создать копию всех этих файлов в этих же папках, но параллельно добавив в имя значение ".flac". При этом, необходимо заменить в тексте копии файла в 8-й строке расширение ".wav" на ".flac"
То есть, на примере выше, нужно в итоге получить в папке 1986.Bolero, следующие файлы:
Fancy - Bolero.flac.cue
Fancy - Bolero.wav.cue
Fancy - Bolero.log
Fancy - Bolero.wav

В первом файле 8-я строка выглядит так:
Code:
FILE "Fancy - Bolero.flac" WAVE

Во втором все остается как было:
Code:
FILE "Fancy - Bolero.wav" WAVE

Это возможно реализовать одной кнопкой?
Если все получится и дальше, обязательно на рутрекере создам тему - "Помощь при создании дискографий с использованием Total Commander". Со ссылкой на Вас и на всех, кто поможет. Заранее спасибо!
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Dec 22, 2013 01:26    Post subject: Reply with quote

stan208
Советую смотреть в сторону CUETools и CUECorrector, там частично это решаемо.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
stan208



Joined: 08 Nov 2006
Posts: 11

Post (Separately) Posted: Sun Dec 22, 2013 02:15    Post subject: Reply with quote

Flasher
Разумеется, обе эти утилиты у меня есть и обе я активно использую. CUETools - в отношении создания контейнеров с вшитыми log и .cue. CUECorrector - прекрасно с этим справляется, но в отложенном режиме и при открытии каждого cue. Там это решаемо полностью. Причем, CUECorrector написал наш модератор.
Но они оказываются бесполезными в том плане, что работают либо в фоновом режиме, либо в плане отложенного задания, когда необходимо открывать каждый файл cue. А очень хочется это автоматизировать, нажатием одной "заветной кнопки". Прекрасно отдаю себе отчет, что запрошенные мной задачи узкоспециализированные, но если не затруднит, почему бы Вам мне не помочь? Буду крайне признателен.
Повторюсь, если все получится, создам отдельную тему в помощь нашим пользователям.


Last edited by stan208 on Wed Dec 25, 2013 23:34; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Dec 22, 2013 02:38    Post subject: Reply with quote

stan208
Для начала стоит переменовать топик на что-то, отражающее суть всех ТЗ.
Я тут одному *персонажу* уже делал скрипт по правке расширений внутри CUE, его забанили.
Могу скинуть в ЛС то, что тогда получилось.
Что касается всё одной кнопкой? А так ли часто требуется всё и сразу? Почему нельзя последовательно переименовать и сделать копии средствами TC?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
stan208



Joined: 08 Nov 2006
Posts: 11

Post (Separately) Posted: Sun Dec 22, 2013 03:38    Post subject: Reply with quote

Flasher
Quote:
Для начала стоит переменовать топик на что-то, отражающее суть всех ТЗ.

Откровенно говоря, если это необходимо, подразумевал, что это сделает модератор. Прошу прощения, если что-то нарушил, у нас обычно так и происходит.
Quote:
Я тут одному *персонажу* уже делал скрипт по правке расширений внутри CUE, его забанили.

Искренне надеюсь, что я не разделю его судьбу. Видимо нужно представиться. Я - админ музыкальных категорий на рутрекере. А соответственно, не дам ни малейшего повода себя забанить. С правилами форумов очень хорошо знаком (постоянно их цитирую пользователям).
Quote:
Могу скинуть в ЛС то, что тогда получилось.
Что касается всё одной кнопкой? А так ли часто требуется всё и сразу? Почему нельзя последовательно переименовать и сделать копии средствами TC?

Разумеется, я был бы признателен за абсолютно любой вариант. Сюда или в ЛС.
Часто. Сейчас я создаю очередную дискографию рипов с CD.
Можно и переименовать, но представьте последовательность действий:
Получен рип с тремя файлами. Их нужно перекинуть в соответствующую папку. Переименовать ее в соответствии с годом. Добавить в эту папку папку "Covers". Перекинуть туда сканы.
Затем, скопировать все файлы .cue в другую папку. Переименовать первые и вторые. Потом, кнопкой нахождения текста подставить в искомую строку *flac". Затем, еще нужно во всех этих 50-ти рипах (а в моих раздачах их бывает больше сотни) нужно еще и сами образы ".wav" перекодировать.
Вот это все очень хотелось бы автоматизировать. Почему и обратился к "гуру". Поможете?
Кстати, с точки зрения популярности ресурса (если Вас это заботит). Прямая ссылка в теме помощи по разделу, могла бы несколько поднять популярность (посещаемость) вашего ресурса. Если это Вас (администраторов ресурса) это интересует.


Last edited by stan208 on Wed Dec 25, 2013 23:35; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Dec 22, 2013 03:56    Post subject: Reply with quote

stan208 wrote:
Откровенно говоря, если это необходимо, подразумевал, что это сделает модератор.
Логичней было бы обойтись без его вмешательства.

stan208 wrote:
Вот это все очень хотелось бы автоматизировать. Почему и обратился к "гуру". Поможете?
Т.е. нужно всё, начиная от исходной задачи и заканчивая перекодировкой wav, сделать одним скриптом?
Сделать, конечно, реально. Вопрос в целесообразности. Общественной нужды пока особой не вижу. А так посмотрим по времени. Если Tol!k спохватится продолжить свой батник, то "мешать" уже не буду.

Вариант замены в CUE скинул.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
stan208



Joined: 08 Nov 2006
Posts: 11

Post (Separately) Posted: Sun Dec 22, 2013 04:17    Post subject: Reply with quote

Flasher
Quote:
Логичней было бы обойтись без его вмешательства.

Согласен с Вами. Новое название темы подойдет? Smile
Quote:
Т.е. нужно всё, начиная от исходной задачи и заканчивая перекодировкой wav, сделать одним скриптом?

Нет. Этого как раз не нужно. Подразумевал тремя- четырьмя кнопками. Каждая - для своей операции. Все в кучу бросать не нужно.
Quote:
Сделать, конечно, реально. Вопрос в целесообразности. Общественной нужды пока особой не вижу. А так посмотрим по времени. Если Tol!k спохватится продолжить свой батник, то "мешать" уже не буду.

Да ну, Вас. Прекратите. Вопрос целесообразности я уже озвучил. Если, Вам это не очень затруднительно, просто прошу - помогите. В конце-в конце-концов, у вас, на вашем ресурсе не настолько большой "обвал". Хотите обмен? Со своей стороны, готов оказать Вам любую поддержку на рутрекере. Начиная от создания раздач и заканчивая поддержанием Ваших.
Quote:
Вариант замены в CUE скинул.

Огромное спасибо, сейчас буду пробовать.
P.S. Если не сложно, объясните дубу, куда сей скрипт приложить и какую кнопку назначить. Повторюсь, в программировании я полный ноль.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Dec 22, 2013 04:54    Post subject: Reply with quote

stan208 wrote:
Новое название темы подойдет?
"Полезные кнопки для создания" лучше поменять на "Автоматизация в создании".
stan208 wrote:
Нет. Этого как раз не нужно. Подразумевал тремя- четырьмя кнопками. Каждая - для своей операции. Все в кучу бросать не нужно.
Если по отдельности, то уже проще. Тогда можно смотреть уже существующие решения по переименованию и копированию, раз это не один проект.

P.S. В ЛС.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group