• 1
  • 397
  • 398
  • 399(current)
  • 400
  • 401
  • 453
[CLOSED] Advanced Launcher - Applications Launcher Addon for XBMC
(2014-06-24, 05:43)Bedwyr Wrote: May I get some help and correction about the command line arguments I'm using for retroarch?

From cmd my current working directory is:

D:\Games\Emulators\Retroarch\

The command and arguments that work for me from cmd are for NES and SNES respectively:

Code:
RetroArch -c .\configs\nestopia_libretro.dll.cfg -f -L .\cores\nestopia_libretro.dll ..\NES\Roms\romgame.nes

RetroArch -c .\configs\snes9x_next_libretro.dll.cfg -f -L .\cores\snes9x_next_libretro.dll  ..\NES\Roms\romgame.smc

Assuming that I have Advanced Launcher configured correctly, what should be the correct arguments I should use?

Code:
-c \configs\nestopia_libretro.dll.cfg -f -L \cores\nestopia_libretro.dll "%rom%"

does not work and I thought I had the syntax correct. What am I doing wrong?

Thanks in advance for the help.
Try this :

Code:
-c D:\Games\Emulators\Retroarch\configs\nestopia_libretro.dll.cfg -f -L D:\Games\Emulators\Retroarch\cores\nestopia_libretro.dll "%rom%"

or this :

Code:
-c %apppath%\configs\nestopia_libretro.dll.cfg -f -L %apppath%\cores\nestopia_libretro.dll "%rom%"

The working directory is not the same when you start an app from XBMC. So you must use absolute paths instead of relative paths. %apppath% value correspond the the wroking directory of RetroArch.
Ah. Yes, the full paths did work. Is the lesson that Advanced Launcher and/or XBMC not play nice with working directory or changing directories?


Edit: Thanks very much!
(2014-06-24, 05:57)Bedwyr Wrote: Ah. Yes, the full paths did work. Is the lesson that Advanced Launcher and/or XBMC not play nice with working directory or changing directories?

Edit: Thanks very much!
When you start RetroArch manually the working directory is the directory where is located the Retroarch executable. When you start RetroArch from XBMC the working directory is the directory where is located the XBMC executable. So... to avoid any kind of problem, the best way it always to use absolute paths instead of relative paths.
Good points, thanks.


May I ask a semi off-topic question? I'm new to RetroArch and am trying to figure out how RGUI input configuration works. One thing that's really unclear is that in using the N64 core, I don't know which N64 controller buttons I'm assigning because the labels still refer to standard dual stick controls (L-stick, R-stick, D pad, X, Y, B, A, etc). I don't know which is the "Z" or "C" control I should be assigning.

I apologize for getting off-topic, but searches aren't yielding anything and I don't feel I have enough RetroArch questions or issues to warrant making yet another user account over at their site. I'm in the process of marrying RetroArch and Advanced Launcher and I'm hoping you might know... No problem if you or anyone else doesn't know RGUI off-hand.
@Angelscry is it possible to stack normal executable launchers in the same way that we can stack files launchers? ie: Program {Version 1}.exe and Program {Version 2}.exe so that when adding the launcher a menu would pop up allowing us to choose which version of the program we want to launch?

The reason I'm asking is because I'm trying to write scripts with autoit that launch the windows 8 netflix app with different DNS settings depending on which version of the script is executed. So far everything works fine if I make an explorer.exe files launcher which launches the script, but only if I also have the DNS addresses and the absolute path of the Netflix.lnk (created with Oblitile) defined in the script itself. However, the problem I'm having is that I would like to write the script in such a way that the DNS addresses are define outside of the program itself with a config.ini file. This is so that I don't have to modify and re-compile the scripts every time I need to update the DNS addresses. The problem is though that when using a explorer.exe files launcher the working directory becomes the C:\System32\ making it impossible to read the config.ini parameters. Everything works fine if I run the script manually without using an explorer.exe files launcher, but then Advanced Launcher doesn't stack the executables, sort of defeating the purpose haha. A possible workaround of course would be to add a user definable path to Netflix.lnk inside config.ini and then placing this file inside the working folder that explorer.exe changes to, however if possible I would like to avoid having to place files inside system folders in order to make the scripts portable. Also, I've found that the explorer working folder is different from machine to machine...(System32 on my media center and SysWOW64 on my laptop). However, if there was a way that we could stack executable launchers in the same way as file launchers none of this would be a problem as the working folder would be the same as the location of the scripts haha. This is my code if my explanation wasn't very clear:

Code:
#RequireAdmin
#include <Process.au3>

