Jump to content


Photo

Jplaymini with JRMC or Foobar using an AutoHotKey script


  • Please log in to reply
12 replies to this topic

#1 Peter_T

Peter_T

    Die Hard

  • Members
  • PipPipPip
  • 405 posts
  • LocationNetherlands

Posted 23 February 2012 - 04:26 PM

Jplaymini with JRMC or Foobar using an AutoHotKey script

 

A lot of people (me included) find the SQ of Jplaymini better (especially in hibernating mode) than the SQ of the Jplay plug-ins. But they also would like to use JRMC/Foobar (Cover-view!) to organize, browse and select their albums and tracks. I made an AutoHotKey script for this purpose : just click/select  a track/album and press key F12. Jplaymini now will play and not the plugin-players.

 

Procedure :

 Download and Install AutoHotKey :  http://www.autohotkey.com/download/

 Download "Installer for AutoHotkey Basic"

 Install the program.

 

Copy/Paste the script at the end of this post (text between the lines) into Notepad and save it as F12.ahk to your desktop, or to any place you like. A link to it on the desktop also works.

(read the comments in the script about how it works and where you might modify it)

Start the hotkey by double clicking on the script's icon.

You will see a green "H" icon in your system tray on your taskbar.

This defines the new function for Function Key F12.

 

I use it in the following way :

 My HTPC is connected to my TV-screen. To operate it I use an inexpensive wireless keyboard with touchpad (Logitech K400; highly recommended)

-- start the script F12.ahk

-- press F12 (start Jplaymini before anything else to grab  a good chunk of RAM)

-- start JRMC or Foobar (or possibly Itunes, I did not test Itunes).

-- select a track or an album by one leftclick (or select a number of tracks)

-- Press F12 and there you go!

N.B. Do NOT use JPlay-for-JRiver and do NOT start Foobar with the Jplay.dll (just plain Foobar)

 

It also works nicely if you are browsing through your music library with Explorer. Just select and press F12.

One extra benefit in JRMC is that you can quickly compare the SQ of a track in JRMC or in Jplay :

Double clicking on a track will invoke the JRMC player. Click-F12 will start JPlaymini. You do not need to switch “zones”. Of course one after the other or you will get an error message!

If you want Jplaymini to start in hibernation mode : look in the script. The “send h” is not active. Remove the ; in front of it.

N.B. Hotkey does NOT work in JRMC's "theatre" mode.

 

Success!

 

;-----------------------------------------------------------------------------------------

; AutoHotkey Version: 1.x

;

; Peter_T 2012-2-23

;

; This AutoHotKey script defines function key F12 to do the following :

; - Empty the Clipboard

; - Copy a (selected file) or (selection list) or (selected album as list) to the

;   clipboard.

; - Test if JPlaymini is already started; if not it is started

; - Bring JPlaymini in starting mode by sending key "m"

; - Play the file(s) by sending key "space"

;

; If you want JPlaymini to startup in hibernation mode :

; "uncomment" the 'send h' line by removing the first ;

; If you want to define another key as the HotKey, read the Help section

; of AutoHotKey : rightclick on the green "H" icon on the taskbar tray

; and select help. Read the Tutorial and the section "Hotkeys"

 

#NoEnv  ; Recommended for compatibility with future AutoHotkey releases.

SendMode Input  ; Recommended for new scripts due to its speed and reliability.

SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

 

$F12:: ; Define Function Key F12 to start this script

clipboard = ; Empty the clipboard

IfWinExist JPLAYmini

{

    send, ^c ; Send a <Control C> to copy the selected file(s)   

    WinActivate JPLAYmini

    Send m ; brings back JPlaymini in start mode, if it was playing or

           ; had finished playing track(s)

    sleep 1000

    Send {space}

    WinMinimize JPLAYmini

}

else

{

   send, ^c

   Run "C:Program Files (x86)JPLAYJPLAYmini.exe" ; starts JPlaymini if necessary

   ; adapt file-path to your own computer if needed.

   WinActivate JPLAYmini

   Sleep 1000

   ; Send h  ; Uncomment this if you want Jplaymini to start in

             ; Full-scale Hibernation Mode

   Send {space}

   WinMinimize JPLAYmini

}

Return

;--------------------------------------------------------------------

Peter_T

Music on Synology DS211j wire connected to router; NUC-server(I3-running W2016-core with AO and Jriver MC21) with 2 NIC's (one outboard); wire connected with NIC2 to the router and with NIC1 to a SOTM200; DHCP server installed on NIC1; SOTM200 connected via USB cable to a Chord eQute DAC. Two Sbooster (12V) LPSU's for the SOTM and the DAC; DAC>Passive Preamp > AudioNote Conqueror > Quad ESL988 – REL StrataIII sub; MF XCAN-VPB; > Sennheiser HD560 Ovation


#2 asaf23

asaf23

    Beginner

  • Members
  • 42 posts

Posted 24 February 2012 - 09:44 PM

Hi Peter_T,

Good work /wp-content/forum-smileys/sf-smile.gif,  

P.S. I am testing now the script which allows the auto startup of JRMC17+JPLAY plug-in on the  headless server, so far all seems stable (for a week of testing).

 

Brgds,

 Andrey

  
C.A.P.S.v2 (with SOtM tX-USB powered by linear PSU from Teddy Pardo) Win7/64SP1 -> JPLAY–>Halide Bridge–>Audio-GD Compass–>Sennheiser HD650 or Hypex NCore 400 (2 monoblocks) -> KEF Coda 90

#3 gerardhn

gerardhn

    Advanced

  • Members
  • PipPip
  • 97 posts
  • LocationNL

Posted 03 March 2012 - 02:56 PM

Hallo Peter.

Real good dutch finding. /wp-content/forum-smileys/sf-laugh.gif

I have put it in direct startup and use it with the mini.

Really much more comfortable than standard Jplay way.

Something like this should be in next rev. of Jplay>>>

 

Gerard

#4 gerardhn

gerardhn

    Advanced

  • Members
  • PipPip
  • 97 posts
  • LocationNL

Posted 04 March 2012 - 10:05 AM

Hi Peter,

 

I modified your program a bit,

 

I added a timer of 4.000 millisec before minimizing.

 

So now I can see flac's and wav's going to RAM. (before you didnot see that!)

/wp-content/forum-smileys/sf-cool.gif

Edited by gerardhn, 04 March 2012 - 11:07 AM.


#5 jkeny

jkeny

    Die Hard

  • Members
  • PipPipPip
  • 307 posts

Posted 04 March 2012 - 10:57 AM

If FLAC is loaded into memory & then converted to memory resident WAV, is there not a high possibility that Flac playback will sound different to the same file in WAV format? 

#6 Peter_T

Peter_T

    Die Hard

  • Members
  • PipPipPip
  • 405 posts
  • LocationNetherlands

Posted 04 March 2012 - 01:29 PM

@jkeny In my script Jplaymini window is minimized as soon as you hit key F12. Gerardhn wants to verify if his selection is really loaded in the intended sequence before Jplaymini is minimized. I want that too, now I am comparing "test1" with "test2". I want to be sure I will be listening to the right file :>)! Your question is one I have asked myself before : what exactly is the sequence of events when Jplaymini gets a handle on the .flac file on the clipboard. At what moment is it expanded to .wav? I guess just before it is loaded to it's "play" location in RAM, because you need about twice the amount of RAM in Mb than the .flac total in Mb. So I would not really expect to hear a difference between the .flac and .wav, only the loading takes longer.  Marcin should know.

Peter_T

Music on Synology DS211j wire connected to router; NUC-server(I3-running W2016-core with AO and Jriver MC21) with 2 NIC's (one outboard); wire connected with NIC2 to the router and with NIC1 to a SOTM200; DHCP server installed on NIC1; SOTM200 connected via USB cable to a Chord eQute DAC. Two Sbooster (12V) LPSU's for the SOTM and the DAC; DAC>Passive Preamp > AudioNote Conqueror > Quad ESL988 – REL StrataIII sub; MF XCAN-VPB; > Sennheiser HD560 Ovation


#7 asaf23

asaf23

    Beginner

  • Members
  • 42 posts

Posted 04 March 2012 - 01:41 PM

Hu, jkeny

IMHO, WAV can not be 'memory resident' because it is a container for PCM (same like FLAC but without any compression applied as per file format specs). What is in the RAM if we speak about  'play from memory' applications? Should it be already the raw PCM data derived from an audio container, be it FLAC or WAV?

 

Brgds,

 Andrey 

 



C.A.P.S.v2 (with SOtM tX-USB powered by linear PSU from Teddy Pardo) Win7/64SP1 -> JPLAY–>Halide Bridge–>Audio-GD Compass–>Sennheiser HD650 or Hypex NCore 400 (2 monoblocks) -> KEF Coda 90

#8 jkeny

jkeny

    Die Hard

  • Members
  • PipPipPip
  • 307 posts

Posted 04 March 2012 - 03:22 PM

asaf23 said:

Hu, jkeny

IMHO, WAV can not be 'memory resident' because it is a container for PCM (same like FLAC but without any compression applied as per file format specs). What is in the RAM if we speak about  'play from memory' applications? Should it be already the raw PCM data derived from an audio container, be it FLAC or WAV?

Brgds,

 Andrey 

 

Irrespective of what format the data is stored in RAM, it would appear that it has both the "FLAC" version & the "WAV" version memory resident? If this is the case then this is a different use of RAM then if the file was in WAV format to start with, no?  And we all know that memory usage effects sound, right? That was simply my point!

#9 gerardhn

gerardhn

    Advanced

  • Members
  • PipPip
  • 97 posts
  • LocationNL

Posted 04 March 2012 - 03:53 PM

Hi, discussion flac versus wav is another one versus Peter`s F12 definition. can be found elsewhere. Result wav is winner. I read that Peter fully understands why I wanted to have to timer before mininimize Jplay command: just to be sure the right tracks are going to ram or if the files are going at all. (If the tracks are in a subdir of the selected dir, Jplay doesnt see them, so nothing happens, so that why I need the delay timer....)   I dont understand what Peter is really testing with test1 and test2.   Gerard

#10 Peter_T

Peter_T

    Die Hard

  • Members
  • PipPipPip
  • 405 posts
  • LocationNetherlands

Posted 04 March 2012 - 04:21 PM

@ gerard

test1 test2 : look at this post

Peter_T

Music on Synology DS211j wire connected to router; NUC-server(I3-running W2016-core with AO and Jriver MC21) with 2 NIC's (one outboard); wire connected with NIC2 to the router and with NIC1 to a SOTM200; DHCP server installed on NIC1; SOTM200 connected via USB cable to a Chord eQute DAC. Two Sbooster (12V) LPSU's for the SOTM and the DAC; DAC>Passive Preamp > AudioNote Conqueror > Quad ESL988 – REL StrataIII sub; MF XCAN-VPB; > Sennheiser HD560 Ovation


#11 gerardhn

gerardhn

    Advanced

  • Members
  • PipPip
  • 97 posts
  • LocationNL

Posted 27 March 2012 - 08:40 PM

peter,   can you make an 4.2 update?   when playing and showing tracks, if you want to play a new cd, f12 is not working because it doesnot force jplay to m mode to accept space command (paste).   i added some (extra) send m statements , but it didnot help

Edited by gerardhn, 27 March 2012 - 11:01 PM.


#12 Peter_T

Peter_T

    Die Hard

  • Members
  • PipPipPip
  • 405 posts
  • LocationNetherlands

Posted 27 March 2012 - 09:20 PM

@ Gerard,

I am looking at it : there are more problems with jplaymini V4.2 : look here and here.

I just got a potential bugfix from Josef that promises to have a working HibernateWarning parameter.

Come back here in a couple of days.

Cheers

Peter_T

Music on Synology DS211j wire connected to router; NUC-server(I3-running W2016-core with AO and Jriver MC21) with 2 NIC's (one outboard); wire connected with NIC2 to the router and with NIC1 to a SOTM200; DHCP server installed on NIC1; SOTM200 connected via USB cable to a Chord eQute DAC. Two Sbooster (12V) LPSU's for the SOTM and the DAC; DAC>Passive Preamp > AudioNote Conqueror > Quad ESL988 – REL StrataIII sub; MF XCAN-VPB; > Sennheiser HD560 Ovation


#13 Peter_T

Peter_T

    Die Hard

  • Members
  • PipPipPip
  • 405 posts
  • LocationNetherlands

Posted 29 March 2012 - 02:44 PM

In Josef's preliminary fix (demo version) the HibernateWarning parameter now works, meaning that no extra space is needed and my script then works as usual. So we have to wait a bit longer until V4.2.01 comes out officially. Hopefully not too long Cheers

Peter_T

Music on Synology DS211j wire connected to router; NUC-server(I3-running W2016-core with AO and Jriver MC21) with 2 NIC's (one outboard); wire connected with NIC2 to the router and with NIC1 to a SOTM200; DHCP server installed on NIC1; SOTM200 connected via USB cable to a Chord eQute DAC. Two Sbooster (12V) LPSU's for the SOTM and the DAC; DAC>Passive Preamp > AudioNote Conqueror > Quad ESL988 – REL StrataIII sub; MF XCAN-VPB; > Sennheiser HD560 Ovation





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users