Thread: UserFunction and DisplayFusion

Page 1 of 2 12 LastLast
Results 1 to 20 of 23
  1. Collapse Details
    UserFunction and DisplayFusion 
    #1
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,608
    Contribute If you enjoy reading the
    content here, click the below
    image to support our site.
    Click Here To Contribute To Our Site
    Hi guys,

    So I am stumped with how to run an exe with command line option and use romName of the game.

    What I am trying to achieve is use DisplayFusion wallpapers profile feature to create Marquee and various art on multiple monitors.

    Now I was able to get this line to launch my wallpaper (within the UserFunction.ahk):

    Run, C:\Program Files (x86)\DisplayFusion\DisplayFusionCommand.exe -wallpaperloadprofile "pacman"

    however I need to use romName where "pacman" is so it will launch the wallpaper profile for that rom, but the quotes around "pacman" are needed for DisplayFusion to work.

    How would I go about that? Maybe I am missing something as seems like I tried everything and it not working.
     

  2. Collapse Details
    Re: UserFunction and DisplayFusion 
    #2
    Super Moderator
    agent47's Avatar
    MainSecondary
    Join Date
    Jan 2016
    Posts
    975
    Code:
    global romName
    displayFusion := new Process("C:\Program Files (x86)\DisplayFusion\DisplayFusionCommand.exe")
    displayFusion.Run("-wallpaperloadprofile " . """" . romName . """")
     

  3. Collapse Details
    UserFunction and DisplayFusion 
    #3
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,608
    Thanks!

    I was so close was missing one thing from that.

    Thanks again appreciate it! Everything is working now and no I longer need EDS and Hyper Marquee as this works perfectly as much as I liked those programs I've had some annoying issues with them and found just using wallpapers on each monitor works just the same and without those problems. Much easier than having to use those programs. I was using the Triggers feature within DisplayFusion but this will work much better so don't have to create triggers for each rom which is crazy so this solves that issue thou I still have to create wallpaper profiles for each rom not that big of a deal thou.

    Guess we now have HyperWallpapers!! Haha
    Last edited by Krakerman ; 06-13-2018 at 10:52 AM.
     

  4. Collapse Details
    Re: UserFunction and DisplayFusion 
    #4
    Senior Member MydknyteStyrm's Avatar
    MainSecondary
    Join Date
    Jul 2014
    Posts
    152
    What are the benefits of using DisplayFusion over HyperMarquee? I only ask because I love HM, but would like something a little more user friendly.


    Sent from my iPhone using Tapatalk Pro
     

  5. Collapse Details
    UserFunction and DisplayFusion 
    #5
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,608
    Well all depends on what you want to do.

    HyperMarquee is free but DisplayFusion cost money if you want the pro features. Look at there website to see what you can do with it. I use it for certain games to create borderless gaming as well.

    Very powerful tool.


    Sent from my iPhone using Tapatalk
    Last edited by Krakerman ; 06-13-2018 at 01:33 PM.
     

  6. Collapse Details
    UserFunction and DisplayFusion 
    #6
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,608
    Iím looking into a free ticker program as well to add rss or xml feeds which I came across last night which I can scroll high scores across or whatever I want above the marquee. Gotta do some testing see how it works out thou.


    Sent from my iPhone using Tapatalk
     

  7. Collapse Details
    Re: UserFunction and DisplayFusion 
    #7
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,608
    Next thing want to look at is animated wallpapers then we can have animated marquees


    Sent from my iPhone using Tapatalk
     

  8. Collapse Details
    Re: UserFunction and DisplayFusion 
    #8
    Member

    MainSecondary
    Join Date
    May 2018
    Posts
    42
    Saw this post the other day and I just bought DisplayFusion and got it to launch a Marquee from inside 3DArcade within 15 minutes of buying the program. Now I just want to figure out how to get it to hide the desktop items from that monitor. I never could get RocketLauncher to work with 3DArcade. Kinda hard to troubleshoot because it appears to work and then RocketLauncher just crashes so there is no log to inspect. Anyways thanks for the tip on DisplayFusion.
    Attached Images Attached Images
     

  9. Collapse Details
    Re: UserFunction and DisplayFusion 
    #9
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,608
    Did you go into DisplayFusion TaskBar Settings and uncheck Enable Multi-Monitor Taskbars.
     

  10. Collapse Details
    Re: UserFunction and DisplayFusion 
    #10
    Member

    MainSecondary
    Join Date
    May 2018
    Posts
    42
    Quote Originally Posted by Krakerman View Post
    Did you go into DisplayFusion TaskBar Settings and uncheck Enable Multi-Monitor Taskbars.
    Yep I found that right after I posted. I also just needed to move a few desktop icons down to the main monitor. They somehow got up there when using Remote Desktop. Thanks.
     

  11. Collapse Details
    Re: UserFunction and DisplayFusion 
    #11
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,608
    You can also create Desktop Icon Profiles with DF.


    Sent from my iPhone using Tapatalk
     

  12. Collapse Details
    Re: UserFunction and DisplayFusion 
    #12
    Member

    MainSecondary
    Join Date
    May 2018
    Posts
    42
    After my initial excitement getting DisplayFusion working I'm not quite as fond of using it. Problems are for one having to create a profile for every single game and it seems to take too long. When I launch a game it seems like it can be 5 to 7 seconds before the marquee fades into view. I'm really surprised they didn't just put a Marquee feature in RocketLauncher. I guess the develops are all happy with HyperMarquee and heck maybe the same folks wrote that as well. My HyperMarquee quit working and has been a pain to figure out how to make it work since I quit using HyperSpin.
     

  13. Collapse Details
    Re: UserFunction and DisplayFusion 
    #13
    Super Moderator
    agent47's Avatar
    MainSecondary
    Join Date
    Jan 2016
    Posts
    975
    Quote Originally Posted by Gilrock View Post
    I guess the develops are all happy with HyperMarquee and heck maybe the same folks wrote that as well.
    Not the same devs, HM was written by Antos who isn't a RL dev.
     

  14. Collapse Details
    Re: UserFunction and DisplayFusion 
    #14
    Member

    MainSecondary
    Join Date
    May 2018
    Posts
    42
    Maybe I'll give HyperMarquee another go. I'm assuming I could put the proper code in this same UserFunction file to be able to launch HyperMarquee. I'm surprised I don't see anyone talking about doing that when I searched. Is nobody using HyperMarquee without HyperSpin?
     

  15. Collapse Details
    Re: UserFunction and DisplayFusion 
    #15
    Member

    MainSecondary
    Join Date
    May 2018
    Posts
    42
    Quote Originally Posted by agent47 View Post
    Code:
    global romName
    displayFusion := new Process("C:\Program Files (x86)\DisplayFusion\DisplayFusionCommand.exe")
    displayFusion.Run("-wallpaperloadprofile " . """" . romName . """")
    I used this technique to run HyperMarquee by adding some code into a MAME.ahk prelaunch function in the UserModule area. I've got to stop for tonight but all I need now is how to kill the process in the post launch function. If you create a variable on the fly like you did with the "displayFusion" above will that name be available in the post launch function to kill the process?
     

  16. Collapse Details
    Re: UserFunction and DisplayFusion 
    #16
    Super Moderator
    agent47's Avatar
    MainSecondary
    Join Date
    Jan 2016
    Posts
    975
    No, you would have to declare it as a global variable. That code was meant for a single function but if you're going to be referencing HM multiple times it would be better to handle it like I did in this example.

    Just be sure to note that if you plan on implementing your user function for multiple modules you'll need to use a different function because PreLaunch isn't available for legacy modules as brolly mentioned in that thread.
     

  17. Collapse Details
    Re: UserFunction and DisplayFusion 
    #17
    Member

    MainSecondary
    Join Date
    May 2018
    Posts
    42
    Ok thanks. I was looking at the autohotkey.com website and the way they showed kicking off processes was like Krakerman showed. You're method looks much nicer. I'm not sure how to tell which ones are legacy modules but I started with MAME and I added a RL log statement that I used to verify it was being called. The UserFunction example folder structure looked a bit confusing. It has if I remember right System.ahk and then an Emulators folder. You go in the Emulators folder and I believe it has that same structure repeated. I wasn't sure if my system name was HyperSpin or MAME. When I select HyperSpin as the default front-end in RLUI then it lists everything on the left as systems. So I was like is MAME an emulator or a system. I finally just said I'm gonna just start putting code in user functions and move the file around until it works.
     

  18. Collapse Details
    Re: UserFunction and DisplayFusion 
    #18
    Super Moderator
    agent47's Avatar
    MainSecondary
    Join Date
    Jan 2016
    Posts
    975
    A while back there was some restructuring to make RL more class based which are the functions I used in that example. The RL functions utilize the standard AHK functions but add logging and some additional functionality in most cases.

    The legacy modules will use standard AHK calls instead of the RL functions so if you open the module you can tell pretty quickly. If you see a "settingsFile" declaration for the module ini (and IniReadCheck() calls instead of moduleIni.Read()) at the beginning of the module it's legacy.

    System refers to the platform/collection/etc that you have listed in your frontend. If you were to implement your code for MAME as a system it would only execute for games listed under that platform per your game list/database. If you were to implement the code for MAME as an emulator it would execute for any platform using MAME as the emulator. So if you were running NES and Genesis using MAME and used the emulator user function your code would run for those as well as the arcade games.

    The user functions used to be contained in a single file rather than the tiered directory structure it currently uses which would quickly turn into a mess of conditionals if you were trying to have things run for specific games, systems, emulators, etc.
     

  19. Collapse Details
    Re: UserFunction and DisplayFusion 
    #19
    Member

    MainSecondary
    Join Date
    May 2018
    Posts
    42
    Thanks for the info. I'm trying to have several front-ends working. I've got LaunchBox and HyperSpin working now in RocketLauncher and I also use 3DArcade but it just pretends to be LaunchBox when it makes the calls.

    One thing I ran into was since I had LaunchBox.exe listed as the default front-end under the General settings it caused HyperSpin to get an error when looking for the system xml files. I checked the log and I think it's because HyperSpin is not sending the "-p" option so it ends up kinda half-way using the default front-end. I say half-way because it errors out looking for M:\LaunchBox\Databases\MAME\MAME.xml but the problem is that's not the directory structure that LaunchBox uses. So for me to get HyperSpin working while LaunchBox is listed as the default front-end I had to create the ...\Databases\MAME\MAME.xml by copying it from where LaunchBox had it stored which I believe is the Platforms subdirectory. Since both front-ends point to the same MAME it didn't seem to be a problem. Thinking about it I could probably make that work using a directory link so it wouldn't get out of sync if anything in LaunchBox is updated.
     

  20. Collapse Details
    Re: UserFunction and DisplayFusion 
    #20
    Super Moderator
    agent47's Avatar
    MainSecondary
    Join Date
    Jan 2016
    Posts
    975
    In order to have HS function properly you need to set both the default plugin to HS and the default frontend path to your HS executable. That will fix your issue w/o having to create files.

    The -p and -f switches should always be sent via CLI from the frontend (overriding what is set in RLUI) but since HS doesn't allow that you are forced to have those set in RLUI to compensate if you're using HS.
     

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •