foobar2000
foo_run
AuSpec (~600 Кб)
распаковываем содержимое архива в папку «foobar2000\tools\AuSpec»
в настройках foo_run создаём новый пункт AuSpec, прописываем команду:
- Код: Выделить всё
.\tools\AuSpec\AuSpec.vbs /path:"%path%" /codec:"%codec%" /track:%track% /AskForDirs:1 /ForceDel:0
[code=AuSpec.vbs]'AuSpec.vbs
'foobar AuSpec script for foo_run
'AuSpec.vbs /path:"%path%" /codec:"%codec%" /track:%track% /AskForDirs:1 /ForceDel:0
'-------------------------------------------------------------------------------------------------
Dim A, D, S, path, FSO, cue
Dim objRegExp, objMatches, objMatch
Set A = WScript.Arguments.Named
Set objRegExp = CreateObject("VBScript.RegExp")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
path = A("path")
D = False
'-------------------------------------------------------------------------------------------------
'Проверка на архив
If InStr(A("path"), "|") Then
MsgBox("Альбом находится в архиве")
WScript.Quit
End If
'-------------------------------------------------------------------------------------------------
'Мессаджбокс
If A("AskForDirs") Then
If MsgBox("Создать спектрограммы для каждого файла в папке?" & vbCrLf & _
"Нет = только для одного файла" _
,vbYesNo+vbInformation+vbDefaultButton2,"Вывод спектрограммы")= vbYes Then
path = FSO.GetFile(A("path")).ParentFolder.Path
D = True
End If
End If
'-------------------------------------------------------------------------------------------------
'Проверка на CUE
If Not D And Right(A("path"),3) = "cue" Then
cue = CreateObject("Scripting.FileSystemObject").OpenTextFile(A("path")).ReadAll()
objRegExp.Global = True
objRegExp.Pattern = "FILE[\s]*""([^""]+)"""
Set objMatches = objRegExp.Execute(cue)
S = 0
If objMatches.Count > 1 Then
S = A("track") - 1
End If
path = FSO.GetFile(A("path")).ParentFolder.Path & "\" & _
objMatches.Item(S).SubMatches(0)
End If
'-------------------------------------------------------------------------------------------------
'Генерация файл(а/ов)
WshShell.CurrentDirectory = ".\tools\AuSpec\"
Call WshShell.Run("AuSpec_Pre.exe " & Chr(34) & path & Chr(34), 1, True)
'-------------------------------------------------------------------------------------------------
'Запуск просмотровщика
If D Then
For Each File In FSO.GetFolder(path).Files
If FSO.FileExists(File.Path & ".png") Then
path = File.Path
Exit For
End If
Next
End If
Call WshShell.Run(Chr(34) & path & ".png" & Chr(34), 1, True)
'-------------------------------------------------------------------------------------------------
'Удаление
If A("ForceDel") = 0 Then
If MsgBox("Удалить файл(ы) спектрограммы?" _
,vbOkCancel+vbInformation+vbDefaultButton1,"") = vbCancel Then
WScript.Quit
End If
End If
For Each File In FSO.GetFile(path).ParentFolder.Files
If FSO.FileExists(File.Path & ".png") Then
FSO.GetFile(File.Path & ".png").Delete
End If
Next[/code]
Программа создаёт картинку и складывает её туда же, где находятся музыкальные файлы. Картинка открывается в просмотровщике, ассоциированном у вас в системе с форматом png. После закрытия просмотровщика выдаётся запрос, удалять ли картинку со спектром или оставить лежать в папке.
Вертикальные линии — тонкие через каждые 10 секунд, толстые через каждую минуту.
Горизонтальные линии — тонкие каждый 1 кГц, толстые — каждые 5 кГц.
[table][tr][td]lossless[/td][td]mp3 192 kbps (видно срез на 16 кГц)[/td][/tr]
[tr][td][/td][td][/td][/tr][/table]
AuSpec понимает следующие форматы: mp3, ogg, wav, aiff, mp2, mp1, wma, ape, flac
не понимает другие форматы и файлы из архивов