HotKeySet("{ESC}", "KillTask")
Opt("WinTitleMatchMode", 2)
$networkAdapter = IniRead("config.ini", "NetworkAdapter", "Active", "0")
$primaryLocalDNS = IniRead("config.ini", "LocalDNS", "Primary", "0")
$secondaryLocalDNS = IniRead("config.ini", "LocalDNS", "Secondary", "0")
$primaryForeignDNS = IniRead("config.ini", "ForeignDNS", "Primary", "0")
$secondaryForeignDNS = IniRead("config.ini", "ForeignDNS", "Secondary", "0")

    RunWait(@ComSpec & " /c netsh interface ip set dns " & $networkAdapter & " static " & $primaryForeignDNS & "", "", @SW_HIDE)
    RunWait(@ComSpec & " /c netsh interface ip add dns " & $networkAdapter & " addr= " & $secondaryForeignDNS & " index=2", "", @SW_HIDE)
       ;RunWait(@ComSpec & " /c ipconfig /flushdns", "", @SW_HIDE)

ShellExecute("Netflix.lnk")
    While 1
        Sleep(100)
    WEnd

Func KillTask()
    Send ( "!{F4}")
    RunWait(@ComSpec & " /c netsh interface ip set dns " & $networkAdapter & " static " & $primaryLocalDNS & "", "", @SW_HIDE)
    RunWait(@ComSpec & " /c netsh interface ip add dns " & $networkAdapter & " addr= " & $secondaryLocalDNS & " index=2", "", @SW_HIDE)
    ;RunWait(@ComSpec & " /c ipconfig /flushdns", "", @SW_HIDE)
    WinActivate("XBMC")
    Exit 0
EndFunc

With a config.ini file containing the following:
Code:
[NetworkAdapter]
Active="Ethernet"

[LocalDNS]
Primary="8.8.8.8"
Secondary="8.8.4.4"

[ForeignDNS]
Primary="109.74.12.20"
Secondary="213.5.182.117"

Thanks, hope you can help!

EDIT: also, if it wasn't obvious there is a second script that just launches Netflix normally without changing the DNS addresses. So I have Netflix {Canadian}.exe as well as Netflix {American}.exe. The code I posted above is for Netflix {American}.exe which ideally would stack with the canadian one. And both scripts read from config.ini
(2014-06-26, 00:35)holydhaliwal Wrote: @Angelscry is it possible to stack normal executable launchers in the same way that we can stack files launchers? ie: Program {Version 1}.exe and Program {Version 2}.exe so that when adding the launcher a menu would pop up allowing us to choose which version of the program we want to launch?

The reason I'm asking is because I'm trying to write scripts with autoit that launch the windows 8 netflix app with different DNS settings depending on which version of the script is executed. So far everything works fine if I make an explorer.exe files launcher which launches the script, but only if I also have the DNS addresses and the absolute path of the Netflix.lnk (created with Oblitile) defined in the script itself. However, the problem I'm having is that I would like to write the script in such a way that the DNS addresses are define outside of the program itself with a config.ini file. This is so that I don't have to modify and re-compile the scripts every time I need to update the DNS addresses. The problem is though that when using a explorer.exe files launcher the working directory becomes the C:\System32\ making it impossible to read the config.ini parameters. Everything works fine if I run the script manually without using an explorer.exe files launcher, but then Advanced Launcher doesn't stack the executables, sort of defeating the purpose haha. A possible workaround of course would be to add a user definable path to Netflix.lnk inside config.ini and then placing this file inside the working folder that explorer.exe changes to, however if possible I would like to avoid having to place files inside system folders in order to make the scripts portable. Also, I've found that the explorer working folder is different from machine to machine...(System32 on my media center and SysWOW64 on my laptop). However, if there was a way that we could stack executable launchers in the same way as file launchers none of this would be a problem as the working folder would be the same as the location of the scripts haha. This is my code if my explanation wasn't very clear:

Code:
#RequireAdmin
#include <Process.au3>

HotKeySet("{ESC}", "KillTask")
Opt("WinTitleMatchMode", 2)
$networkAdapter = IniRead("config.ini", "NetworkAdapter", "Active", "0")
$primaryLocalDNS = IniRead("config.ini", "LocalDNS", "Primary", "0")
$secondaryLocalDNS = IniRead("config.ini", "LocalDNS", "Secondary", "0")
$primaryForeignDNS = IniRead("config.ini", "ForeignDNS", "Primary", "0")
$secondaryForeignDNS = IniRead("config.ini", "ForeignDNS", "Secondary", "0")

    RunWait(@ComSpec & " /c netsh interface ip set dns " & $networkAdapter & " static " & $primaryForeignDNS & "", "", @SW_HIDE)
    RunWait(@ComSpec & " /c netsh interface ip add dns " & $networkAdapter & " addr= " & $secondaryForeignDNS & " index=2", "", @SW_HIDE)
       ;RunWait(@ComSpec & " /c ipconfig /flushdns", "", @SW_HIDE)

