Jump to content
IGNORED

Manage HQPlayer playlist from Foobar2000


bogi

Recommended Posts

I created an easy solution to send tracks from Foobar2000 music library to HQPlayer playlist.

 

My solution is yet dirty. I created a youtube video to demonstrate it to you. I am interested for your opinion about such a solution. If you find it useful, or if you have some ideas how to improve my solution, let discuss it in this thread.

 

Key points of this solution:

  • Foobar2000 music library capabilities are on higher level than HQPlayer's. In fact, Foobar2000 is not only player, it is powerful library manager, music tagger, converter etc. Hence the idea to use Foobar2000 capabilities with HQPlayer.
  • HQPlayer does not support DSP or VST plugins. Because of I am using headphones, I am missing the possibility to apply crossfeed or stereo to binaural plugin in HQPlayer. My solution allows to use any Foobar2000 compatible DSP or VST plugin. This applies only to PCM tracks.
  • HQPlayer does not provide special support to play tracks from RAM disk. More CA members pointed ot better sound quality when noise from using SATA or USB hard disk is avoided. My solution copies tracks to RAM disk, creates temporary playlist from RAM disk tracks and sends that playlist to HQPlayer.
  • For PCM, more CA users pointed to better sound quality when playing WAV files than FLAC files. Does less processing lead to less noise? Maybe ... I'm simply trying that in my solution too.
  • DSD files are not processed, they are simply copied to RAM disk.

 

Here is the video:

 

What you see on my video (maybe I will add yet some annotations directly to the video):

I am creating 3GB RAM disk using free SW IMDISK. I simply followed this: How to Create a 10 GB/s RAM Disk in Windows • TekRevue

  • I am showing you Foobar2000 Converter configuration my solution is using. You can see conversion to WAV, RAM disk as conversion destination and selection of Meier crossfeed DSP (optional).
  • I am selecting an album (FLAC tracks) in Foobar2000 'Library Viewer Selection' playlist and I am sending it to HQPlayer playlist. Conversion to WAV, applying Meier crossfeed and copying to RAM disk is performed.
  • I am selecting few more FLAC tracks from other album and adding them to HQPlayer playlist.
  • Then I am demonstrating reorganization of HQPlayer's playlist using Foobar2000. I am using Foobar2000 autoplaylist feature for this. The playlist AUDIO is used to show RAM disk content in Foobar2000. What I did: I cleared HQPlayer's playlist. Then I removed some tracks from RAM disk, I used Foobar2000 interface for that. Then I reordered tracks in the RAM disk autoplaylist and sent it's content to HQPlayer.
  • Finally, I added some DSD tracks to HQplayer's playlist.

 

My solution uses hqp-control.exe and Foobar2000 plugins foo_runcmd, foo_texttools.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

The key point is how to invoke a set of actions, related to Foobar2000 environment.

 

In my solution, which is designed to run on Windows PC, the actions are invoked by clicking on icon outside of Foobar2000. It starts .bat script and that script calls foobar2000 executable with specific parameters to perform specified actions within Foobar2000 environment, see Components for foobar2000 So with my current solution you need to select album(s) or track(s) in Foobar2000 and to invoke a script outside of Foobar2000.

 

Other solution could be to change Foobar2000 GUI to create a new button inside Foobar2000 and to define set of actions for that button press event using foo_scheduler. But that would depend on the type of Foobar2000 GUI on Windows PC.

 

Currently I have no idea how a set Foobar2000 related actions + some actions outside Foobar2000 could be invoked otherwise. That may be limiting factor if you want to use such a solution on mobile device. With my current solution you would need to have possibility to start a bat script on Windows computer remotely.

 

I am not familiar with using Android/iPhone remote control for Foobar2000. I am open to try it on Android. But I am unsure if some remote controller SW is able to run custom actions on Windows computer. That's must for such a solution. If you Geoff or someone else has an idea, please let me know.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
It starts .bat script and that script calls foobar2000 executable with specific parameters to perform specified actions within Foobar2000 environment, see Components for foobar2000

 

From what I understand after watching your video is that the .bat script performs conversions which are specific to your needs and calls hqp-control to load the converted files into HQPlayer Desktop.

 

That certainly opens up a lot of possibilities to perform conversions on files before sending them to HQPlayer Desktop and that's very cool.

 

What I would like to see is the possibility of automating this further as follows:

 

1/ the .bat script performs the conversion on whatever is loaded into the foobar playlist, without the user having to select specific tracks in the playlist manually.

 

I ask for this because I can automatically load tracks to foobar using my addons for Kodi. Once loaded my code could then call the .bat script. I think it would be more efficient if just one track was converted at a time and sent to HQPlayer Desktop.

 

