Jump to content
(Public Beta) HyperSpin 2 is now available for everyone ×

asdfrewq

Recommended Posts

Posted

File Name: HyperRemote

File Submitter: asdfrewq

File Submitted: 22 Feb 2016

File Category: Add-Ons

Credits: asdfrewq


HyperRemote is a http web remote for HyperSpin and RocketLauncher.

 

HyperRemote allows you to browse, search and launch games from your collection right from your mobile phone or tablet device. Whilst ingame, you may save or load savestates, bring up the multi-game menu of rocketlauncher, or exit your game.

 

HyperRemote utilizes data and media from HyperSpin and RocketLauncher and as such requires that you have both programs installed and correctly set up with all systems successfully launching via RocketLauncher (although HyperSpin doesn't actually need to be running for HyperRemote to work.)

 

HyperRemote uses images and video from your HyperSpin Media directory. For the best experience with HyperRemote, ensure your collection contains wheel images for all games, mp4 videos for all games and game boxart in your artwork3 folder.

 

Installation:

  1. Download Remote.zip and extract to your preferred location.
  2. Open config.ini and edit your HyperSpin and RocketLauncher paths. You may alter the port value if the default "8888" does not suit you.
  3. Run Remote.exe (First time users may receive a notice from their firewall asking to permit access)
  4. Point your web browser to: http:// [youripaddress] :8888/
  5. "[youripaddress]" will be the LAN ip address of the system running HyperRemote. This is also shown in the console when launching HyperRemote.



Click here to download this file

Posted

Fantastic!  I've been waiting for something like this and was actually gonna try my hand at it at some point and now I don't have to.  Can't wait to try it.  Thanks so much!

Posted

I set my paths in the ini and ran it.  Got and error and I dont know how to copy and paste from a dos window.  The gist of it is errors on lines 243, and 57, IndexError: list index out of range.

Posted

I set my paths in the ini and ran it.  Got and error and I dont know how to copy and paste from a dos window.  The gist of it is errors on lines 243, and 57, IndexError: list index out of range.

At a guess, I'm assuming you're using an older .xml file somewhere that predates the "enabled" tag. I'll throw a quick work around in there and upload the new build shortly.

 

I should note that as this is a very early prototype build based on my own specific setup, there's going to be a bunch of exceptions and unique use cases which the code just won't pick up. This will all be ironed out in future "stable" releases. :)

 

Cool concept, don't see myself ever taking the top to whip out a phone or tablet to do it though lol.

Fair enough. To be honest, this project is aimed more at HTPC users than cabinet builders. I personally have a kodi/hyperspin/steam HTPC setup which I control largely from my phone when using kodi. HyperRemote is an attempt to make that experience more seamless when browsing media.

 

The secondary functions, which I haven't implemented yet, will mimic the functionality of the HyperPause feature in RocketLauncher, but cut out all the inherent instability problems of halting the emulator process and overlaying the hyperpause gui.

 

Basically, while in game and without leaving the emulator, HyperRemote will be able to do things like trigger savestates, change discs, lookup game manuals/cheats/walkthroughs or pretty much anything else that hyperpause is capable of.  

Posted

 I'll throw a quick work around in there and upload the new build shortly.

Ok, I quickly removed the "enabled" check from the xml scraper. Not an ideal situation, but I'm just on my way out and that code needs the be completely rewritten anyway. Hopefully that will work for you now.

Posted

Ok, I quickly removed the "enabled" check from the xml scraper. Not an ideal situation, but I'm just on my way out and that code needs the be completely rewritten anyway. Hopefully that will work for you now.

Yeah most of my xmls don't have the enabled tag.  I'll try it out.  BTW I didn't vote 3 stars.  Whoever did that is a douche.  This is obviously pre-alpha stage and you should be supported not criticized.

Posted

Yeah most of my xmls don't have the enabled tag.  I'll try it out.

 

If you've already re-downloaded and got the same error, I think it's because I uploaded the v0.01 file again. I've just now submitted the proper v0.02 which should work for you. 

