View Single Post
Old 06-18-2006, 03:55 AM   #1
Jarrod
Maximum Bitrate
Jarrod's CarPC Specs
 
Jarrod's Avatar
 
Join Date: Jan 2002
Location: Melb, Australia.
Vehicle: 2001 Holden VX S Commodore
Posts: 474
My Photos: ()
REQUEST: Run Multiple RR instances

Hi Guys & Gals,

I have been testing out running multiple instances of RR on the same machine (each instance is copied to its own dir, ie. "c:\Program Files\Road Runner" and "c:\Program Files\Road Runner2").

The reason I am doing this is to allow the rear seat passengers to control their own in-car experience. I have extended my desktop using the TV out (I will be upgrading to dual VGA outputs once I see if I can get this working). I then set the second RR instance Xposition in it's skin general.ini file to 799 to force it to load in the extended desktop.

I have also setup Winamp in two dirs (same approach as the RR folders) and set each RR instance to a different Winamp path. Each instance is set to use a different soundcard (I will be testing with a cheap USB sound card like this eventually, it will only be used by headphones in the rear seat anyway, so no need for an expensive second soundcard).

This works great but there are a few issues which need to be resolved before it can be used.

Firstly, both instances of RR control the same instance of Winamp, making it impossible to play different tracks. This is because currently RR is loading winamp using the default class name ("Winamp v1.x").

The following changes are required to the RR Source 06-03-06 to enable multiple instances of RR to be used with each controlling its own winamp instance. The winamp class name for each RR instance can be set in RR.ini with the following line: WinampClass="WinampClassNameGoesHere"

Changes required:
Code:
frmLoader.frm: -------------- Line 228: ADD BELOW WinampClass = "RoadRunnerWinamp1" -------------- Line 959: ADD BELOW Case "WinampClass" WinampClass = Trim(DT(1)) -------------- ---------------------------------------------------------------------------------------------------------------- WinAMP_Control.bas: ------------------- Line 205: CHANGE hWndWinAMP = FindWindow("Winamp v1.x", vbNullString) To: hWndWinAMP = FindWindow(WinampClass, vbNullString) -------------- Line 521: CHANGE ReturnValue = Shell(Chr(34) + winamp_path + "winamp.exe" + Chr(34), IIf(HideWinamp, vbHide, vbNormalNoFocus)) To: ReturnValue = Shell(Chr(34) + winamp_path + "winamp.exe" + Chr(34) + " /CLASS=" + Chr(34) + WinampClass + Chr(34), IIf(HideWinamp, vbHide, vbNormalNoFocus)) -------------- Line 545: CHANGE ReturnValue = Shell(vbQuote + winamp_path & "winamp.exe" & vbQuote & " /ADD " & vbQuote & strFileName & vbQuote, vbNormalNoFocus) To: ReturnValue = Shell(vbQuote + winamp_path & "winamp.exe" & vbQuote & " /CLASS=" & vbQuote & WinampClass & vbQuote & " /ADD " & vbQuote & strFileName & vbQuote, vbNormalNoFocus) --------------

These changes would not affect people running single instances of RR at all. I have not tested the changes, but I have controlled Winamp via VB.NET before, utilizing multiple winamp instances for multiple zones in a home audio setup. I don't have a VB.OLD compiler on my PC, so if someone could compile this for me (or let me know how to do it from Visual Studio 2003) it would be very helpful.

There are a few other issues that need to be sorted (like fighting over embedded app windows if both instances are trying to view the same app), but if we can get the audio stuff working, it would solve the major issues.

I intend to setup the rear screen RR skin with limited functionality, like Music, Video, DVD, GPS only, whilst the front screen skin has all the extras. DVD is another problem with only one DVD drive, to make both screens show the same DVD, easiest solution being to not allow the front screen to show DVD's (just control them).

Guino: Think you could test this out for the official release? I know you're a busy man, but if we could get this all working, it would open up a world of oportunities!
__________________
Jarrod - Holden VX S!
Jarrod is offline   Reply With Quote
Sponsored Links