2/ Because of current limitations of hqp-control, playback will only start automatically in HQPlayer Desktop if we first write an .m3u/m3u8 playlist and ask HQPlayer Desktop to open this. I'm doing this with my scripts. I believe Miska is working to add new features to hqp-control, such as invoking play, pause and stop commands.

 

With the two points above addressed the entire process could be automated and invoked from a Kodi remote app running on IOS or Android.

 

The user would need to create a .bat script that performed conversions based on their specific needs. It's the ability to perform conversions within foobar using foobar tools, before sending the converted track(s) to HQPlayer desktop that makes your idea interesting.

 

BTW, have you tried Primo Ramdisk? A few of us here find it sounds better.

 

geoff

Owner of: Sound Galleries, High-End Audio Dealer, Monaco

Link to comment

Geoff, you can try something like this:

 

rem set your parameters
set FOOBAR=%ProgramFiles(x86)%\foobar2000\foobar2000.exe
set ORIGPLAYLIST=R:\playorig.m3u8
set DESTPLAYLIST=R:\playdest.m3u8

set TOOLDIR=%~dp0
"%FOOBAR%" /playlist-activate:"Default"
"%FOOBAR%" /show && "%FOOBAR%" /command:"Select all"
"%FOOBAR%" /runcmd-playlist="Utilities/Text Tools/Copy: File path"
"%TOOLDIR%\paste.exe" > %ORIGPLAYLIST%

rem add processing of files from %ORIGPLAYLIST% here and generate %DESTPLAYLIST%

"%TOOLDIR%\hqp-control.exe" localhost "%DESTPLAYLIST%"

 

Notes:

 

  • for "%FOOBAR%" /playlist-activate:"Default" to work you need to copy foo_cmd_playist.dll to Foobar components directory
    substitute "Default" with playlist name you use
  • for "%FOOBAR%" /runcmd-playlist="Utilities/Text Tools/Copy: File path" to work you need to copy foo_runcmd.dll to Foobar components directory
    The command will fill PC clipboard with full pathnames of selected track files
  • Then clipboard content written to file %ORIGPLAYLIST%
    I am using paste utility for it
  • I am assuming this script and tools it is using are placed in the same directory, then you can set and use TOOLDIR as in the example script

Your custom processing may change music files. After processing you may need to generate new playlist for HQPlayer. In the example I am using %DESTPLAYLIST% as the playlist sent to HQPlayer.

 

I didn't try Primo Ramdisk, I searched for something free.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

The conversion idea I'm using is that the conversion is set in Foobar2000 environment as you see on the beginning of my video. I am not changing anything here, I am only showing my configuration. I named my setup as 'Meier' because I'm using Meier crossfeed, byt you can create your conversion setup and save it under any preset name. Then the conversion is called externally for selected playlist items by call

 

"%FOOBAR%" /runcmd-playlist="convert/Meier"

 

I will send you my current script via PM and you can try to combine the suggestion from my previous post with my current solution. It could be quite straightforward .

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
Interesting, thanks. Anyone compared SoftPerfect with Primo?

 

I could not hibernate my notebook with SoftPerfect RAM disk, I had to remove RAM disk. Further, it happened me repeatedly yesterday that after copying files to RAM disk playback in HQPlayer was interrupted. I will yet play with settings, but probably I will try some other RAM disk tool.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

After a reboot SoftPerfect RAM disk seems to work correctly. Hybernation was possible and HQPlayer doesn't react more to adding files to playlist during playback.

 

I compared Primo (trial) and Softperfect RAM disk. Regarding speed, I didn't observe difference. Regarding sound, SoftPerfect seems to sound more airy, more detailed and more bright. With bright recording on rather bright sound device chain in may be inconvenient. On darker chain it may be welcome. Geoff, try it self, it has sense.

 

EDIT:

 

I didn't thought RAM disk can be so big improvement. I am always surprised when I found that sound of my relatively cheap setup can be still improved. IMO SoftPerfect RAM disk is more detailed than Primo, with good quality recordings, which are not too bright, it sounds amazingly.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
  • 1 month later...

Bogi,

I am wondering if you have made anymore progress on this Foobar2000 method. I have just finished installing Foobar on my new machine. I would certainly like to try this if there is a step by step guide. Thanks.