Posted

This is an interesting idea.

 

So here's my experience.

 

I added my paths (tried relative paths initially but changed it to normal) ran the exe, the cmd window pops up and disappears. So I guess that means it's not working? But anyway I carry on.

 

Next bit is the IP address. I had to look this bit up as I have little knowledge of this. 

I typed cmd into the start box and then ipconfig which gave me a LAN ip of 192.168.0.2. So for me the web address would be http://192.168.0.2:8888/www/index.html

Would that be correct?

56uIzxg.png

Posted

I added my paths (tried relative paths initially but changed it to normal) ran the exe, the cmd window pops up and disappears. So I guess that means it's not working? But anyway I carry on.

 

 

Yeah, your web address is correct but it has exited with an error. Check that your paths have a "/" the end and maybe try again.

 

It looks like I may have been a little too presumptuous about what hyperspin xmls will look like in the wild. I received all my xml's via hypersync and parsed them through one of the various tools out there, so all my xmls seem to be uniform in their attributes.

 

This shouldn't be a big deal though. Just a product of sloppy, rushed coding on my part. I'll have some time tomorrow to fix the issue and get a working version up.

Posted

While I haven't successfully tried it yet I want to point something out to anyone who questions the value of this.  This isn't simply some novelty of being able to launch a game from your phone.  This presumably allows quick and instant access to specific games.  Much faster than with accessing through the menu.  Hyperspin is sorely lacking in this department.  There's no recently played wheel, no frequently played wheel, no combined favorites (without manually and painstakingly creating a new wheel and DB for it).  Even if it did have these things, while a FE is great for browsing, it's not great if you know what you want to play in advance.

 

Take this scenario.  I'm watching a sporting event on television and i just popped something in the oven.  It's halftime and I want to play a round or two of Street Fighter V on my arcade cabinet in my garage.  I need to go over to it, wake it up, navigate to my Steam wheel, press the favorites button, select go to my favorites, select SF5, wait 15 seconds for Steam to load and log in,and then wait for the game to load and log in.  Now it feels like 3 minutes have gone by before even starting the game.  Double that if there was a software update.  Now the oven timer is going to go off soon and the game on TV will be back on soon.  Even if I do have time to play the match, it doesn't feel like I played a quick match.  It feels like an ordeal and I'm subconsciously aware that I'll have to do this any and every time I want to play a game.

 

But, if I was on my couch before halftime with my iPad and I could quickly navigate to one of my web broswer's bookmarks that takes me directly to a list of my Steam games and tap on SF5 to launch the game and have it ready for me by the time I walk out to the garage--that would be nice.

Posted

Would love to test, but I am also getting an error trying to set it up. 

P:\Hyperspin\Utilities\HyperRemote\library.zip\fuzzywuzzy\fuzz.py:33: UserWarnin
g: Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove
this warning
Hyperspin Remote v0.01
Loading system... AAE
Done! (35 games.)
Loading system... American Laser Games
Done! (10 games.)
Loading system... Amstrad GX4000
Done! (25 games.)
Loading system... MAME
Done! (3484 games.)
Loading system... Atari 2600
Done! (625 games.)
Loading system... Atari 5200
Done! (72 games.)
Loading system... Atari 7800
Done! (58 games.)
Loading system... Atari ST
Done! (2894 games.)
Loading system... Atari Jaguar
Done! (54 games.)
Loading system... Atari Jaguar CD
Done! (13 games.)
Loading system... Atari Lynx
Done! (75 games.)
Loading system... Bally Astrocade
Done! (48 games.)
Loading system... Bandai WonderSwan
Done! (110 games.)
Loading system... Bandai WonderSwan Color
Done! (94 games.)
Loading system... Casio PV-1000
Done! (5 games.)
Loading system... ColecoVision
Done! (140 games.)
Loading system... Commodore VIC-20
Traceback (most recent call last):
  File "remote.py", line 244, in <module>
  File "remote.py", line 68, in loadDatabases
IndexError: list index out of range

