Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Playlist-Tools-SMP (Read 69723 times) previous topic - next topic
0 Members and 3 Guests are viewing this topic.

Re: Playlist-Tools-SMP

Reply #325
Hi @regor

I have a doubt about EBUR 128 Scanner with ffmpeg.

As you know, I'm on Linux, running fb2k v2-32bits through wine.

I download a 32bit static ffmpeg from here, add to the executables _32 and put them in the ffmpeg folder in helpers-external.

With this the menu is still disabled, so I download the 64 binaries and put them inside too.

Now the menu entry is available but when I tried to tag any file the scan seems to work (it shows in the console and I can see the ffmpeg_32.exe in the system monitor processes) bur when it finishes, it always fails to write the tags.

What I'm missing?

Additional info. After showing the popup window saying that it finishes and fails to write the tags the button doesn't return to normal status and still shows Stop execution, manually force next step with available tools disable. I must stop execution to return to normal state.

The first is a bug, it checks for 64 binaries in any both cases to enable the tool. Will fix it to check the proper binary according to OS, so only 32 binary is needed. (up on github now)
Quote
it always fails to write the tags.

What I'm missing?
That may be related to a lot of things, can not help without more info. You may try disabling sed at the bat file, if that's the thing failing (?). xxx-scripts\helpers-external\ffmpeg\ffmpeg.bat
Code: [Select]
SET useSed=FALSE

Quote
Additional info. After showing the popup window saying that it finishes and fails to write the tags the button doesn't return to normal status and still shows Stop execution, manually force next step with available tools disable. I must stop execution to return to normal state.
It's perfectly fine that it requires to stop execution after failing in some cases. What about the console? Which types of files?

Re: Playlist-Tools-SMP

Reply #326
Hi @regor

I have a doubt about EBUR 128 Scanner with ffmpeg.

As you know, I'm on Linux, running fb2k v2-32bits through wine.

I download a 32bit static ffmpeg from here, add to the executables _32 and put them in the ffmpeg folder in helpers-external.

With this the menu is still disabled, so I download the 64 binaries and put them inside too.

Now the menu entry is available but when I tried to tag any file the scan seems to work (it shows in the console and I can see the ffmpeg_32.exe in the system monitor processes) bur when it finishes, it always fails to write the tags.

What I'm missing?

Additional info. After showing the popup window saying that it finishes and fails to write the tags the button doesn't return to normal status and still shows Stop execution, manually force next step with available tools disable. I must stop execution to return to normal state.

The first is a bug, it checks for 64 binaries in any both cases to enable the tool. Will fix it to check the proper binary according to OS, so only 32 binary is needed. (up on github now)
Quote
it always fails to write the tags.

What I'm missing?
That may be related to a lot of things, can not help without more info. You may try disabling sed at the bat file, if that's the thing failing (?). xxx-scripts\helpers-external\ffmpeg\ffmpeg.bat
Code: [Select]
SET useSed=FALSE

Quote
Additional info. After showing the popup window saying that it finishes and fails to write the tags the button doesn't return to normal status and still shows Stop execution, manually force next step with available tools disable. I must stop execution to return to normal state.
It's perfectly fine that it requires to stop execution after failing in some cases. What about the console? Which types of files?


I set "SET useSed=FALSE" in ffmpeg.bat and it fails instantly.

pop-ups

Code: [Select]
1 items processed.
0 items tagged.
1 items failed.

List of failed items:
Z:\mnt\wd\Music\Files\Incoming\Artificial Intelligence\Fifth - 1993 - F.U.S.E. - Dimension Intrusion\1.01 - F.U.S.E. - A New Day.flac

and

Code: [Select]
Json file not found:
Z:\home\user\.foobar2000_v2\profile\js_data\temp\ffmpegJSONThu_Apr_06_20231680802268882.json

Console

Code: [Select]
Called: Add tags on batch to selected tracks
Processing items: 1/1
Json file not found:
 Z:\home\user\.foobar2000_v2\profile\js_data\temp\ffmpegJSONThu_Apr_06_20231680802268882.json
EBUR 128 scanning 100%.
1 items processed.
0 items tagged.
1 items failed.
List of failed items:
Z:\mnt\wd\Music\Files\Incoming\Artificial Intelligence\Fifth - 1993 - F.U.S.E. - Dimension Intrusion\1.01 - F.U.S.E. - A New Day.flac
Spider Monkey Panel v1.6.2-dev+7c0928bf: profiler (EBUR 128 Scanner): Save Loudness tags to files - completed in  22ms

I tried Flac and mp3, no difference. The console didn't show any additional info. No JSON in the temp directory at any time.

Don't know if it is neccesary but after that I also set to False in the _rs.bat (just in case) and repeat the test. No difference

Set it to TRUE didn't make a difference. With the old files the scan was done, but with this new set it didn't happen set to true or false (no ffmpeg_32.exe process)

Re: Playlist-Tools-SMP

Reply #327
That's clearly a unix thing, but no idea.

Doesn't unix have FINDSTR?
Can you run the SED utility on a command line window, found at ffmpeg folder?
Does it happen with any file?

Also it seems you are using a network path (Z) which brings a new set of problems to the table.

Quote
_rs.bat
That one is for use with the run service plugin, so you don't have to touch it at all.
Like:
Code: [Select]
Label : EBU
PATH:
"[FULLPATHTOFOOBARPROFILE]\foobar2000\scripts\SMP\xxx-scripts\helpers-external\ffmpeg\ffmpeg_rs.bat"  "%path%"

