okay, thanks. I will try in a VM with xbox controller. maybe i can get it to work
Hello - Great Job btw for this and THANKS! in advance.
If you dont mind, would you elaborate a little on the game pad controls? I am very interested. My understanding is that I can have different speeds and stroke lengths programmed to a button (ABXY) so that I can access them on the fly.
For my use, I am looking to see if I can program, say, button (A) fast to get me there, and then (B) for very slow for once I have arrived.
I am thinking about getting a cheap windows 10 laptop specifically for your software here, at least for now.
You can do that in the gamepad settings. Currently the button programming possibilities are limited.
Upper value is speed and lower value the stroke lenght. The dpad can step up/down both values during play.
You should also try out the trigger for analogue control.
Oh cool- totally sold on this. Thanks a bunch man.
This is a beta update for HandyControl V0.12.0 beta1
I am currently working on a new feature called Sequencer.
It should allow easy async script creation with help of Excel, Google Sheets or any other spreadsheet app that can export to a .csv file.
This release is for everyone who is curious and want to help with testing.
I will be off a week from sunday on so you have some time to play with it and report back
It would be nice if you could send me some patterns so I have more to test. @Schorsche
The patterns that are created in the file are a first step towards a larger goal.
Those patterns should be used later in HandyControl to create lager random sequences from multiple patterns, image slideshows, button events and more.
Sequencer1249471.csv (8.4 KB)
Pattern: Test D
Sequencer135790.csv (2.2 KB)
How it works
You can use the Excel template in the download folder to create a .csv file or build the same structure in Google Sheets as seen on the image. There is no formula in the sheet.
The Sequencer supports either ,
or ;
as separator so you dont have to care about the language setting.
The csv file will look like this.
Empty lines ;;;;;;;;
can be used anywhere below the header. They are ignored during import.
The header must not be changed or the file is flagged as invalid.
Always necessary
pattern: A name for the pattern
variant: A name for the variant - Used later for random generation
Pattern Type 1: Can contain normal script sequences
time: Timestamp in milliseconds
position: Position in % 0-100
All other columns can be left empty.
Pattern Type 2: Sequence created from speed and stroke
time: Duration in milliseconds
position: Must be left empty!
speed_1: Speed at t=0
speed_2: Speed at t=duration
stroke_1L: Lower Stroke position at t=0
stroke_1U: Upper Stroke position at t=0
stroke_2L: Lower Stroke position at t=duration
stroke_2U: Upper Stroke position at t=duration
Speed minimum and stroke difference minimum = 10%
The interface with its default settings on the main page is only build to provide a fast testing. The final implementation will look different. You can drop the csv file on the app or use the script settings to link the file.
To load a sequence enter the pattern name and variant. If you leave variant empty then a random variant from the pattern is selected. Press the Load lib button every time you make changes to the csv file.
Create will then build the sequence which can be used as a normal script.
Sequence Creation Hints
A single line of Pattern Type 2 will always start at 0ms and end at the given duration. The actual speed is minimal adjusted so the last timestamp is always matching the exact duration. So a duration of 30000ms will end at 30000ms.
The first timestamp of the following line is merged with the last timestamp from the previous line.
Short durations with slow speed will not work. The more strokes you have in a line the better the result.
Maybe I can improve that later when I find a formula to predict the next timestamp
The speed percentage is the speed within the defined stroke range (U/L).
So if you dont change the speed but decrease the stroke range then the movement will be faster.
100% is 400mm/s (Handy Maximum). I could easily adapt to other toys speed if someone is interested in that. It would be only a setting.
ToDo list
Creating an x seconds pause
Adding other functions. Currently its only a linear speed & stroke increase & decrease.
This is a beta update for HandyControl V0.12.0 beta2
Requested by @Schorsche
The example file sequencer.xlsx is also updated and now contains examples with breaks.
To add a break you set everything in the SubScript to zero. The break will use the position of the last timestamp to draw a line to the first position of the next timestamp in the following SubScript.
Breaks between all SubScripts
SubScripts ending with upper or lower stroke position.
Slow ramp
Beat pattern with different break times
This is a beta update for HandyControl V0.12.0 beta3
I have improved the pattern genearation and added some more features to allow more flexibility.
This will be the last update before I leave for my christmas vacation.
New columns
Column Repeat: How often this line should be repeated (0 = skip line)
Break + 3x Pattern A + 3x Pattern B + Break
Column Options: Options to change the sequence generation. If multiple options are used then the # separator must be used (Option1#Option2).
Availabe options:
INV: Inverts all positions in a SubScript line
Here two SubScripts are inverted
DOWN: Changes the starting position to the upper stroke position for beat patterns so the beats go down. If this is not set then all variants start with the lower stroke position.
You only have to set this on the first line in a variant if you want to change the direction.
This is how a break now must be set. You can also disable breaks with repeat 0.
A SubScript now starts and ends always either at the upper position or the lower position.
The timestamps are shifted a little to match the duration.
Excel Template
The excel template is updated and now also contains a macro for a faster csv export.
You dont have to close the file now. Just press the export button and the csv file is updated.
You need to allow macros in order to use the button.
Interface
The test interface now has dropdowns with filter for faster pattern switching.
After a csv update & export you just press reload to update the preview.
Drag & Drop is currently not working. You have to set the file in the script settings.
came back to say that this software is AWESOME! Its actually my go to now since I find most scripts to be too fast - I like things slow and easy. I cannot say enough about the gamepad implementation. What a great feature!
I could not help imagining that feature applied to games as well, basically the gamepad controls what the npc is doing to you, in real-time. This software is much appreciated. Happy Holidays!
4 days later…
Update - really loving this software. I find it indispensable with theHandy, especially if you want to have full control of the device while in VR. Some feedback, which is by no means criticism
-The automatic script fallback / Autoreturn- Are you able to provide some way to fully stop/pause the handy if needed? In this mode, hitting the start button will halt the handy for a second and then fallback on the script as intended. I wish there was a way to actually pause theHandy altogether, and hitting another button again goes back to the script or preset (ABXY). Having full control of theHandy (start/stop) AND the randomness of a script would be heavenly.
-The Triggers: I found myself not using them at all, (the Dpad and ABXY) does everything and then some, but the trigger buttons are very easily pressed inadvertently, especially in VR. You go to put the game pad down and all of a sudden your handy makes some unexpected movement. Is there a way to add a disable/enable Trigger buttons check box? Right now I have used electrical tape to tape mine in a way that it would take effort to press them in accidentally.
Otherwise a solid piece of software that is a must for me to enjoy the Handy. Thanks!!
I guess you want the video to continue playing while Handy is in Pause mode. I think thats possible but I need to find a good way to implement this. Maybe this is one use case for the button release delay feature I have started to build.
Pressed Start short - Pauses Handy but continues the video/script.
Pressed Start longer - Stops also the script/video
This is an easy feature.
Actually I have been using HandyControl without video- just the script while in VR. So not synced but just an super awesome replacement of the left/right hand doing the job. But yes, implementing a feature like this would mean the video continues playing and then falls back on demand.
This scheme would be perfect!
Awesome! They need to open a tip jar in here coz I would honestly tip you as I am having quite a bit of fun with this software. Its basically theHandy fully wireless, including start/stop
This is a beta update for HandyControl V0.12.0 beta4
In this version I have added the next layer in the ScriptSequencer so you can now combine your patterns and create advanced scripts.
You need to create a second csv file with following structure.
Sequence: The name of the sequence
Pattern: The name of the pattern in the pattern csv file.
Variant: The name of the variant of the defined pattern in the pattern csv file. If left empty then a random variant of this pattern is selected.
Repeat: Repeat this x times. Each repeat cycle also selects a new random variant.
Options: Nothing defined yet
Description: Place for comments that are not imported
The Excel Template now has two sheets. If you press the export button then both csv files are generated.
This template also contains all my test patterns and scripts so you can have a look how it works.
This should give you enough examples to get you started.
You have to setup both file paths in the settings for faster update.
The pattern file now also have a description column.
Added the missing UP option for patterns so you can define the starting direction also the other way.
The pattern and sequence controls now scale with the form.
The upper controls load a single pattern and the lower controls load the sequence.
Every time you press the create button you will get a random script.
You can also load my three scripts here.
@Jupiter : You can now disable the triggers.
Legend! Man of your word!
I think I might be able to achieve the script/ manual control I was talking about in my feedback post by using the mixed mode quoted above. Looks like I hadn’t read the manual thoroughly. I will have to test it out but I am assuming hitting the start button would stop theHandy, and the Select button resumes the script, is that correct?
Update: Tested it. Disregard this entire part below. I need to learn how to read manuals. I had the functionality I was referring to here the whole time!
Disable the Auto Return to Script Mode.
Now after you have switched to manual mode by pressing ABXY or the triggers you can stop Handy with the start button and start it again with ABXY or the triggers. Press Select to go back to the script.
Releasing the triggers will also stop handy in this mode. The triggers are realy nice if you cum so you can slow down the action more and more until you are done.
Hi, I mentioned it once before, but it would be awesome if you could implement some sort of bulk loading of videos/scripts. Either automatic uploading of new scripts when the previous one finishes, or concatenate the scripts before uploading. That way we will not have any pause between the videos.
I also have noticed that I have to restart The Handy sometimes during long sessions. I don’t think it is a video timeout because it also happens when I change videos/scripts often. Do you know why this happens? (I am pretty sure the problem is not in HandyControl)
As far as I know that happens after one hour ish. Thats a server side thing that can’t be changed. I heard that the new API might improve this.
A playlist is currently not on my ToDo list but it is not forgotten.
This is a update for HandyControl V0.12.0
In this version the script sequencer leaves it’s beta stage. I am realy exited to release the new features as it is so nice to create scripts with them . I hope you also like them and find many new ideas to use them.
1 Repeat Script Sections (Loop Script)
You now have 3 more buttons under the heatmap. Two of them can set little red markers on the heatmap to indicate the starting and end position in the script. If the third button is pressed then the script section between the markers is repeated until the function is disabled again. If no markers are set then the whole script is repeated.
The markers can be set with the buttons or by pressing F1 & F2. In selection mode you can scroll through the heatmap without reseting the preview. Just click in the preview chart to set the markers. Reset a marker with right click on its button.
The Excel export to clipboard function also makes use of the markers so you can cut a section of the scripts and export it to Excel. It will export any timestamp after the first marker and before the last marker.
2 Script Sequencer
The controls for the sequencer are now located in a dedicated form. You can access them through the context menu.
The sequencer now got a new feature that allows to use png images to create scripts. The sequencer use those images to generate the script. Stroke and speed can be set with different images.
I made this as the beta version could only create linear paths and this was causing so much work to get a script smooth. Now you can just draw your path and create any flow you like.
I have also updated the sequencer files in the download folder with new templates including a new Photoshop template to create stroke and speed images.
I will write a separate tutorial on how to use the Script Sequencer next…
3 Variant Preview
If a variant is made of an image then you can use this button to compare the image with the image.
The images is displayed in the background of the preview chart. If a variant is made of more lines then this will not work. This also does not combine images.
Example 1
Sequencer used to create a script from an audio file. This was just an experiment out of curiosity.
Example 2
Simple image for speed or stroke range.
Example 3
A script that makes use of meander images.
https://discuss.eroscripts.com/t/sequence-meander/13302?u=lucifie
Example 4
A sequence that shows different combinations of a stroke range image with different speed images.
Have a look at the template files for more examples.
Handy Control is awesome and your way to create patterns and sequences is especially great. I was curious if there is a way to change a sequence so that it is in synch with a specific BPM? I think the scaling feature does this but not to BPM. The assumption here is that the time differences between strokes are either the same or are divisible by the same number.
Also, is there a way to have Handy Control randomly sequence a group of chosen patterns? (There is probably a simple way to do this that I overlooked). Thanks!
You can only scale patterns. A sequence combines patterns.
I have tried this once for @Schorsche but not tested this any further.
You need to calculate the duration or speed for one up/down stroke so the down stroke ends at the target time of your BPM. Look at Example E. There is a formula to calculate the duration for 1 up/down stroke with 100% speed and 100% stroke range.
So 60BPM will mean you have 1 row with duration = 1000 and a speed you have to calculate based on the stroke range.
Create a pattern with different variants. In the sequencer csv you just leave the variant empty.
The sequence then selects a random variant from that pattern.
5 variants available - One will be selected