- Late 2013 Macbook Pro 15" with retina display running OSX Mavericks, SSD, 16GB, Audirvana+, Alex Paychev tubed DAC (based on AKM 32bit DACs), iFi iDSD Micro, M2Tech HiFace EVO, Wireworld Starlight USB, Supratek Syrak Pre-amp, Primaluna Dialogue 7 monoblocks for winter and McIntosh 501's in the summer), NBS Monitor IC, Harmonic Technology Magic IC, Omega Mikro Planar speaker cable, Sonus Faber Amati Homage speakers, Sennheiser HD600, PS Audio Power Plant Premier, Shunyata Python CX power cords, CDs ripped with DbPoweramp into AIFFs, SACDs ripped with PS3

Link to comment
Bogi,

I am wondering if you have made anymore progress on this Foobar2000 method. I have just finished installing Foobar on my new machine. I would certainly like to try this if there is a step by step guide. Thanks.

 

My latest improvement is handling of insufficient space in RAM disk. I am using Foobar Converter. It is very fast and powerful, it can process so much tracks in parallel as is the number of cores. But it leaves incompletely converted files if the destination folder has not enough space to complete running conversions. I added special processing to detect and delete incompletely converted files. Only completely processed tracks are sent to HQPlayer playlist.

 

Another feature I didn't mention yet in this thread is support for CUE + image per album. I know people who resist to try HQPlayer because they have significant part of their music library organized this way.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

I am working on the step by step guide currently. I will not release it before the next HQPlayer version. The version 3.7.1 has one bug when adding tracks to existing HQPlayer playlist and the only newer version is beta.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
I am working on the step by step guide currently. I will not release it before the next HQPlayer version. The version 3.7.1 has one bug when adding tracks to existing HQPlayer playlist and the only newer version is beta.

 

Thanks! I shall look forward to it. I have spent quite a bit of time to implement the foobar skin that i absolutely love now. Cant wait to use it to navigate and manage playlists.

 

Also, foobar has a component called RmDisk. Have you ever used it?

- Late 2013 Macbook Pro 15" with retina display running OSX Mavericks, SSD, 16GB, Audirvana+, Alex Paychev tubed DAC (based on AKM 32bit DACs), iFi iDSD Micro, M2Tech HiFace EVO, Wireworld Starlight USB, Supratek Syrak Pre-amp, Primaluna Dialogue 7 monoblocks for winter and McIntosh 501's in the summer), NBS Monitor IC, Harmonic Technology Magic IC, Omega Mikro Planar speaker cable, Sonus Faber Amati Homage speakers, Sennheiser HD600, PS Audio Power Plant Premier, Shunyata Python CX power cords, CDs ripped with DbPoweramp into AIFFs, SACDs ripped with PS3

Link to comment
Thanks! I shall look forward to it. I have spent quite a bit of time to implement the foobar skin that i absolutely love now. Cant wait to use it to navigate and manage playlists.

 

OK. :) When you are so waiting for my work, I just finished the 1st version of the manual.

Find the initial version SendToHQP v1.0.0 here: https://drive.google.com/uc?export=download&id=0B1IZPbDClIn6WmVyUDlkbC1rbk0

 

ATTENTION: Currently it works only with the latest HQP beta!! http://www3.signalyst.com/bins/HQPlayerDesktop3-setup-380b1.exe

 

It's only free time activity for me and I have limited amount of free time ... So please report here if something isn't clear or doesn't function as expected, but be patient until I am able to process the questions.

 

Also, foobar has a component called RmDisk. Have you ever used it?

 

I tried that foobar2000 RAM disk component but didn't find a difference worth to use it. It seems that RAM disk implementation matters.

 

For SendToHQP I recommend to use SoftPerfect RAM disk.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

2 corrections:

 

1)

 

If you don't use DSP while converting PCM tracks to WAV in RAM disk, substitute the line

 

"%TOOLDIR%\cmdow.exe" /b | findstr "Converting (DSP)"

 

with

 

"%TOOLDIR%\cmdow.exe" /b | findstr "Converting"

 

2)

 

The PDF document correctly contains link

foobar2000: Components Repository - Text Tools

but the hyperlink leads to foo_utils. Use foo_texttools from the previous line.

 

 

General hint for testing:

 

You can add command

pause

anywhere in the script, for example at the end. This way in the case of troubles you can see the script output. You can click to the top left icon of the Command Prompt window and use Edit | Select All and Edit | Copy to copy all window content as text to clipboard.

To allow more than last 300 lines of output from Command Prompt window, you can set value for example 3000 in Properties | Layout | Screen Buffer Size | Height (through the same top left icon).

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
2 corrections:

 

1)

 

If you don't use DSP while converting PCM tracks to WAV in RAM disk, substitute the line

 

"%TOOLDIR%\cmdow.exe" /b | findstr "Converting (DSP)"

 

with

 

"%TOOLDIR%\cmdow.exe" /b | findstr "Converting"

 

2)

 

The PDF document correctly contains link