Try using that standalone bat, it just requires the path to the track as input, if it doesn't work then you got the problem.

Re: Playlist-Tools-SMP

Reply #328
That's clearly a unix thing, but no idea.

Doesn't unix have FINDSTR?
Can you run the SED utility on a command line window, found at ffmpeg folder?
Does it happen with any file?

Also it seems you are using a network path (Z) which brings a new set of problems to the table.

Quote
_rs.ba
That one is for use with the run service plugin, so you don't have to touch it at all.
Like:
Code: [Select]
Label : EBU
PATH:
"[FULLPATHTOFOOBARPROFILE]\foobar2000\scripts\SMP\xxx-scripts\helpers-external\ffmpeg\ffmpeg_rs.bat"  "%path%"

Try using that standalone bat, it just requires the path to the track as input, if it doesn't work then you got the problem.

No idea what a FINDSTR is  :D

I can run the sed.exe, without a file to feed it, it shows the commands.

The z: is a wine thing. Wine put the file system in there. It is a local disk.

The bat file gives me this

Code: [Select]
Microsoft Windows 10.0.18362

Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ff
mpeg>test.bat 01.mp3

Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ff
mpeg>Label : EBU
Error de sintaxis

Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ff
mpeg>PATH:

Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ff
mpeg>"Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-exter
nal\ffmpeg\ffmpeg_rs.bat"  ":"
Processing: ":"

ffmpeg version n6.0-ffmpeg-windows-build-helpers Copyright (c) 2000-2023 the FFm
peg developers
  built with gcc 10.2.0 (GCC)
  configuration: --pkg-config=pkg-config --pkg-config-flags=--static --extra-ver
sion=ffmpeg-windows-build-helpers --enable-version3 --disable-debug --disable-w3
2threads --arch=x86 --target-os=mingw32 --cross-prefix=/home/anton/ffmpeg-window
s-build-helpers/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- --e
nable-libcaca --enable-gray --enable-libtesseract --enable-fontconfig --enable-g
mp --enable-libass --enable-libbluray --enable-libbs2b --enable-libflite --enabl
e-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libil
bc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-l
ibopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-l
ibspeex --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-
libvorbis --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libmysofa
--enable-libopenjpeg --enable-libopenh264 --enable-libvmaf --enable-libsrt --ena
ble-libxml2 --enable-opengl --enable-libdav1d --enable-cuda-llvm --enable-gnutls
 --enable-libaom --enable-nvenc --enable-nvdec --extra-libs=-lharfbuzz --extra-l
ibs=-lm --extra-libs=-lshlwapi --extra-libs=-lmpg123 --extra-libs=-lpthread --ex
tra-cflags=-DLIBTWOLAME_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-D
CACA_STATIC --enable-amf --enable-libmfx --enable-gpl --enable-frei0r --enable-l
ibrubberband --enable-libvidstab --enable-libx264 --enable-libx265 --enable-avis
ynth --enable-libaribb24 --enable-libxvid --enable-libdavs2 --enable-libxavs --e
xtra-cflags='-mtune=generic' --extra-cflags=-O3 --enable-static --disable-shared
 --prefix=/home/anton/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw
-w64-i686/i686-w64-mingw32
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
:: Protocol not found
Did you mean file::?

Copy 'input_lra' value into a tag named 'LRA' within foobar
Pulse cualquier tecla para continuar...


The test.bat is

Code: [Select]
Label : EBU
PATH:
"Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ffmpeg\ffmpeg_rs.bat"  "%path%"


Re: Playlist-Tools-SMP

Reply #329
I don't understand what you are doing XD You have copied literally what I put. I told u that's how it's configured on Run Services plugin XD

You are not supposed to run that on CMD (?). Just run the bat file.
Code: [Select]
"Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ffmpeg\ffmpeg_rs.bat"  "01.mp3"

Quote
No idea what a FINDSTR is  :D
One basic command on CMD.

Re: Playlist-Tools-SMP

Reply #330
I don't understand what you are doing XD You have copied literally what I put. I told u that's how it's configured on Run Services plugin XD

You are not supposed to run that on CMD (?). Just run the bat file.
Code: [Select]
"Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ffmpeg\ffmpeg_rs.bat"  "01.mp3"

I'm the literal man  :P

Being less literal

Code: [Select]
Microsoft Windows 10.0.18362

Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ff
mpeg>ffmpeg_rs.bat 01.mp3
Processing: 01.mp3

ffmpeg version n6.0-ffmpeg-windows-build-helpers Copyright (c) 2000-2023 the FFm
peg developers
  built with gcc 10.2.0 (GCC)
  configuration: --pkg-config=pkg-config --pkg-config-flags=--static --extra-ver
sion=ffmpeg-windows-build-helpers --enable-version3 --disable-debug --disable-w3
2threads --arch=x86 --target-os=mingw32 --cross-prefix=/home/anton/ffmpeg-window
s-build-helpers/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- --e
nable-libcaca --enable-gray --enable-libtesseract --enable-fontconfig --enable-g
mp --enable-libass --enable-libbluray --enable-libbs2b --enable-libflite --enabl
e-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libil
bc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-l
ibopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-l
ibspeex --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-
libvorbis --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libmysofa
--enable-libopenjpeg --enable-libopenh264 --enable-libvmaf --enable-libsrt --ena
ble-libxml2 --enable-opengl --enable-libdav1d --enable-cuda-llvm --enable-gnutls
 --enable-libaom --enable-nvenc --enable-nvdec --extra-libs=-lharfbuzz --extra-l