ShellExecute("Netflix.lnk")
    While 1
        Sleep(100)
    WEnd

Func KillTask()
    Send ( "!{F4}")
    RunWait(@ComSpec & " /c netsh interface ip set dns " & $networkAdapter & " static " & $primaryLocalDNS & "", "", @SW_HIDE)
    RunWait(@ComSpec & " /c netsh interface ip add dns " & $networkAdapter & " addr= " & $secondaryLocalDNS & " index=2", "", @SW_HIDE)
    ;RunWait(@ComSpec & " /c ipconfig /flushdns", "", @SW_HIDE)
    WinActivate("XBMC")
    Exit 0
EndFunc

With a config.ini file containing the following:
Code:
[NetworkAdapter]
Active="Ethernet"

[LocalDNS]
Primary="8.8.8.8"
Secondary="8.8.4.4"

[ForeignDNS]
Primary="109.74.12.20"
Secondary="213.5.182.117"

Thanks, hope you can help!

EDIT: also, if it wasn't obvious there is a second script that just launches Netflix normally without changing the DNS addresses. So I have Netflix {Canadian}.exe as well as Netflix {American}.exe. The code I posted above is for Netflix {American}.exe which ideally would stack with the canadian one. And both scripts read from config.ini
Why not create a files launcher where the executable file will be your script and the items would be your .ini files?

Application : Netflix_script.exe
Argument : "%rom%"
File extension : .ini

Then your script would be modified to receive the path of the config.ini file as argument :

Code:
#RequireAdmin
#include <Process.au3>

HotKeySet("{ESC}", "KillTask")
Opt("WinTitleMatchMode", 2)
If $CmdLine[0] == 1 Then
    $networkAdapter = IniRead($CmdLine[1], "NetworkAdapter", "Active", "0")
    $primaryLocalDNS = IniRead($CmdLine[1], "LocalDNS", "Primary", "0")
    $secondaryLocalDNS = IniRead($CmdLine[1], "LocalDNS", "Secondary", "0")
    $primaryForeignDNS = IniRead($CmdLine[1], "ForeignDNS", "Primary", "0")
    $secondaryForeignDNS = IniRead($CmdLine[1], "ForeignDNS", "Secondary", "0")
    RunWait(@ComSpec & " /c netsh interface ip set dns " & $networkAdapter & " static " & $primaryForeignDNS & "", "", @SW_HIDE)
    RunWait(@ComSpec & " /c netsh interface ip add dns " & $networkAdapter & " addr= " & $secondaryForeignDNS & " index=2", "", @SW_HIDE)
       ;RunWait(@ComSpec & " /c ipconfig /flushdns", "", @SW_HIDE)
EndIf

ShellExecute("Netflix.lnk")
    While 1
        Sleep(100)
    WEnd

Func KillTask()
    Send ( "!{F4}")
    RunWait(@ComSpec & " /c netsh interface ip set dns " & $networkAdapter & " static " & $primaryLocalDNS & "", "", @SW_HIDE)
    RunWait(@ComSpec & " /c netsh interface ip add dns " & $networkAdapter & " addr= " & $secondaryLocalDNS & " index=2", "", @SW_HIDE)
    ;RunWait(@ComSpec & " /c ipconfig /flushdns", "", @SW_HIDE)
    WinActivate("XBMC")
    Exit 0
EndFunc

Then finaly create different .ini files for each country (canadian.ini, american.ini, etc...) and put them into the same directory. It will do the job, no?
Angelscry, can you tell me which scrapers do you recommend from the ones that AL allows?

Thanks.
(2014-06-26, 16:03)Monkee Wrote: Angelscry, can you tell me which scrapers do you recommend from the ones that AL allows?

Thanks.
To scrap what?
MAME and consoles games (from the Nes to the Wii and handhelds ones too).

Edit: Maybe 2 or 3 Steam Games too in fact.
My suggestion would be to use : arcadeHITS for MAME games, and for other games : AllGame (data) + TheGamesDB (cover and fanarts).
Thanks again Angelscry!
(2014-06-26, 03:36)Angelscry Wrote: Why not create a files launcher where the executable file will be your script and the items would be your .ini files?

Application : Netflix_script.exe
Argument : "%rom%"
File extension : .ini

Then your script would be modified to receive the path of the config.ini file as argument :