P:\Hyperspin\Utilities\HyperRemote>
Posted

Tried 3rd version.  So the service is running but when I go to it in Chrome I just get a page that says Hello World!

 

Also when it was loading XMLs a few of them gave errors but almost all of them seemed to load fine.

 

EDIT wasn't using the /www/index.html, seems to be working I'll let you know.

Posted

Ok, I think I've solved most of the issues with the xml parsing methods. Give it another shot and let me know how it goes. :)

 

 

 

Would love to test, but I am also getting an error trying to set it up.

That's quite the collection you have there... If the xml fixes work for you, could you please try the search function and report back your response times. I got down reasonably fast, for what I have to work with in python, but I'd like to see how it handles a large collection.

 

 

While I haven't successfully tried it yet I want to point something out to anyone who questions the value of this.  This isn't simply some novelty of being able to launch a game from your phone.  This presumably allows quick and instant access to specific games.  Much faster than with accessing through the menu.  Hyperspin is sorely lacking in this department.  There's no recently played wheel, no frequently played wheel, no combined favorites (without manually and painstakingly creating a new wheel and DB for it).  Even if it did have these things, while a FE is great for browsing, it's not great if you know what you want to play in advance.

 

Take this scenario.  I'm watching a sporting event on television and i just popped something in the oven.  It's halftime and I want to play a round or two of Street Fighter V on my arcade cabinet in my garage.  I need to go over to it, wake it up, navigate to my Steam wheel, press the favorites button, select go to my favorites, select SF5, wait 15 seconds for Steam to load and log in,and then wait for the game to load and log in.  Now it feels like 3 minutes have gone by before even starting the game.  Double that if there was a software update.  Now the oven timer is going to go off soon and the game on TV will be back on soon.  Even if I do have time to play the match, it doesn't feel like I played a quick match.  It feels like an ordeal and I'm subconsciously aware that I'll have to do this any and every time I want to play a game.

 

But, if I was on my couch before halftime with my iPad and I could quickly navigate to one of my web broswer's bookmarks that takes me directly to a list of my Steam games and tap on SF5 to launch the game and have it ready for me by the time I walk out to the garage--that would be nice.

Great points and certainly part of the motivation for the project. Loading data from rocketlauncher's statistics to display recently/frequently played for global or system specific lists will be coming very soon, as well as global favourites and genres.

 

Regarding your specific scenario... I'm curious if people launch steam games via rocketlauncher or if they're run directly via cli. Right now, I'm ignoring hyperspin's options and am only supporting rocketlaunch, but if this is an unpopular design decision I will definitely look into supporting hyperspin's launch options.

Posted

Tried 3rd version.  So the service is running but when I go to it in Chrome I just get a page that says Hello World!

 

Also when it was loading XMLs a few of them gave errors but almost all of them seemed to load fine.

 

EDIT wasn't using the /www/index.html, seems to be working I'll let you know.

I  should probably get rid of that default message and put a redirect in there :/

 

Glad it's working, but I'm a little bummed it couldn't get your whole collection to load. Is there any chance you could send me the .xml's of the system's that wouldn't load so i can try to tackle the problem locally?

Posted

Loaded all systems.Works great!

 

D:\hyperspin\_Utilities\Remote\library.zip\fuzzywuzzy\fuzz.py:33: UserWarning: Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning
Hyperspin Remote v0.03
Loading system... Atari 7800
Done! (66 games)
Loading system... Atari Jaguar
Done! (55 games)
Loading system... Future Pinball
Done! (190 games)
Loading system... MAME
Done! (9521 games)
Loading system... Nintendo DS
Done! (87 games)
Loading system... Nintendo Entertainment System
Done! (847 games)
Loading system... Nintendo 64
Done! (303 games)
Loading system... Nintendo GameCube
Done! (198 games)
Loading system... Nintendo Wii
Done! (350 games)
Loading system... Nintendo WiiWare
Done! (339 games)
Loading system... PC Games
Done! (10 games)
Loading system... PopCap
Done! (36 games)
Loading system... Sammy Atomiswave
Done! (23 games)
Loading system... Sega 32X
Done! (34 games)
Loading system... Sega Genesis
Done! (727 games)
Loading system... Sega Master System
Done! (230 games)
Loading system... Sega Model 2
Done! (56 games)
Loading system... Sony PlayStation
Done! (70 games)
Loading system... Sony Playstation 2
Done! (48 games)
Loading system... Sony PSP
Done! (365 games)
Loading system... Sony PSP Minis
Done! (294 games)
Loading system... Super Nintendo Entertainment System
Done! (701 games)
Loading system... Zinc
Done! (46 games)
Starting server on port: 8888
 