ibs=-lm --extra-libs=-lshlwapi --extra-libs=-lmpg123 --extra-libs=-lpthread --ex
tra-cflags=-DLIBTWOLAME_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-D
CACA_STATIC --enable-amf --enable-libmfx --enable-gpl --enable-frei0r --enable-l
ibrubberband --enable-libvidstab --enable-libx264 --enable-libx265 --enable-avis
ynth --enable-libaribb24 --enable-libxvid --enable-libdavs2 --enable-libxavs --e
xtra-cflags='-mtune=generic' --extra-cflags=-O3 --enable-static --disable-shared
 --prefix=/home/anton/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw
-w64-i686/i686-w64-mingw32
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
Input #0, mp3, from '01.mp3':
  Metadata:
    track           : 1
    disc            : 1
    BARCODE         : 197511685014
    ARTISTS         : Mathew's Hidden Museum
    ORIGINAL RELEASE DATE: 2023-02-03
    title           : The Resurrectionist
    artist          : Mathew's Hidden Museum
    album           : Mathew's Hidden Museum
    album_artist    : Mathew's Hidden Museum
    genre           : Rock
    TLEN            : 125000
    publisher       : Interstellar Smoke Records
    TSRC            : QZFYX2359819
    date            : 2023-02-03
  Duration: 00:02:05.05, start: 0.025057, bitrate: 320 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
    Metadata:
      encoder         : LAME3.99r
    Side data:
      replaygain: track gain - -8.300000, track peak - unknown, album gain - unk
nown, album peak - unknown,
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    track           : 1
    disc            : 1
    BARCODE         : 197511685014
    ARTISTS         : Mathew's Hidden Museum
    ORIGINAL RELEASE DATE: 2023-02-03
    title           : The Resurrectionist
    artist          : Mathew's Hidden Museum
    album           : Mathew's Hidden Museum
    album_artist    : Mathew's Hidden Museum
    genre           : Rock
    TLEN            : 125000
    publisher       : Interstellar Smoke Records
    TSRC            : QZFYX2359819
    date            : 2023-02-03
    encoder         : Lavf60.3.100
  Stream #0:0: Audio: pcm_s16le, 192000 Hz, stereo, s16, 6144 kb/s
    Metadata:
      encoder         : Lavc60.3.100 pcm_s16le
    Side data:
      replaygain: track gain - -8.300000, track peak - unknown, album gain - unk
nown, album peak - unknown,
size=N/A time=00:02:02.10 bitrate=N/A speed=7.23x
video:0kB audio:93750kB subtitle:0kB other streams:0kB global headers:0kB muxing
 overhead: unknown
[Parsed_loudnorm_0 @ 071443c0]
{
        "input_i" : "-8.38",
        "input_tp" : "0.06",
        "input_lra" : "9.10",
        "input_thresh" : "-19.48",
        "output_i" : "-22.63",
        "output_tp" : "-4.23",
        "output_lra" : "7.20",
        "output_thresh" : "-32.96",
        "normalization_type" : "dynamic",
        "target_offset" : "-1.37"
}

Copy 'input_lra' value into a tag named 'LRA' within foobar
Pulse cualquier tecla para continuar...

Re: Playlist-Tools-SMP

Reply #331
With sed or without sed? That's clearly not the same output I showed you.

Now run the other bat file. Note it points to the track (first), output (second) and ffmpeg path (third) - the '_32' part is added on the bat file itself-.
Code: [Select]
"Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ffmpeg\ffmpeg.bat" "01.mp3" "Z:\home\user\.foobar2000_v2\profile\js_data\temp\ffmpegJSONThu_Apr_06_20231680802268882.json" "Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ffmpeg\ffmpeg.exe"

Clean the temp folder first at "Z:\home\user\.foobar2000_v2\profile\js_data\temp\".

It should output a file at
"Z:\home\user\.foobar2000_v2\profile\js_data\temp\ffmpegJSONThu_Apr_06_20231680802268882.json"

Re: Playlist-Tools-SMP

Reply #332
With sed or without sed? That's clearly not the same output I showed you.

In ffmpeg_rs.bat SET useSed=TRUE in the previous.

With SET useSed=FALSE

Code: [Select]
Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ff
mpeg>ffmpeg_rs.bat 01.mp3
ffmpeg version n6.0-ffmpeg-windows-build-helpers Copyright (c) 2000-2023 the FFm
peg developers
  built with gcc 10.2.0 (GCC)
  configuration: --pkg-config=pkg-config --pkg-config-flags=--static --extra-ver
sion=ffmpeg-windows-build-helpers --enable-version3 --disable-debug --disable-w3
2threads --arch=x86 --target-os=mingw32 --cross-prefix=/home/anton/ffmpeg-window
s-build-helpers/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- --e
nable-libcaca --enable-gray --enable-libtesseract --enable-fontconfig --enable-g
mp --enable-libass --enable-libbluray --enable-libbs2b --enable-libflite --enabl
e-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libil
bc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-l
ibopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-l
ibspeex --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-
libvorbis --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libmysofa
--enable-libopenjpeg --enable-libopenh264 --enable-libvmaf --enable-libsrt --ena
ble-libxml2 --enable-opengl --enable-libdav1d --enable-cuda-llvm --enable-gnutls
 --enable-libaom --enable-nvenc --enable-nvdec --extra-libs=-lharfbuzz --extra-l