foobar2000: Components Repository - Text Tools

but the hyperlink leads to foo_utils. Use foo_texttools from the previous line.

 

 

General hint for testing:

 

You can add command

pause

anywhere in the script, for example at the end. This way in the case of troubles you can see the script output. You can click to the top left icon of the Command Prompt window and use Edit | Select All and Edit | Copy to copy all window content as text to clipboard.

To allow more than last 300 lines of output from Command Prompt window, you can set value for example 3000 in Properties | Layout | Screen Buffer Size | Height (through the same top left icon).

 

Bogi, if my music is already in AIFF (one of the uncompressed WAV formats), I supposed i don't have to do step (1) right?

Thanks,

OpusOne

- Late 2013 Macbook Pro 15" with retina display running OSX Mavericks, SSD, 16GB, Audirvana+, Alex Paychev tubed DAC (based on AKM 32bit DACs), iFi iDSD Micro, M2Tech HiFace EVO, Wireworld Starlight USB, Supratek Syrak Pre-amp, Primaluna Dialogue 7 monoblocks for winter and McIntosh 501's in the summer), NBS Monitor IC, Harmonic Technology Magic IC, Omega Mikro Planar speaker cable, Sonus Faber Amati Homage speakers, Sennheiser HD600, PS Audio Power Plant Premier, Shunyata Python CX power cords, CDs ripped with DbPoweramp into AIFFs, SACDs ripped with PS3

Link to comment
Bogi, if my music is already in AIFF (one of the uncompressed WAV formats), I supposed i don't have to do step (1) right?

Thanks,

OpusOne

 

DSP (Digital Signal Processing) and format conversion are different things. DSP is for example equalization or for example crossfeed for more natural listening on headphones I am using. You probably don't need DSP, because you didn't mention that.

 

The line

"%TOOLDIR%\cmdow.exe" /b | findstr "Converting"

will always function well - with or without DSP.

 

The command is used to check, if window with title containing "Converting" still exists. It is used for waiting to foobar2000 Converter until it finishes conversion.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

Please read the PDF manual. In this case the last chapter is relevant. All PCM files are converted to WAV in RAM disk, no matter on input PCM format.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
Please read the PDF manual. In this case the last chapter is relevant. All PCM files are converted to WAV in RAM disk, no matter on input PCM format.

 

Is it possible to use zip instead of rar, hardly anyone likes rar as it costs money for the software.

- Late 2013 Macbook Pro 15" with retina display running OSX Mavericks, SSD, 16GB, Audirvana+, Alex Paychev tubed DAC (based on AKM 32bit DACs), iFi iDSD Micro, M2Tech HiFace EVO, Wireworld Starlight USB, Supratek Syrak Pre-amp, Primaluna Dialogue 7 monoblocks for winter and McIntosh 501's in the summer), NBS Monitor IC, Harmonic Technology Magic IC, Omega Mikro Planar speaker cable, Sonus Faber Amati Homage speakers, Sennheiser HD600, PS Audio Power Plant Premier, Shunyata Python CX power cords, CDs ripped with DbPoweramp into AIFFs, SACDs ripped with PS3

Link to comment

Hello Bogi,

I forgot to mention that in order to make it work here, I had to disable the DSP conversion option (MathAudio Room EQ).

First trial resulted in converted files that were large in size as any .WAV normally are, but with no sound at all... Guess that is a problem from the Foobar conversion with MathAudio DSP, nothing to do with your solution.

Once the DSP conversion was disabled it began to work just fine and also much faster!

Link to comment
SendToHQP v1.0.1. as zip package with above mentioned 2 corrections: https://drive.google.com/uc?export=download&id=0B1IZPbDClIn6WDkwVFBad29EQWM

Bogi, Thx a bunch. I have look through the documentation and it is definitely of high quality. I am still not running the new HQP beta, so i cannot run through the whole thing. Hopefully, Miska will release whatever you are waiting for soon.

- Late 2013 Macbook Pro 15" with retina display running OSX Mavericks, SSD, 16GB, Audirvana+, Alex Paychev tubed DAC (based on AKM 32bit DACs), iFi iDSD Micro, M2Tech HiFace EVO, Wireworld Starlight USB, Supratek Syrak Pre-amp, Primaluna Dialogue 7 monoblocks for winter and McIntosh 501's in the summer), NBS Monitor IC, Harmonic Technology Magic IC, Omega Mikro Planar speaker cable, Sonus Faber Amati Homage speakers, Sennheiser HD600, PS Audio Power Plant Premier, Shunyata Python CX power cords, CDs ripped with DbPoweramp into AIFFs, SACDs ripped with PS3

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...