Code:
#RequireAdmin
#include <Process.au3>

HotKeySet("{ESC}", "KillTask")
Opt("WinTitleMatchMode", 2)
If $CmdLine[0] == 1 Then
    $networkAdapter = IniRead($CmdLine[1], "NetworkAdapter", "Active", "0")
    $primaryLocalDNS = IniRead($CmdLine[1], "LocalDNS", "Primary", "0")
    $secondaryLocalDNS = IniRead($CmdLine[1], "LocalDNS", "Secondary", "0")
    $primaryForeignDNS = IniRead($CmdLine[1], "ForeignDNS", "Primary", "0")
    $secondaryForeignDNS = IniRead($CmdLine[1], "ForeignDNS", "Secondary", "0")
    RunWait(@ComSpec & " /c netsh interface ip set dns " & $networkAdapter & " static " & $primaryForeignDNS & "", "", @SW_HIDE)
    RunWait(@ComSpec & " /c netsh interface ip add dns " & $networkAdapter & " addr= " & $secondaryForeignDNS & " index=2", "", @SW_HIDE)
       ;RunWait(@ComSpec & " /c ipconfig /flushdns", "", @SW_HIDE)
EndIf

ShellExecute("Netflix.lnk")
    While 1
        Sleep(100)
    WEnd

Func KillTask()
    Send ( "!{F4}")
    RunWait(@ComSpec & " /c netsh interface ip set dns " & $networkAdapter & " static " & $primaryLocalDNS & "", "", @SW_HIDE)
    RunWait(@ComSpec & " /c netsh interface ip add dns " & $networkAdapter & " addr= " & $secondaryLocalDNS & " index=2", "", @SW_HIDE)
    ;RunWait(@ComSpec & " /c ipconfig /flushdns", "", @SW_HIDE)
    WinActivate("XBMC")
    Exit 0
EndFunc

Then finaly create different .ini files for each country (canadian.ini, american.ini, etc...) and put them into the same directory. It will do the job, no?

Ohhh I hadn't thought of that, yeah that actually works perfectly! Thanks!!
Version 2.5.3 : This new version of Advanced Launcher simply fix a small bug occuring during the stand alone launcher creating by providing the "%rom%" argument by default... that is not needed at all for this kind of launcher.

Changelog :
  • Disable "%rom%" default argument for stand alone launcher.
Hello , I was wondering if there is a fix for the current version of advanced launcher to hide the Opening Stream" message box ? , I used to have this problem before on Frodo 12.0 but was able to fix it with the instructions provided on page 304 , but trying to do the same now with current version of xbmc 13.1 and Advanced Launcher 2.5.2 did not work anymore when I am trying to launch Hyperspin


here is my favorite.xml

<favourites>

<favourite name="HyperSpin">RunPlugin(&quot;plugin://plugin.program.advanced.launcher/?default/25e7f8890db6616b11404d33dea7032d&quot;)</favourite>

<favourite name="YouTube" thumb="C:\Users\Nereesa\AppData\Roaming\XBMC\addons\plugin.video.youtube\icon.png">ActivateWindow(10025,&quot;plugin://plugin.video.youtube/&quot;,return)
</favourite>

</favourites>


Kind Regards

Z
(2014-06-27, 12:28)Zeruel Wrote: Hello , I was wondering if there is a fix for the current version of advanced launcher to hide the Opening Stream" message box ? , I used to have this problem before on Frodo 12.0 but was able to fix it with the instructions provided on page 304 , but trying to do the same now with current version of xbmc 13.1 and Advanced Launcher 2.5.2 did not work anymore when I am trying to launch Hyperspin


here is my favorite.xml

<favourites>

<favourite name="HyperSpin">RunPlugin(&quot;plugin://plugin.program.advanced.launcher/?default/25e7f8890db6616b11404d33dea7032d&quotWink</favourite>

<favourite name="YouTube" thumb="C:\Users\Nereesa\AppData\Roaming\XBMC\addons\plugin.video.youtube\icon.png">ActivateWindow(10025,&quot;plugin://plugin.video.youtube/&quot;,return)
</favourite>

</favourites>


Kind Regards

Z
I'm not able to reproduce your problem on my system (XBMC 13.1 and Advanced Launcher 2.5.3). All is working correctly on my side. So I cannot fix anything. BTW, the launch of XBMC add-ons trough favourites features is managed by the favourites script, not by Advanced Launcher itself.
  • 1
  • 397
  • 398
  • 399(current)
  • 400
  • 401
  • 453

Logout Mark Read Team Forum Stats Members Help
[CLOSED] Advanced Launcher - Applications Launcher Addon for XBMC24