ibs=-lm --extra-libs=-lshlwapi --extra-libs=-lmpg123 --extra-libs=-lpthread --ex
tra-cflags=-DLIBTWOLAME_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-D
CACA_STATIC --enable-amf --enable-libmfx --enable-gpl --enable-frei0r --enable-l
ibrubberband --enable-libvidstab --enable-libx264 --enable-libx265 --enable-avis
ynth --enable-libaribb24 --enable-libxvid --enable-libdavs2 --enable-libxavs --e
xtra-cflags='-mtune=generic' --extra-cflags=-O3 --enable-static --disable-shared
 --prefix=/home/anton/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw
-w64-i686/i686-w64-mingw32
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
Input #0, mp3, from '01.mp3':
  Metadata:
    track           : 1
    disc            : 1
    BARCODE         : 197511685014
    ARTISTS         : Mathew's Hidden Museum
    ORIGINAL RELEASE DATE: 2023-02-03
    title           : The Resurrectionist
    artist          : Mathew's Hidden Museum
    album           : Mathew's Hidden Museum
    album_artist    : Mathew's Hidden Museum
    genre           : Rock
    TLEN            : 125000
    publisher       : Interstellar Smoke Records
    TSRC            : QZFYX2359819
    date            : 2023-02-03
  Duration: 00:02:05.05, start: 0.025057, bitrate: 320 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
    Metadata:
      encoder         : LAME3.99r
    Side data:
      replaygain: track gain - -8.300000, track peak - unknown, album gain - unk
nown, album peak - unknown,
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    track           : 1
    disc            : 1
    BARCODE         : 197511685014
    ARTISTS         : Mathew's Hidden Museum
    ORIGINAL RELEASE DATE: 2023-02-03
    title           : The Resurrectionist
    artist          : Mathew's Hidden Museum
    album           : Mathew's Hidden Museum
    album_artist    : Mathew's Hidden Museum
    genre           : Rock
    TLEN            : 125000
    publisher       : Interstellar Smoke Records
    TSRC            : QZFYX2359819
    date            : 2023-02-03
    encoder         : Lavf60.3.100
  Stream #0:0: Audio: pcm_s16le, 192000 Hz, stereo, s16, 6144 kb/s
    Metadata:
      encoder         : Lavc60.3.100 pcm_s16le
    Side data:
      replaygain: track gain - -8.300000, track peak - unknown, album gain - unk
nown, album peak - unknown,
size=N/A time=00:02:02.10 bitrate=N/A speed=7.23x
video:0kB audio:93750kB subtitle:0kB other streams:0kB global headers:0kB muxing
 overhead: unknown
[Parsed_loudnorm_0 @ 071443c0]
{
        "input_i" : "-8.38",
        "input_tp" : "0.06",
        "input_lra" : "9.10",
        "input_thresh" : "-19.48",
        "output_i" : "-22.63",
        "output_tp" : "-4.23",
        "output_lra" : "7.20",
        "output_thresh" : "-32.96",
        "normalization_type" : "dynamic",
        "target_offset" : "-1.37"
}

Copy 'input_lra' value into a tag named 'LRA' within foobar
Pulse cualquier tecla para continuar...


The mmpeg.bat is set to TRUE. The default one.

Re: Playlist-Tools-SMP

Reply #333
Try the other bat file as instructed. Anyway that clearly doesn't work as it should be, since it's showing the entire ffmpeg ouput with SED instead of just the final JSON. No idea if that's a wine thing or your ffmpeg build.

If there is no proper JSON output, then SMP will fail reading the file and there you got the error.

Re: Playlist-Tools-SMP

Reply #334
Cleaning the temp folder

Code: [Select]
Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-external\ff
mpeg>"Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scripts\helpers-exter
nal\ffmpeg\ffmpeg.bat" "Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-scr
ipts\helpers-external\ffmpeg\01.mp3" "Z:\home\user\.foobar2000_v2\profile\js_da
ta\temp\ffmpegJSONThu_Apr_06_20231680802268882.json" "Z:\home\user\.foobar2000_
v2\profile\scripts\SMP\xxx-scripts\helpers-external\ffmpeg\ffmpeg.exe"
Input #0, mp3, from 'Z:\home\user\.foobar2000_v2\profile\scripts\SMP\xxx-script
s\helpers-external\ffmpeg\01.mp3':
  Metadata:
    track           : 1
    disc            : 1
    BARCODE         : 197511685014
    ARTISTS         : Mathew's Hidden Museum
    ORIGINAL RELEASE DATE: 2023-02-03
    title           : The Resurrectionist
    artist          : Mathew's Hidden Museum
    album           : Mathew's Hidden Museum
    album_artist    : Mathew's Hidden Museum
    genre           : Rock
    TLEN            : 125000
    publisher       : Interstellar Smoke Records
    TSRC            : QZFYX2359819
    date            : 2023-02-03
  Duration: 00:02:05.05, start: 0.025057, bitrate: 320 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
    Metadata:
      encoder         : LAME3.99r
    Side data:
      replaygain: track gain - -8.300000, track peak - unknown, album gain - unk
nown, album peak - unknown,
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    track           : 1
    disc            : 1
    BARCODE         : 197511685014
    ARTISTS         : Mathew's Hidden Museum
    ORIGINAL RELEASE DATE: 2023-02-03
    title           : The Resurrectionist
    artist          : Mathew's Hidden Museum
    album           : Mathew's Hidden Museum
    album_artist    : Mathew's Hidden Museum
    genre           : Rock
    TLEN            : 125000
    publisher       : Interstellar Smoke Records
    TSRC            : QZFYX2359819
    date            : 2023-02-03
    encoder         : Lavf60.3.100
  Stream #0:0: Audio: pcm_s16le, 192000 Hz, stereo, s16, 6144 kb/s
    Metadata:
      encoder         : Lavc60.3.100 pcm_s16le
    Side data:
      replaygain: track gain - -8.300000, track peak - unknown, album gain - unk
