PiGenerator Pro : Optimize generation commands and generating 24 playlists in 13 minutes

Altec

Active member
Hi Dmitry,

Just to let you know that I discovered why the Generation of My Daily playlists was so long... I discovered that many months ago but I had no solutions to show and to purpose but now I have !

I'm generating every evening by a .BAT (and formerly by the Sheduler into radioboss) one day program with 24 playlists, During my day I have differents time slots with different musical ambiences following the all day, these time slots can be 3 Hours 2 hours or 6 or 4 hours, it depends on the day of the week.

I'm charging M3u playlist hour by hour with Sheduler in my Broadcasting Studio and in The Backup one, that's why I'm working with 24 playlists.


In the Pi Generator i used to generate this kind of command :
Exemple for a Day between 00H and 12H :

1765293546070.png


That thing gives this command :


"C:\Program Files (x86)\RadioBOSS\PlaylistGeneratorPro.exe" "-preset=ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-MORN|ALTEC-MORN|ALTEC-MORN|ALTEC-MORN|ALTEC-MORN|ALTEC-MORN|ALTEC-LUNCH|ALTEC-LUNCH" "-out=C:\PL\playlist_00.m3u8|playlist_01.m3u8|playlist_02.m3u8|playlist_03.m3u8|playlist_04.m3u8|playlist_05.m3u8|playlist_06.m3u8|playlist_07.m3u8|playlist_08.m3u8|playlist_09.m3u8|playlist_10.m3u8|playlist_11.m3u8|playlist_12.m3u8|playlist_13.m3u8" -n=1 -s=0

Problem with that for each preset the Pi Generator restart from 0 and reload all the database wich cause extremely long generation for a day and the 24 playlists.

So ! I had the idea of a script using this functionnality to avoid the Pi generator reloading every hour generated :

1765293739064.png


"C:\Program Files (x86)\RadioBOSS\PlaylistGeneratorPro.exe" "-preset=ALTEC-NIGHT" "-out=C:\PL\playlist_%nn.m3u8" -n=6 -s=0

Base command is that so I used a .bat. to show you what I'm doing here is an example I reproduced for a complete day :
1765295120968.png


We could do it more even more quickly If PIGenerator could load all categories needed for all the preset un 1st step and after that generate each presets.

Kind Regards

Altec
 
Optimizing like this wouldn't really work because each playlist generation is independent - this allows for a proper level of isolation, reducing the number of possible bugs that can result if the categories are reused.

The next update will have optimized, multi-threaded category loading, it should result in several times more faster category loading.
 
Optimizing like this wouldn't really work because each playlist generation is independent - this allows for a proper level of isolation, reducing the number of possible bugs that can result if the categories are reused.

The next update will have optimized, multi-threaded category loading, it should result in several times more faster category loading.
It works perfectly actually.

I've gone from 47 minutes to 13 minutes per day. My question is simply how to enable native command generation so that I don't have to use the .bat system.

I mean being able to generate several playlist pools to cover my day without having to make the playlists one by one as I did at the beginning, which generates a complete reloading of the categories and the database for each hour, making execution very long.

Of course, I understand that it is important to generate hour by hour to avoid bugs, etc. This works perfectly and should remain that way.

Just to avoid this command usage :

"C:\Program Files (x86)\RadioBOSS\PlaylistGeneratorPro.exe" "-preset=ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-NIGHT|ALTEC-MORN|ALTEC-MORN|ALTEC-MORN|ALTEC-MORN|ALTEC-MORN|ALTEC-MORN|ALTEC-LUNCH|ALTEC-LUNCH" "-out=C:\PL\playlist_00.m3u8|playlist_01.m3u8|playlist_02.m3u8|playlist_03.m3u8|playlist_04.m3u8|playlist_05.m3u8|playlist_06.m3u8|playlist_07.m3u8|playlist_08.m3u8|playlist_09.m3u8|playlist_10.m3u8|playlist_11.m3u8|playlist_12.m3u8|playlist_13.m3u8" -n=1 -s=0

Because this command means Pigerator doing that for each hour, whereas when loading a preset, it should, for example, load the 6 ALTEC-MORN playlists one by one at once without reloading everything.

In this example, we can clearly see that it generates 6 hours quickly because it loads the database and categories only once :)

Preset: ALTEC-NIGHT
Generation started.
Loading category "A"
Category "A": loaded 9 tracks [time spent: 00:00]
Tracks in category: 9 [time spent: 00:00]
Loading category "B"
Category "B": loaded 129 tracks [time spent: 00:00]
Tracks in category: 129 [time spent: 00:00]
Loading category "C)"
Category "C": loaded 121 tracks [time spent: 00:00]
Tracks in category: 121 [time spent: 00:00]
Loading category "D"
Category "D": loaded 906 tracks [time spent: 00:03]
Tracks excluded (filters): 13
Tracks in category: 893 [time spent: 00:00]
Creating playlist...
Total time spent: 00:04
Completed. Playlist duration: 1:02:13
Saved file: C:\PL\playlist_00.m3u8

Generation started.
Creating playlist...
Total time spent: 00:00
Completed. Playlist duration: 1:01:37
Saved file: C:\PL\playlist_01.m3u8

Generation started.
Creating playlist...
Total time spent: 00:00
Completed. Playlist duration: 1:01:16
Saved file: C:\PL\playlist_02.m3u8

Generation started.
Creating playlist...
Total time spent: 00:00
Completed. Playlist duration: 1:01:21
Saved file: C:\PL\playlist_03.m3u8

Generation started.
Creating playlist...
Total time spent: 00:00
Completed. Playlist duration: 1:01:09
Saved file: C:\PL\playlist_04.m3u8

Generation started.
Creating playlist...
Total time spent: 00:00
Completed. Playlist duration: 1:02:49
Saved file: C:\PL\playlist_05.m3u8

Kind Regards

Altec
 
Back
Top