HandyControl 1.2.3 (28.11.2021) - Added Support for Pyro (Remote Control)

Keep getting “API Error. Unexpected server response” after “Downloading the script…” initiates.

1 Like

I love the included scripts. I sometimes like to have a script playing without a particular vid and these are really great. I’d love to see more if you have them! :slight_smile:

1 Like

You get this error if the server response is not as expected for this command. Did it fix itself or do you still get this error? Have you set a different API server? I will add more error information for this in the next release.

I have some more :blush: Will post them later…
I also thought about including them in a separate file so you can just play them from the context menu.

1 Like

FFS, that was the problem. I´m feeling kinda stupid right now.

Thank u very much for ur help and for the amazing program!

1 Like

Ended up fixing itself after a restart. Program works great so far. Thanks!

1 Like

:page_facing_up: This is a new update for HandyControl V0.6.0
The three main features are:

You can now access all scripts of the [Script Folder] from the menu. There is also a new setting called [Heatmap Previews] which analyses the scripts and shows a Heatmap preview. The script tooltip also shows some basic information of the script (Playtime, BPS, BPM, INT). Scripts that have a matching video have a different icon. I have implemented this to enhance the recognizability and for faster selection.
Preview
You can find the Lucifie scripts in the same Mega folder.

Add random jitter to the timestamps to get a little variation in scripts with beats (e.g. CockHero). Use it for scripts where perfect sync is not required. Slow script need higher values than fast scripts. Just try it out and find the best setting for you :slightly_smiling_face:
grafik Untouched
grafik Jitter 30%

Both stroke offset modifications now supports negative values. This gives you more flexibility on how to change a script. Use it to scale a script upwards or to extend the range.
Wobblewave Untouched
Wobblewave Top Stroke Offset -100%
Afterburner Untouched
Afterburner Bottom Stroke Offset -100%
1 Untouched Stroke Range (10-90%)
2 Extended to Full Range (0-100%)
Images created with a new export function.

7 Likes

@Mument2000

I have just received the Xbox One wireless controller and it worked without problems.
But i noticed a bug when the controller disconnects. HandyControl does not allow you to reconnect until you restart the app. I will fix that in the next version. I hope it’s working for you now :slight_smile:

I will not keep that new controller as it seems to have problems with the batteries. It only worked once and now it does not turn on at all. I can only keep the wireless controller alive on a USB Cable :rofl:

I think it might have been because I hadn’t connected The Handy at the point I was trying to connect the controller. When The Handy is connected it now connects the controller.

:page_facing_up: This is a new update for HandyControl V0.7.0

Local Script Host

Creates a local webserver which Handy can use to download the script. This is much faster than uploading a script to Handyfeeling.com. Press the icons to test the connection and see more information.
grafik

Smart Jitter

Tries to detect the script type by analysing all positions. If enabled then it will add jitter to the script depending of its type and the selected values.
grafik

Histogramm

Shows the stroke lengh distribution in the script where 0 is left and 100 is right.
Use it to enhance the script as needed.

There are three major types:
grafik Handcrafted
grafik Steps 10, 20, …
grafik Full strokes 0/100

Add jitter to spread the lines
grafik Original
grafik +5% stroke lenght jitter

CockHero HardMode

Tries to add additional strokes in a script so each beat is a full stroke up/down.
CH - NOIR Normal
CH - NOIR HardMode

This might not work with every script as mixing rising and falling lines after a gap will result in an inversion of some sections. For now you could pause the script invert it and upload it again. I will try to cover this in a later update.
grafik

Excel Import/Export

Export a script to Excel to edit points or import a script/pattern that was build with excel.
Endurance grafik
Clipboard1925921 - Modified points

Speed Analysis

Shows a black line which indicates the physical speed of handy where 0mm/s is at the bottom and 400mm/s is on the top of the chart. Can also be enabled as colored overlay where black is too fast.
If the BPS are increased then the stroke lenght must be reduced to stay below the hardware limit.
Clipboard2022252
Wobblewave - Black line
Wobblewave - Color overlay

If a script is too fast then Handy will switch the direction before it could reach the desired position which result in strokes that feel too short. You can avoid that by reducing the scale factor, adding stroke offset, reducing the hardware stroke range or by editing the script to make the strokes shorter.

Example: CH - 5 MINUTE QUICKIE - Way too fast for Handy with default settings
Stroke Range 100% - Black line is over the top / maximum
CH - 5 MINUTE QUICKIE
Stroke Range 85% + 50% Bottom Offset - Black line only touches the maximum
CH - 5 MINUTE QUICKIE

A nice side effect of this view is that it also shows if the stroke speed is always the same which result in a boring experience or if there is a little variation. You can improve those scripts by adding time jitter.
grafik Without jitter
grafik With jitter

Script Inversion

Adds more possibilties for autogenerated scripts.
Top Offset -100%, Bottom Offset 25%
Overcharge
Original
Overcharge
Top Offset 200%, Bottom Offset 75%
Overcharge

Preview Buttons

grafik
Show/Hide the whole preview
Show/Hide the default graph (white line)
Show/Hide the speed overlay (color overlay)
Show/Hide the speed analysis (black line)

10 Likes

I must say that this is a super cool program.

However, I would recommend you open source it. It would allow leveraging the power of the community, as well as instilling more confidence in the long term support(ability) of the project.

2 Likes

Thanks for that :smile:

I have no clue how open source project works and how people can contribute or change code at the same time. I have zero experience with that :frowning:.

At the moment I am reworking parts of the code and improve the structure to be more flexible with the upcomming Handy updates. I am not a software engineer so my code would probably not look as nice as from an expert.

I also thought about Add-Ins at some point. I have tested that with another project a while ago.
You could then write code that could be compiled at runtime and add features to the app.
It supports VBS, C# and Javascript if I remember it correct.