nown, album peak - unknown,
size=N/A time=00:02:02.10 bitrate=N/A speed=7.27x
video:0kB audio:93750kB subtitle:0kB other streams:0kB global headers:0kB muxing
 overhead: unknown
[Parsed_loudnorm_0 @ 07144e80]
{
        "input_i" : "-8.38",
        "input_tp" : "0.06",
        "input_lra" : "9.10",
        "input_thresh" : "-19.48",
        "output_i" : "-22.63",
        "output_tp" : "-4.23",
        "output_lra" : "7.20",
        "output_thresh" : "-32.96",
        "normalization_type" : "dynamic",
        "target_offset" : "-1.37"
}

and a ffmpegJSONThu_Apr_06_20231680802268882.json in the temp folder but empty

With the full paths, the ffmpeg options didn't show up

I tried with fffmpeg-4.3.1-win32-static from https://www.techspot.com/downloads/6447-ffmpeg.html with the same result, seems that is not a ffmpeg build problem

Re: Playlist-Tools-SMP

Reply #335
You should get a JSON file with
Code: [Select]
{
        "input_i" : "-8.38",
        "input_tp" : "0.06",
        "input_lra" : "9.10",
        "input_thresh" : "-19.48",
        "output_i" : "-22.63",
        "output_tp" : "-4.23",
        "output_lra" : "7.20",
        "output_thresh" : "-32.96",
        "normalization_type" : "dynamic",
        "target_offset" : "-1.37"
}

If that's not the output, can not help you anymore.
Ask at wine forums. I suppose is something related to the "-f null - 2>&1 | > %2" part of the bat files. And somewhat wine not respecting piping as it should be, or output redirection not working. If you find another way to retrieve the same output file -with other commands or whatever-, let me know,

These are my executables:
https://tmpfiles.org/1271299/ffmpeg.zip

EDIT: I could parse the entire output as txt file on SMP -thus skipping CMD tricks to parse ffmpeg output-, but not gonna happen soon and would really prefer not to.

Anyway the problem is ffmpeg output being such a nonsense in the end with all that stupid data, full metadata report (without asking for it), build flags, etc. being always shown no matter what you do or the log level you set. So if you also manage to convince ffmpeg devs to add a switch to stop such nonsense, that would do too XD

Re: Playlist-Tools-SMP

Reply #336
You should get a JSON file with
Code: [Select]
{
        "input_i" : "-8.38",
        "input_tp" : "0.06",
        "input_lra" : "9.10",
        "input_thresh" : "-19.48",
        "output_i" : "-22.63",
        "output_tp" : "-4.23",
        "output_lra" : "7.20",
        "output_thresh" : "-32.96",
        "normalization_type" : "dynamic",
        "target_offset" : "-1.37"
}

If that's not the output, can not help you anymore.
Ask at wine forums. I suppose is something related to the "-f null - 2>&1 | > %2" part of the bat files. And somewhat wine not respecting piping as it should be, or output redirection not working. If you find another way to retrieve the same output file -with other commands or whatever-, let me know,

These are my executables:
https://tmpfiles.org/1271299/ffmpeg.zip

EDIT: I could parse the entire output as txt file on SMP -thus skipping CMD tricks to parse ffmpeg output-, but not gonna happen soon and would really prefer not to.

Anyway the problem is ffmpeg output being such a nonsense in the end with all that stupid data, full metadata report (without asking for it), build flags, etc. being always shown no matter what you do or the log level you set. So if you also manage to convince ffmpeg devs to add a switch to stop such nonsense, that would do too XD

The output is an empty json, nothing, nada, the absolute void  8)

Your exe are doing the same.

Only difference is that if I call the files with the full paths the initial dump of ffmpeg build options didn't show, but the rest of data still is there.

Never gives a clean output like the one you post.

My system ffmpeg do the same. There is a loglevel but i can managed to hide the verbose and get an output.

I search commands to get lra and found

"ffmpeg -i 01.mp3  -hide_banner -nostats -af loudnorm=I=-16:TP=-1.5:LRA=11:print_format=summary -f null -&>1.text"

that give me, like with the windows version, a lot of data

Code: [Select]
Input #0, mp3, from '01.mp3':
  Metadata:
    track           : 1
    disc            : 1
    BARCODE         : 197511685014
    ARTISTS         : Mathew's Hidden Museum
    ORIGINAL RELEASE DATE: 2023-02-03
    title           : The Resurrectionist
    artist          : Mathew's Hidden Museum
    album           : Mathew's Hidden Museum
    album_artist    : Mathew's Hidden Museum
    genre           : Rock
    TLEN            : 125000
    publisher       : Interstellar Smoke Records
    TSRC            : QZFYX2359819
    date            : 2023-02-03
  Duration: 00:02:05.05, start: 0.025057, bitrate: 320 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
    Metadata:
      encoder         : LAME3.99r
    Side data:
      replaygain: track gain - -8.300000, track peak - unknown, album gain - unknown, album peak - unknown,
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    track           : 1
    disc            : 1
    BARCODE         : 197511685014
    ARTISTS         : Mathew's Hidden Museum
    ORIGINAL RELEASE DATE: 2023-02-03
    title           : The Resurrectionist
    artist          : Mathew's Hidden Museum
    album           : Mathew's Hidden Museum
    album_artist    : Mathew's Hidden Museum
    genre           : Rock
    TLEN            : 125000
    publisher       : Interstellar Smoke Records
    TSRC            : QZFYX2359819
    date            : 2023-02-03
    encoder         : Lavf59.27.100
  Stream #0:0: Audio: pcm_s16le, 192000 Hz, stereo, s16, 6144 kb/s
    Metadata:
      encoder         : Lavc59.37.100 pcm_s16le
    Side data:
      replaygain: track gain - -8.300000, track peak - unknown, album gain - unknown, album peak - unknown,
size=N/A time=00:02:05.00 bitrate=N/A speed=14.2x   
video:0kB audio:93750kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_loudnorm_0 @ 0x562f212302c0]
Input Integrated:     -8.4 LUFS
Input True Peak:      +0.1 dBTP
Input LRA:             9.1 LU
Input Threshold:     -19.5 LUFS

Output Integrated:   -14.8 LUFS
Output True Peak:     -1.5 dBTP
Output LRA:            6.7 LU
Output Threshold:    -25.2 LUFS

Normalization Type:   Dynamic
Target Offset:        -1.2 LU

but no way to hide all the extra data and get only the output




Re: Playlist-Tools-SMP

Reply #337
I was trying to get a .json file with the output of ffmpeg_32.exe in the wine cmd console and I make some kind of success.

I managed to write the output to a file with
Code: [Select]
ffmpeg_32.exe -hide_banner -i 1.mp3 -af loudnorm=dual_mono=true:print_format=json -nostats -f null - >1.json 2>&1

and using the sed.exe on 1.json

Code: [Select]
sed.exe 1,/^\[Parsed_loudnorm/d 1.json  >2.json 2>&1

I get a 2.json with

Code: [Select]
{
        "input_i" : "-8.38",
        "input_tp" : "0.06",
        "input_lra" : "9.10",
        "input_thresh" : "-19.48",
        "output_i" : "-22.63",
        "output_tp" : "-4.23",
        "output_lra" : "7.20",
        "output_thresh" : "-32.96",
        "normalization_type" : "dynamic",
        "target_offset" : "-1.37"
}

And that is the output we need, right?

But I didn't know how to join this sequence of commands and adapt it to the ffmpeg.bat

any idea?


Re: Playlist-Tools-SMP

Reply #339
This

With an old copy of the scripts (previous to the modification that check for _32) it works.

With the last set (the one that check _32) the ffmpeg_32 process didn't spawn and fails

json not found


Re: Playlist-Tools-SMP

Reply #341
Yeah... cmd doesn't overwrite variables... love the language.

Still no luck with the last zips from github

I tried as downloaded (i noticed a new wine bat), overwritten the ffmpeg.bat with the one you put in last post and changing the ffmpeg.bat with the wine one but no ffmpeg_32 scan is done

The old ones work perfect with the modified ffmpeg.bat of the above post

Just to clarify.

The set of zips that work are the ones that need a copy of both ffmpeg executables to be present. These perform the scan even when failed to write the tags.

The ones that enable EBUR with only the 32 executable present never trigger the scan process. Even before the last modifications to write the json and tags they didn't scan like before.

 

Re: Playlist-Tools-SMP

Reply #342
Yeah... cmd doesn't overwrite variables... love the language.

Still no luck with the last zips from github

I tried as downloaded (i noticed a new wine bat), overwritten the ffmpeg.bat with the one you put in last post and changing the ffmpeg.bat with the wine one but no ffmpeg_32 scan is done

The old ones work perfect with the modified ffmpeg.bat of the above post

Just to clarify.

The set of zips that work are the ones that need a copy of both ffmpeg executables to be present. These perform the scan even when failed to write the tags.

The ones that enable EBUR with only the 32 executable present never trigger the scan process. Even before the last modifications to write the json and tags they didn't scan like before.
I have lost track of what you are doing.

Either you use the last github commit, or the bat file here. Not both. You don't have to rename anything or touch the files anymore.

Please, just download the latest files from github (just updated it), overwrite all, and let me know if it works and the output.

Re: Playlist-Tools-SMP

Reply #343
I have lost track of what you are doing.

Either you use the last github commit, or the bat file here. Not both. You don't have to rename anything or touch the files anymore.

Please, just download the latest files from github (just updated it), overwrite all, and let me know if it works and the output.

Just trying random combinations....rarely works, and of course, trying to explain it I made it more confusing 8)

Anyway, this new set works perfect. It will be a great time saver, I have a lot of files tagged with essentia before you introduce LRA.

Thanks a lot





Re: Playlist-Tools-SMP

Reply #345
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.0.0-beta.26

