<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK:Оффлайн радио-Создание CUE]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=13530</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13530&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK:Оффлайн радио-Создание CUE».]]></description>
		<lastBuildDate>Sun, 11 Mar 2018 21:16:06 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[AHK:Оффлайн радио-Создание CUE]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124016#p124016</link>
			<description><![CDATA[<p>Около года назад открыл для себя программу Audacity. С тех пор постоянно нахаляву качаю радио на свой компьютер. По принципу: на ночь включил и всю ночь музыка пишется в формате flac. Качество хорошее но и вес тоже неплохой: сейчас у меня ~100ГБ. Все бы хорошо, но треки большие <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> по 6-8 ГБ. Поэтому вроде музыки много а толку мало, так как надоест такой трек.<br />	Вот я и придумал себе помощника который на каждый имеющийся в папке файл *.flac напишет мне файл *.cue, с разбивкой на 10-минутные треки. Потом папку загружаешь в плейлист AIMP, включаешь случайный выбор и кайфуешь. Чувство новизны!<br /></p><div class="codebox"><pre><code>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;              Оффлайн радио-Создание CUE          ;;;
;;;                Claus555, 11/03/2018г.            ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Данный скрипт позволяет разбить большие flac файлы на треки по 10 минут
;путем создания одноименных файлов .cue
;При добавлении обработанной таким образом папки с файлами flac
;в плейлист AIMP-плеера, в нем будут созданы треки по 10 минут,
;которые можно проигрывать в случайном порядке!

;Есть два режима работы скрипта: 1)Работа с отдельным файлом
;2)Пакетный режим(работа с папкой)
;Рекомендую сперва выбрать пакетный режим, а недочеты исправлять в первом режиме

;Меры предосторожности: в пакетном режиме
;если файл CUE с данным именем уже существует, он переписываться НЕ БУДЕТ
;все останется как есть.

InputBox, mod, Выберите режим (файл`,пакетный),
(
Какой режим вы выбираете?`nфайл-введите &quot;1&quot;
пакетный(папка)-введите  &quot;2&quot;
)
if (mod = &quot;&quot;) ;если не выбран режим-выход
ExitApp 

SizeTrek:=116300 ;кБ - вес 10 минут , надо определять опытным путем

InputBox, Size, Введите вес трека (кБ/10мин) ,
(
Высчитать вес трека можно по формуле:
SizeTrek=(Размер Файла(кБ)/Общее время звучания(мин))*10
По умолчанию %SizeTrek%кБ
)
if (Size != &quot;&quot;) 
SizeTrek:=Size

if (mod=1)
Gosub, s1
else if (mod=2)
Gosub, s2
ExitApp 

s1: 
t1=---------------------------------------------Выберите файл(*.flac)
t2=для разбивки -----------------------------------
FileSelectFile, File, , ,%t1% %t2% 
if (File=&quot;&quot;) ;если не выбран файл-выход
Return 

SplitPath, File, Name ;имя файла + расширение
SplitPath, File,, Dir ;путь до файла
FileName:=SubStr(Name, 1, InStr(Name, &quot;.&quot;) -1) ;чистое имя (без расширения)
IfExist, %Dir%\%Name%.cue ;если файл cue существует
{
	MsgBox , 4, , Файл *.cue существует, переписать его?
	IfMsgBox Yes
	{
	FileDelete, %Dir%\%FileName%.cue 
	Gosub, s3
	}
	else
	ExitApp
}
s3:
FileGetSize, FileSize, %File%, K
if (FileSize&lt;=SizeTrek) ; если размер файла меньше размера трека
ExitApp 

SumTrek:=Floor(FileSize/SizeTrek) ;количество 10-минутных треков в файле
Rec=
(
FILE `&quot;%Name%`&quot; WAVE
TRACK 1 AUDIO
INDEX 01 00:00:00
)
FileAppend, %Rec%`n, %Dir%\%FileName%.cue

Loop, % SumTrek
	{
	NTrek:=A_Index+1
	Trek_Min:=(NTrek-1)*10
Rec=
(
TRACK %NTrek% AUDIO
INDEX 01 %Trek_Min%:00:00
)
	FileAppend, %Rec%`n, %Dir%\%FileName%.cue
	}
ExitApp 
	
s2:
txt:=&quot; Выберите папку с файлами FLAC `n в ней для каждого файла flac будет создан свой cue `n с разбивкой на треки по 10 мин&quot; 
FileSelectFolder, Folder ,  ,  ,  %txt%
if (Folder=&quot;&quot;) ;если не выбрана папка-выход
return

;Просмотр содержимого папки 
Loop, %Folder%\*.flac  	;, , 1  Рекурсия: Просмотр всех папок, в том числе вложенных(Выведено).
{
FileName:=SubStr(A_LoopFileName, 1, InStr(A_LoopFileName, &quot;.&quot;) -1) ;чистое имя (без расширения)
IfExist, %A_LoopFileDir%\%FileName%.cue ;если файл cue существует 
continue ;прокрутка цикла вперед 

if (A_LoopFileSizeKB&lt;=SizeTrek) ; если размер файла меньше размера трека
continue ;прокрутка цикла вперед

SumTrek:=Floor(A_LoopFileSizeKB/SizeTrek) ;количество 10-минутных треков в файле

Rec=
(
FILE `&quot;%A_LoopFileName%`&quot; WAVE
TRACK 1 AUDIO
INDEX 01 00:00:00
)
FileAppend, %Rec%`n, %A_LoopFileDir%\%FileName%.cue

	Loop, % SumTrek
	{
	NTrek:=A_Index+1
	Trek_Min:=(NTrek-1)*10
Rec=
(
TRACK %NTrek% AUDIO
INDEX 01 %Trek_Min%:00:00
)
	FileAppend, %Rec%`n, %A_LoopFileDir%\%FileName%.cue
	}
}
ExitApp
</code></pre></div><p>Таким же макаром можно и MP3 и другие форматы обрабатывать только нужно немножко скрипт подогнать под нужное расширение.</p>]]></description>
			<author><![CDATA[null@example.com (sabir.yanin2014)]]></author>
			<pubDate>Sun, 11 Mar 2018 21:16:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124016#p124016</guid>
		</item>
	</channel>
</rss>