One example would be to create an interface class that you could use to add more input devices.
Or a class that allows manipulation of the loaded script.

1 Like

Typically you upload the source code to an online code repository so that the code can be shared. github.com is a very popular place. OpenFunscripter and ScriptPlayer can be found there.

There are tons of guides the web regarding how to use github. Basically, when you develop you download a copy of the code from the repository (often called repo for short) and you work on your copy. Later when you are done with your new feature or bug fix, you create a so called pull request which tells the project admins that you have new code that you would like to add to the project. Usually it is required to have unit tests that automatically test your code to make sure that things still work after merging your code with the code in the master branch. If the pull request is accepted then your changes will be merged with the existing code and your code will become a part of the master branch. Github keeps track of what changes you actually did to the code for you. There are a few other steps in the process, but I simplified it a bit :slight_smile:

2 Likes

For lone developers like yourself, as a first step in the open source world, you can simplify even more than what sentinel was describing above (I do acknowledge the usefulness and desirability of everything he described though).

Basically, you would put a copy of your code on github, download the code once with the git tools so your computer knows the link between what you have locally and the remote depot. Then, when developing features, you incrementally push the new stuff back to the remote depot.

What sentinel describes goes a step further, when you want collaboration to efficiently happen, or you want your project to scale up. When you are ready to take that step, you introduce the mechanisms required to allow random people working in their own corner on different features to propose new code modifications (as the deport owner, accepting and merging ‘pull requests’), and and add “guarantees” to the software stability (‘automatic tests’).

3 Likes

How does the local server feature work? How does the handy know to connect to the local server instead of the handy server?

I keep getting:
11:44:10.771 - No such host is known
11:44:10.773 - HandyControl Script Host: Closed
11:44:11.552 - syncPrepare - API Error: Failed to download script

when I press “Check if handy can reach the script host”

1 Like

Have you tried the button left from it? It opens the script host in the browser. Follow the instuctions there.

1 Like

This is a really cool program, and love the new features like hard mode and local server. One issue I have is when launching and trying to access the script folder menu, I always get 2 error pop up message: “Index was outside the bounds of the array.” Is there a certain location where I should run the program from? I’m currently running it from a folder on my desktop and the path of my script folder is correct. There is no issue accessing the Last Script menu. Any help would be appreciated.

One other thing that kind of bothers me, is some scripts where the action finishes before the end of the video, the video stops and doesn’t play to the end. A work around is to edit the script to continue to the end of the video. But it would be nice not to have to do that.

Hi @socks

Where is your script folder? I have seen errors if the script folder is located in a folder that is protected from the system somehow. Try to use an empty folder on drive C for example and place scripts inside. Maybe there is a script that causes trouble. Special symbols in the names? It would be nice if you can give me some feedback to find the error.

It is known from the devs that Handy looses its sync after over 1h. You can still use automatic mode and send commands and get response messages but Handy just does not move in scipt mode. Handy devs are saying that you need to unplug the power to fix this.

It thats not the case please send me the script + video so I can have a look whats going on there.

@Lucifie I guess the program doesn’t like my D drive. No errors when i move both program and script folder to the my C drive. Ideally I’d like to use my storage drive for my script folder, and not fill up my OS drive with videos.

As for the other issue. It’s not a matter of losing sync. I understand that happens and I have experienced that. A quick powercycle and and reupload, fixed. What I have found annoying is when scripts are timed short of the end of the video. For example Cock Hero - Asian Fuckfest The script ends at 19:42. The video ends at 20:39. When you use HC to play the script the video stops at 19:42, you lose the last minute of the video playing. Hope that helps

Thats something I will change. Good point :slightly_smiling_face: At the moment it stops when the script is finished. I could just disable Handy without stopping the video.

Thats weird :face_with_monocle: I might test some of my other drives too. Currently it’s not located on my OS drive and working there.

:page_facing_up: This is a new update for HandyControl V0.8.0

API Rework


I have changed much of the API related code to be more flexible with further updates and also to simplify the implementation of the features below. The commands will also give better feedback in the logbox now.

Command Line Support


You can now access the basic commands through command line arguments. HandyControl will act as if you have pressed a button in the app or the gamepad. There is a new button in the settings that shows all available commands and how to use them.

This feature could be used if you have another app and want to control Handy without the need to deal with the API itself. Feedback is currently only given in the logbox.

Currently supported: /mode /position /stroke /speed /load /upload /offset /play /resume /pause /stop /…

Examples:
HandyControl.exe /load "C:\myscript.funscript" /upload /play 30000
HandyControl.exe /stroke 80 /speed 50

Stroke lenght and speed adjustable with D-pad.


You can now change the speed and stroke lenght with the D-pad. I have added a new slider on the page that also follows the script speed. If you click the slider while a script is playing it will use the current speed and switches to manual mode. Right click set speed OFF or falls back to the script in MixedMode.
There are also new settings to adjust the step size of speed and stroke.

grafik

Pressing one of the ABXY buttons while holding the trigger will now ignore the speed setting of the buttons and only use the stroke settings.

API refresh rate


The latest API update now supports 120 calls / minute instead of 60. This now allows faster reaction for trigger speed changes. There is also a new setting for the API refresh rate as theHandy devs noted that the API call limit will be improved again in the tuture. In this case you can adapt this rate on your own now.
500ms = 120calls/min
grafik

Others changes


  • Added support for .meta files (WankzVR) for conversion purpose.
  • Double click on jitter fields will use the SmartJitter settings even if SmartJitter is disabled.
  • Improved script import handling for unsupported formats.
  • The video now continues after the script is done.
  • Fixed SmartJitter not saving values.
  • Fixed tooltip spelling.
5 Likes