v3.0.0-beta.26 - Smart shuffle & Last.fm improvements and bugfixes
Quote
## [3.0.0-beta.26] - 2023-05-08
### Added
- Last.fm: menu entries are now available as dynamic SMP menus (toogable setting).
- Top Rated Tracks from...: pressing shift when clicking the menu entries now randomizes the tracks taken from the pool (according to rating and date), instead of sorting them by play count (which always output the same tracks if play count doesn't change). i.e. if someone wants to listen their top rated tracks from the 2000s but different sets of tracks on every listening session, not always the same most rated and most played tracks, the randomize modifier could be used.
- Pools: new 'smartShuffle' option for pools which mimics 'Selection manipulation\Shuffle' feature on the output by set tag. Check '.\presets\Playlist Tools\pools\allowedKeys.txt' for usage and examples.
- Selection manipulation\Shuffle: additional option to scatter to scatter instrumental, live and other tracks while respecting the smart pattern by tag (usually Artist). For ex. if it can swap tracks without altering the Artist proportion for a given range of tracks, thus moving an instrumental track to another position to soft-limit the appearance of consecutive instrumental tracks. Same rationale applies for live tracks or other special conditions. This somewhat ensures any cluster of tracks is as diverse as possible.
- Selection manipulation\Shuffle: additional options for the Spotify-like smart shuffle to prioritize tracks by Rating, Play Count (original Spotify's behavior), Last played date, randomly...
### Changed
- Last.fm: no longer requires [original package](https://github.com/L3v3L/foo-last-list-smp), fully integrated now. Reason: original package follows a design not fully compatible with some of the new features added.
- Last.fm: better library matching of extra chars (for ex. in original package '.38 Special' would not match '38 Special').
- Last.fm: better library matching removing unwanted title words (remastered, ...).
- Playlist filter: pressing Ctrl + L. Click now outputs all duplicates found (like the remove duplicates button). Pressing Ctrl + Shift + L. Click outputs only N duplicates following the buttons settings.
- Console: multiple improvements when logging to file for FbMetadbHandle, FbMetadbHandleList, Error and unknown instances (totally irrelevant except for debug purposes).
- Console: menu entries are no longer logged to console after clicking (except when pressing Ctrl before opening the button's menu).
- UI: standardized and shortened all current/locked/playing playlist flags text in menu entries related to playlist and selection manipulation. i.e. 'my playlist (current)' instead of 'my playlist (current playlist)' or 'my playlist (current | playing)' instead of 'my playlist (current playlist) (playing playlist)'.
- Buttons: Last.fm button's icon to font, instead of png image; scales better on different DPI settings.
- Buttons: macros button's icon to half hourglass; blends better on dark and light themes.
- Buttons: top tracks button's icon to a heart without filling; blends better on dark and light themes.
- Buttons: Playlist Tools submenu custom button's icon now changes according to the associated submenu.
- Buttons: search same button's icon to magnifying glass with a plus; more intuitive than previous icon (link).
- Buttons: profiler logging for 'search_by_tags_combinations', 'search_by_tags_queries', 'search_top_tracks', 'search_top_tracks_from_date', 'playlist_filter', 'playlist_remove_duplicates' and 'playlist_show_duplicates' button now follows Playlist Tools button config, disabled otherwise.
- Helpers: updated helpers.
### Removed
### Fixed
- Last.fm: tracks are now added preserving last.fm order. Workaround for AddLocations being async, used on original package, which may results on tracks not being inserted on playlist following the original order.
- Last.fm: link caching on input popups not working, regression on original package 1.2 version.
- Other Tools\Write tags: tool was checking for x64 binary existence on x32 systems (thus needing both instead of only the latter).
- Other Tools\Write tags: workaround for [Wine's CMD pipes bug](https://hydrogenaud.io/index.php/topic,120978.msg1024697.html#msg1024697) while using  EBUR 128 Scanner (ffmpeg) tool.
- Selection manipulation\Advanced sort...: harmonic mixing configuration menu not shown if 'Playlist manipulation' and 'Special playlists' submenus were hidden.
- Selection manipulation\Shuffle: 'By...(tag)' entry not working.
- Playlist Manipulation\Query filtering: dynamic queries were not being properly inverted while pressing Ctrl on some edge cases.
- Script Integration\SMP Dynamic menu: crash on init after disabling submenu (and feature) via shift clicking .
- Script Integration\SMP Dynamic menu: feature was not disabled/enabled properly to work with [ajquery-xxx](https://github.com/regorxxx/ajquery-xxx).
- Playlist Manipulation: disabling submenu via shift clicking did not output the proper menu list order.
- Playlist filter: non uniform tabulation on button tooltip.
- Remove Duplicates: skip processing if there is no active playlist.
- Buttons: 'main_menu_shortcut' button's state was not saved properly when using 'Run when closing foobar?' option due to a limit on how [foobar2000/SMP work](https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/205). A workaround has been implemented, considering a button should always be on an specific state at init if these options were used.
- Buttons: removed non needed console logging for 'search_by_tags_queries' button and 'Search same by tags' menu entries.
- Buttons: 'playlist_remove_duplicates' and 'playlist_show_duplicates' now show the keyboard action associated while pressing control (if the mouse shortcuts has been disabled). Previously it only worked with shift.
- Pools: pools using dynamic queries crashed when there was no focus item (on any playlist).
- Pools: pools using standard queries without a focused item (on any playlist) did not output any results.
- Pools: number of tracks output was lower than expected on classic pools mode (_GROUP_X) due to wrong tag handling of special chars.
- Pools: missing harmonic mix dependencies when the 'Selection manipulation' submenu was disabled.
- Macros: updated test macros with latest name changes. There were some entries not working using old names.
- Macros: removed extra separator on edit entries submenu.

Last.fm package is NO LONGER REQUIRED. Fully implemented here (with a lot of improvements).

Re: Playlist-Tools-SMP

Reply #346
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.0.0-beta.28

Quote
[3.0.0-beta.28] - 2023-06-28
Added
Changed
Removed
Fixed

    Wrong property value for 'Duplicates RegExp title matching?.

[3.0.0-beta.27] - 2023-06-27
Added

    Global Forced Query: 'Top Rated Tracks from...', 'Most played Tracks from...' and 'Most played Tracks' are now also added to the list of toogable forced query application. This addition should cover all existing tools where the forced query is applicable.
    Remove duplicates: new setting at button to prefer tracks by a given TF expression. By default by higher rating and not live tracks. Delete '[foobar_profile]\js_data\presets\global\globQuery.json' and '[foobar_profile]\foobar2000\js_data\presets\global\globTags.json' files after installation.
    Show duplicates: new setting at button to prefer tracks by a given TF expression. By default by higher rating and not live tracks.
    Playlist filter: new setting at button to prefer tracks by a given TF expression. By default by higher rating and not live tracks.
    Configuration: new setting to set de-duplication bias is at 'Configuration\Duplicates handling...'. (this only applies to Playlist Tools button for tools listed below)
    Selection manipulation\Expand: added 'By rating' entry.
    Selection manipulation\Jump: added 'By rating' entry.

Changed

    Last.fm: button is now animated during all asynchronous tasks.
    Other tools\Import track list: tracks are now also preferred by higher rating (if possible).
    Pools: when removing duplicates, chosen tracks are now preferred by higher rating and not live tracks (if possible). This is apart from the forced query filtering (which may result on this feature being irrelevant in some use cases).
    Top Rated Tracks from...: when removing duplicates, chosen tracks are now preferred by higher rating and not live tracks (if possible). This is apart from the forced query filtering (which may result on this feature being irrelevant in some use cases).
    Most played Tracks from...: when removing duplicates, chosen tracks are now preferred by higher rating and not live tracks (if possible). This is apart from the forced query filtering (which may result on this feature being irrelevant in some use cases).
    Most played Tracks: when removing duplicates, chosen tracks are now preferred by higher rating and not live tracks (if possible). This is apart from the forced query filtering (which may result on this feature being irrelevant in some use cases).
    Search by tags (combinations): when removing duplicates, chosen tracks are now preferred by higher rating and not live tracks (if possible). This is apart from the forced query filtering (which may result on this feature being irrelevant in some use cases).
    Search by tags (queries): when removing duplicates, chosen tracks are now preferred by higher rating and not live tracks (if possible). This is apart from the forced query filtering (which may result on this feature being irrelevant in some use cases).
    Last Action: available now as dynamic main menu (and thus can be bound to a keyboard shortcut).

Removed
Fixed

    UI: tooltip flickering while pressing Shift/Ctrl over a button in icon-only mode.


Re: Playlist-Tools-SMP

Reply #348
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.0.0

Quote
[3.0.0] - 2023-07-28
Added
Changed

    Configuration: ALBUM ARTIST is now used instead of ARTIST by default (on new installations). This ensures better compatibility with classical music, where the artist is the actual performer but the album artist is the original composer/artist. To apply the change on existing installations, delete '[foobar_profile]\js_data\presets\global\globQuery.json' and '[foobar_profile]\foobar2000\js_data\presets\global\globTags.json' files. Further configuration may be needed via menus.

Removed
Fixed

    Portable: 'Script integration\SMP Dynamic menu\Custom function' now allow relative paths for included scripts to enhance portability compatibility. Path is relative to the 'xxx-scripts' root.
    Portable: 'Add SKIP tag to playback' now uses relative paths by default.
    Script Integration\SMP Dynamic menu: fixed crash in some instances while using 'Custom function' or 'Custom menu'.

Re: Playlist-Tools-SMP

Reply #349
v3.1.0 - QuickSearch & QuickMatch
https://github.com/regorxxx/Playlist-Tools-SMP/releases/tag/v3.1.0

Quote
Added

    Quickmatch: added new button to look for other tracks on library with same tag values than the focused track; similar to "quicksearch" but limited to the selected tag. Also supports -full- tag retrieval from WilB's Biography script, 'locale' tag retrieval from World-Map-SMP, 'LASTFM_SIMILAR_ARTIST' tag retrieval from foo_uie_biography and 'SIMILAR ARTISTS SEARCHBYDISTANCE' tag retrieval from Search by Distance-SMP.
    Quicksearch: added setting to sort the results found. By default: '%ALBUM ARTIST%|%ALBUM%|%TRACK%'. Set to '$rand()' to randomize order.
    Quicksearch: pressing Shift + Ctrl will apply the search to the current playlist instead of the entire library.
    Quicksearch: added setting to preserve original sorting when using current playlist as source. i.e. tracks matched will be output in the original appearance order.
    Playlist Revive: added entry to select dead items on current playlist.

Changed

    Other tools\Check Tags: track list is de-duplicated before analysis. This may be relevant on album list views where a file appears multiple times at the tree.
    Playlist Revive: some menu entries are now grayed out if the active playlist is locked (remove/add items).
    Playlist Revive: simplified menus to just one option per playlist, selection or all playlists.
    Playlist Revive: now ensures the track which replaces a dead item also exists, since foobar2000 may have a dead track on library. Thus a dead track may be used to substitute another dead track; not a bug since it's native behavior, but this change aligns better with the expected result.
    Playlist Revive: AutoPlaylists are now also analyzed, although they can not be changed.
    Playlist Revive: in case a locked playlist (remove/add items) contains dead items a warning will be shown.
    Playlist Revive: improved error handling.

Removed
Fixed

    Portable: 'Script integration\SMP Dynamic menu\Custom function' removed warning about not found file already included. Also improved the logic to try to include only once.
    Last.fm: bio tag retrieval setting could not be disabled.


X