Posted

Version .03 now loads the entire collection without error, browsing systems works, however, when I do a search, it just hangs forever. I searched for "mario" and the below exception was displayed in the console window:

[E 160223 09:26:32 web:1524] Uncaught exception GET /api?req=search&query=mario
(::1)
    HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri=
'/api?req=search&query=mario', version='HTTP/1.1', remote_ip='::1', headers={'Ac
cept-Language': 'en-US,en;q=0.8', 'Accept-Encoding': 'gzip, deflate, sdch', 'Hos
t': 'localhost:8888', 'Accept': 'application/json, text/plain, */*', 'User-Agent
': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) C
hrome/48.0.2564.116 Safari/537.36', 'Connection': 'keep-alive', 'Referer': 'http
://localhost:8888/www/index.html'})
    Traceback (most recent call last):
      File "tornado\web.pyc", line 1443, in _execute
      File "remote.py", line 171, in get
      File "remote.py", line 218, in search
    TypeError: 'NoneType' object is not iterable
[E 160223 09:26:32 web:1946] 500 GET /api?req=search&query=mario (::1) 61.00ms

Hyperspin Remote v0.03
Loading system... AAE
Done! (35 games)
Loading system... American Laser Games
Done! (10 games)
Loading system... Amstrad GX4000
Done! (25 games)
Loading system... MAME
Done! (3521 games)
Loading system... Atari 2600
Done! (648 games)
Loading system... Atari 5200
Done! (72 games)
Loading system... Atari 7800
Done! (58 games)
Loading system... Atari ST
Done! (2894 games)
Loading system... Atari Jaguar
Done! (54 games)
Loading system... Atari Jaguar CD
Done! (13 games)
Loading system... Atari Lynx
Done! (75 games)
Loading system... Bally Astrocade
Done! (48 games)
Loading system... Bandai WonderSwan
Done! (110 games)
Loading system... Bandai WonderSwan Color
Done! (94 games)
Loading system... Casio PV-1000
Done! (5 games)
Loading system... ColecoVision
Done! (140 games)
Loading system... Commodore VIC-20
Done! (1402 games)
Loading system... Commodore 64
Done! (2475 games)
Loading system... Commodore Amiga
Done! (1954 games)
Loading system... Commodore Amiga CD32
Done! (163 games)
Loading system... Commodore CDTV
Done! (49 games)
Loading system... Creatronic Mega Duck
Done! (9 games)
Loading system... Daphne
Done! (17 games)
Loading system... DICE
Done! (21 games)
Loading system... Emerson Arcadia 2001
Done! (55 games)
Loading system... Entex Adventure Vision
Done! (4 games)
Loading system... Epoch Super Cassette Vision
Done! (30 games)
Loading system... Fairchild Channel F
Done! (30 games)
Loading system... Fujitsu FM Towns
Done! (63 games)
Loading system... GCE Vectrex
Done! (22 games)
Loading system... Magnavox Odyssey 2
Done! (99 games)
Loading system... Mattel Intellivision
Done! (141 games)
Loading system... Microsoft MSX
Done! (919 games)
Loading system... Microsoft MSX2
Done! (165 games)
Loading system... MUGEN
Done! (115 games)
Loading system... NEC PC Engine
Done! (312 games)
Loading system... NEC PC Engine-CD
Done! (118 games)
Loading system... NEC TurboGrafx-16
Done! (104 games)
Loading system... NEC TurboGrafx-CD
Done! (46 games)
Loading system... NEC SuperGrafx
Done! (5 games)
Loading system... NEC PC-FX
Done! (62 games)
Loading system... Nintendo Entertainment System
Done! (791 games)
Loading system... Nintendo Famicom
Done! (291 games)
Loading system... Nintendo Famicom Disk System
Done! (91 games)
Loading system... Super Nintendo Entertainment System
Done! (787 games)
Loading system... Nintendo Super Game Boy
Done! (145 games)
Loading system... Nintendo Super Famicom
Done! (511 games)
Loading system... Nintendo Sufami Turbo
Done! (15 games)
Loading system... Nintendo Satellaview
Done! (67 games)
Loading system... Nintendo 64
Done! (303 games)
Loading system... Nintendo GameCube
Done! (637 games)
Loading system... Nintendo Wii
Done! (1521 games)
Loading system... Nintendo WiiWare
Done! (456 games)
Loading system... Nintendo Game & Watch
Done! (95 games)
Loading system... Nintendo Pokemon Mini
Done! (11 games)
Loading system... Nintendo Game Boy
Done! (830 games)
Loading system... Nintendo Game Boy Color
Done! (535 games)
Loading system... Nintendo Game Boy Advance
Done! (1129 games)
Loading system... Nintendo DS
Done! (2213 games)
Loading system... Nintendo Virtual Boy
Done! (20 games)
Loading system... OpenBOR
Done! (166 games)
Loading system... Panasonic 3DO
Done! (242 games)
Loading system... PC Games
Done! (30 games)
Loading system... Philips VG 5000
Done! (49 games)
Loading system... Philips CD-i
Done! (130 games)
Loading system... RCA Studio II
Done! (5 games)
Loading system... Sammy Atomiswave
Done! (23 games)
Loading system... Sega SG-1000
Done! (73 games)
Loading system... Sega Mark III
Done! (69 games)
Loading system... Sega Master System
Done! (331 games)
Loading system... Sega Genesis
Done! (781 games)
Loading system... Sega CD
Done! (171 games)
Loading system... Sega 32X
Done! (33 games)
Loading system... Sega Saturn
Done! (303 games)
Loading system... Sega Dreamcast
Done! (347 games)
Loading system... Sega Game Gear
Done! (363 games)
Loading system... Sega Model 2
Done! (56 games)
Loading system... Sega Model 3
Done! (38 games)
Loading system... Sega Naomi
Done! (174 games)
Loading system... Sharp X68000
Done! (1138 games)
Loading system... Sinclair ZX Spectrum
Done! (623 games)
Loading system... Sony PlayStation
Done! (2177 games)
Loading system... Sony PlayStation 2
Done! (2585 games)
Loading system... Sony PSP
Done! (1081 games)
Loading system... Sony PlayStation Minis
Done! (294 games)
Loading system... SNK Neo Geo
Done! (140 games)
Loading system... SNK Neo Geo CD
Done! (90 games)
Loading system... SNK Neo Geo Pocket Color
Done! (40 games)
Loading system... Taito Type X
Done! (28 games)
Loading system... Tiger Game.com
Done! (20 games)
Loading system... Touhou Project
Done! (28 games)
Loading system... VTech CreatiVision
Done! (17 games)
Loading system... Watara Supervision
Done! (43 games)
Loading system... WoW Action Max
Done! (5 games)
Loading system... Zinc
Done! (71 games)
Loading system... Acorn Archimedes
Done! (134 games)
Loading system... Acorn Atom
Done! (104 games)
Loading system... Acorn BBC Micro
Done! (6 games)
Loading system... Acorn Electron
Done! (4 games)
Loading system... Apple IIGS
Done! (333 games)
Loading system... Atari 8-Bit
Done! (2827 games)
Loading system... Epoch Game Pocket Computer
Done! (6 games)
Loading system... Exidy Sorcerer
Done! (8 games)
Loading system... HBMAME
Done! (328 games)
Loading system... Magnavox Odyssey
Done! (33 games)
Loading system... Mattel Aquarius
Done! (72 games)
Loading system... Nintendo Power
Done! (179 games)
Loading system... Pinball FX2
Done! (66 games)
Loading system... Retro Gamer
Done! (139 games)
Loading system... ScummVM
Done! (207 games)
Loading system... Run N Gun
Done! (20 games)
Loading system... Sega Hikaru
Done! (5 games)
Loading system... Sega Triforce
Done! (3 games)
Loading system... Sharp MZ-2500
Done! (55 games)
Loading system... Tandy TRS-80 Color Computer
Done! (61 games)
Loading system... Shmups
Done! (35 games)
Loading system... Vector-06C
Done! (75 games)
Loading system... Nintendo 64DD
Done! (10 games)
Loading system... HyperNeoGeo64
Done! (7 games)
Loading system... Amstrad CPC
Done! (3104 games)
Loading system... Funtech Super ACan
Done! (12 games)
Starting server on port: 8888

Posted

Launches games fine too. However after using it a few minutes it appears to completely die. It loaded only part of the wheel images for a system and then after that completely stopped functioning until i killed remote.exe and started it again. It was consuming ~130MB of RAM at that point.

Posted

Launches games fine too. However after using it a few minutes it appears to completely die. It loaded only part of the wheel images for a system and then after that completely stopped functioning until i killed remote.exe and started it again. It was consuming ~130MB of RAM at that point.

That memory usage is probably higher than it needs to be and will be fixed in later releases, but I don't think that's why the app failed. I'm not 100% convinced it was remote.exe that failed. Is the issue reproducible? If it happens again, could you try switching to a different browser or device and see if the pages will still load?

 

Also, I should have a fix up for the search function later this evening. :)

Posted

Just uploaded v0.04. Should see some major improvements to stability and speed. Speedups are all server side, so client side loading of huge game lists (1000+) is still pretty sluggish.

 

Hopefully I haven't introduced too many new issues :D

Posted

Just uploaded v0.04. Should see some major improvements to stability and speed. Speedups are all server side, so client side loading of huge game lists (1000+) is still pretty sluggish.

 

Hopefully I haven't introduced too many new issues :D

 

No dice on the search =(  But the filter field within a system works great.

[E 160224 10:54:51 web:1524] Uncaught exception GET /api?req=search&query=mario
(192.168.2.33)
    HTTPServerRequest(protocol='http', host='192.168.2.33:8888', method='GET', u
ri='/api?req=search&query=mario', version='HTTP/1.1', remote_ip='192.168.2.33',
headers={'Accept-Language': 'en-US,en;q=0.8', 'Accept-Encoding': 'gzip, deflate,
 sdch', 'Host': '192.168.2.33:8888', 'Accept': 'application/json, text/plain, */
*', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML
, like Gecko) Chrome/48.0.2564.116 Safari/537.36', 'Connection': 'keep-alive', '
Referer': 'http://192.168.2.33:8888/www/index.html'})
    Traceback (most recent call last):
      File "tornado\web.pyc", line 1443, in _execute
      File "remote.py", line 212, in get
      File "remote.py", line 261, in search
      File "remote.py", line 261, in <genexpr>
    AttributeError: 'NoneType' object has no attribute 'lower'
[E 160224 10:54:51 web:1946] 500 GET /api?req=search&query=mario (192.168.2.33)
71.00ms
Posted

Damn, I really thought I could fix the search issues by sorting out the xml importer problems. I'll catch that exception and upload a new version tonight.

Are you still having stability issues after it's been running for a while?

Posted

Damn, I really thought I could fix the search issues by sorting out the xml importer problems. I'll catch that exception and upload a new version tonight.

Are you still having stability issues after it's been running for a while?

Stability was better. I toyed with it for a good 15-20 minutes, launching games, browsing systems, viewing videos. Like you said its a little slow on the systems with 1000-2000 games, but otherwise works great. What are your future plans for features/additions? I can think of a few ideas if you are interested. 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...