Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Selfbondage software and other kinky developments

Moderators: Riddle, Shannon SteelSlave

Post Reply
Phoenix
*
Posts: 44
Joined: 12 Mar 2016, 11:07
Location: UK

Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by Phoenix »

Hi All,

I've been working on a branch of Johns1234's SBBJT V0.1 for a while now. It's got to a stable point and with enough new features that I feel it's worth releasing.

Link updated to: V0.27
Version 0.27
https://mega.nz/#!YFly0JQK!2typx5CQIkge ... -YexoCeQqk


New Features (pretty sure this isn't all of them :wink: :
  • All zones are now contained within a master "Dick" zone. The idea is that you extend this zone to cover the full area of the dildo you are using. All zones will be automatically repositioned and resized relative to the size of the "Dick" zone. IE you move the "Dick" zone and all sub zones are moved at the same time. If you increase the vertical height then all sub zones will reposition dynamically and resize dynamically.
  • Main "Dick" zone is relative to resolution. This means that for different setups and different resolution cameras the main zone will still appear i nthe same place with the same zone sizings and placements.
  • Added another zone for Extra Deep Throat. This is designed to be a strech goal DT / complete DT of the entire dildo zone. There is a setting within the Deep Throat settings for X% of Deep throats to be Extra Deep throats.
  • Added a Exposure setting for the Camera. I was finding that I was getting whiteout with my webcam with the auto adjustment mode of the camera. This gives you a finer level of control.
  • Changed the update timer to every 100ms instead of 500ms. I was finding that the program could be left behind when the speed picked up.
  • Added the feature to save and share your session files. This also gives the options for "Assignments" to be created for completion.
  • With the idea of "Assignments" in mind there is an option to Password lock the settings section of the program.
  • The settings file is encrypted. This means that there can be no unauthorised modifcations of an assignment.
  • Added support for FTD2XX chip based USB relay boards. This is the main reason I started looking at a branch of the original code as I wanted this directly triggered rather than relying on a program execution. You can obtain one of these board off of Ebay for <£14 for an 8 relay board. This will allow switching of up to 10Amp 240Volt circuits (Mains)
  • Added a setting in DeepThroat for if exceeding the maximum hold time triggers a failure or not. I found in testing with randomise that you could get a base hold time of pretty much the maximum meaning the likelihood of failing was high.
  • To counter the potential of people holding a DT for ages and getting a huge reward there is now a maximum reward setting.
  • There is now the concept of Jobs within the program simulating having to service more than one person. Each of the settings for each job can be fully customised including Event Actions. A future enhancement will be a random number with random variences to core values. The X of Y jobs is displayed on the main session screen........or you can hide this so it just show the X Job. Each Job is represented by an icon. This is a collection taken from the "Icon Directory" Pixels should be 125*125
  • The DT last X feature has been retired and replaced with a fully configurable Last X settings. This means you can program what the last X Sucks will be. Options are: Suck, Deep Throat, Very Deep Throat, Random Suck/DT, Random Suck/DT/VDT
  • Event Actions have been expanded:
    • You can now choose to trigger a Suck or Deep Throat or Very Deep Throat
    • You can reward or penalise a number of sucks
    • You can trigger a relay for X seconds and then to repeat Y times with a gap of Z seconds inbetween.
  • Added the windows speech synthesizer to the program. This is configurable on the voice, rate of speech and volume and if it is to be used.
  • When starting a session the Name of the session, the author and the Description will be read out by the synthesizer.
  • When starting a new job the Name of the job and the description will be read out by the synthesizer
  • When finishing a job the after text will be read out by the synthesizer
  • 15 seconds warning to Job starting
  • Set Colours will be done automatically approximately 10 seconds before Job start
  • Multiple bug fixes dicovered before and during coding the branch
Beta Feature
There is a concept of region(zone) modification on a job by job basis. You can choose to adjust the X, Y, Height, Width of any of the sub zones by a percentage +/- of the size of the Main "Dick" zone. You also have the ability to hide each zone fro m being visible on the screen. It will still be checked as normal it's just you won't know where it is or when it's triggered. This is a brand new feature added on Friday with future Assignments in mind. The interface is very basic at the moment for this and I'm going to be looking at having a fully visual interface.

Alpha Feature
There is logging of MI going on behind the scenes to give and end of session report. The report isn't done yet but will be soon. Added to this there will be the concept of being able to grade the session. Depending on how you've done within the session your report card at the end will give you an A, B, C, D, E or an F. The idea will be to have a visual report at the end of the session and a PDF report card as well possibly including some of the photos from the session.

I have done my best to test this program but I can't test every possible scenario. BE SAFE, THIS IS NOT A FOOL PROOF PROGRAM! Ensure you have sufficient backup release methods.

There is a good chance that this will become the stable 0.2 of SBBJT and we end up with a collaborative project going forward. This will be a decision for Johns1234 and myself to make as the author of SBBJT V0.1

Please give feedback on any bugs, features, desired features, layout etc. When you work on something for so long you can become blinded to things and what makes perfect sense to you can be unclear for another person.

Kudos has to go out to Johns1234 for the C# V0.1, Kevlar for his V2 program and Qwerty212 for the original

Tested on two windows 10 platforms

Enjoy :wink:
Phoenix
Last edited by Phoenix on 25 May 2016, 23:21, edited 7 times in total.
johns1234
*
Posts: 45
Joined: 22 Dec 2015, 01:32

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by johns1234 »

What is not to like with all your improvements!? I like that you picked up the report card idea too.

It took me a little bit to figure out how to resize the dick zone large enough to move the regions more freely. Not every dildo is perfectly straight.
Two things that I just discovered during the quick test I made. The USB relay board requires a driver so a dialog at session start comes up "Attempting to load FTD2XX.dll", but I guess if you install the drivers from somewhere this goes away?

And not knowing what I was doing initially I found two minor bugs and one real bug:
1) The 3 settings: Start Delay, Max Time, Cancel after X fails. I do not know which value triggers it, but if you enter for example 5min start, max time 30, cancel after 30, then all values become 30.
2) I just went to the default job, clicked through to the setup and clicked on "Test Audio", that made the program crash with "Cannot set voice. No matching voice installed". However, once you save the session it is all good.
3) If you just startup, go to Session, click on Start Camera, then on Set Colors, you get an error "roi is out of range". But again this does not happen when you do a real setup.


What you did there is awesome!
DL6684
*
Posts: 4
Joined: 24 Apr 2016, 19:29

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by DL6684 »

I love the jobs idea!!

When I try to start a session, I get a "failed to load ftd2xx.dll. Are the FTDI drivers installed". Pressing Ok just leaves me having to end the program manually.
johns1234
*
Posts: 45
Joined: 22 Dec 2015, 01:32

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by johns1234 »

DL6684 wrote:I love the jobs idea!!

When I try to start a session, I get a "failed to load ftd2xx.dll. Are the FTDI drivers installed". Pressing Ok just leaves me having to end the program manually.
Love the jobs idea too, wouldn't mind to be on the receiving end of a "job" like that, lol.

Anyways, it is odd that the program ends!? It is different for me as I could just click "OK" twice and the session started. Reason for the message is the support of the USB relay board. You cannot really install the driver unless you have it, but if you want to have a workaround do this:
1) go to http://www.ftdichip.com/Drivers/D2XX.htm and download the Windows 64-bit driver 2.12.16 (I am just assuming no one is using a 32-bit OS anymore)
2) after downloading the file, right click the file and go to properties and click on "unblock". If you do not have this then skip this step
3) unzip the file by right clicking it and select "Extract All" in the context menu
4) In the unzipped content under "CDM v2.12.16 WHQL Certified\i386" copy the file "ftd2xx.dll" into the same directory as Phoenix's SBBJT V0.2

Now start it again and the error message is gone.
boundtocum
*
Posts: 12
Joined: 17 May 2015, 10:31

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by boundtocum »

Maybe it's just me, but it doesn't seem to be capturing images. 0.1 worked fine, but 0.2 doesn't work for me. I used the default setup, and then tried to use .\capture to match the .\audio folder. Tested using the 2 sec interval and using an event trigger.

By no means am I criticizing your work. It has been well done and thank you. I'm just listing bugs/issues I found
-Deep and Very Deep have the same audio file - easy enough to fix on our lazy user/tester end
-When setting the camera, my "Dick box" is always missing and I have to clear it, and it's normally taller than my cam resolution by default. If you try to set colors with part of the box off screen it gives an error. I assume that's what's giving Johns1234 the error; an off-screen Dick box not being displayed when he clicked set colours.
-I get the driver error too without the Relay Board option checked.
-Had a ton or speech errors when I first started it up, but they seem to have went away.

Thanks for the great work, and can't wait till the report card feature.
Phoenix
*
Posts: 44
Joined: 12 Mar 2016, 11:07
Location: UK

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by Phoenix »

Hi All

thank you for all the kind feedback :) Also thank you so much for the bug reports!! It so hard to test every scenario and things that were working fine can break with a new feature.

Version 0.21 - Bug Fixes
https://mega.nz/#!wU8RgCZL!oiN0pj8PHSoOeMOvDMy2Vff2lUY0UGiKFfKYnZlDOPE

Johns1234
1)What is not to like with all your improvements!? I like that you picked up the report card idea too.
Really glad you like them :) I loved the idea of the report card. Also going to go hand in hand with a series of example sessions I'm preparing. A thought on layout would be something similar to: Image
although the thought of a final grade stamp somewhere on it also appeals. Thinking also 2-3 image captures presented in a "polaroid" style at the bottom would be great.
Current MI gradings includes:
  • SucksCompleted
  • SucksFailed
  • QuickestSuck
  • DTCompleted
  • DTFailed
  • VDTCompleted
  • VDTFailed
  • LongestDTHold

This is the next thing after any more bug fixes I'll be looking at as I think it's a great idea and would be a great feature

2)The USB relay board requires a driver so a dialog at session start comes up "Attempting to load FTD2XX.dll", but I guess if you install the drivers from somewhere this goes away
As You've found yes it does. I believe this was down to me making an instance of the form prior to testing if the module is being used. I've encapsulated this in the test now so should hopefully resolve the issue. I've also included a copy of the drivers in the release
3) Resizing of Dick zone / moving zones
I have resized the default zones to be 40% of the width now to allow easier resizing and movement.
4) The 3 settings: Start Delay, Max Time, Cancel after X fails. I do not know which value triggers it, but if you enter for example 5min start, max time 30, cancel after 30, then all values become 30.
This was a bug from moving to the session file structure. I thought I'd correctly mapped all three of these but looks like I was mistaken. Corrected now and good spot!!
5) I just went to the default job, clicked through to the setup and clicked on "Test Audio", that made the program crash with "Cannot set voice. No matching voice installed". However, once you save the session it is all good.
I've added two captures to hopefully resolve where it's not detecting an installed voice. Also I'm getting it to default to the first detected voice map if it can't find the actual map. Hopefully this should resolve this issue. Unfortunately not one I could replicate
6) If you just startup, go to Session, click on Start Camera, then on Set Colors, you get an error "roi is out of range". But again this does not happen when you do a real setup.
I think this is as boundtocum noted this is due to an off the page issue at a lower resolution. I've changed the default resolution to 640*480 and positioned the Dick region to be in the middle of the page

DL6684
1)I love the jobs idea!!
Glad you like it :) I think it should make for some very interesting sessions
2) When I try to start a session, I get a "failed to load ftd2xx.dll. Are the FTDI drivers installed". Pressing Ok just leaves me having to end the program manually.
As johns1234 reported installing the driver should resolve the issue. I've also done a correction that should remove the need for the driver unless you turn the use of the board onI've also included a copy of the drivers in the release

BoundtoCum
1) Maybe it's just me, but it doesn't seem to be capturing images
Wasn't just you. I think by increasing the refresh rate of the images to get better responses at higher speeds it inadvertantly never went into the idle state the image capture needed. I've changed this to directly trigger an image capture at either the timed event or at the Event trigger. Should eradicate the upto half second delay on image capture had before. I've tested and should be fine now for both modes
2) By no means am I criticizing your work. It has been well done and thank you. I'm just listing bugs/issues I found
Please Please Please keep listing bugs and issues!! Also if you don't like something please list that as well :) All opinions are valid and will be taken on board. If I can improve something or make it optional I will do. Also if there's anything you'd like to see in the program please let me know.
3)Deep and Very Deep have the same audio file - easy enough to fix on our lazy user/tester end
Yeah that was me being lazy :) I've added a new sound for Extra Deep now
4)When setting the camera, my "Dick box" is always missing and I have to clear it, and it's normally taller than my cam resolution by default. If you try to set colors with part of the box off screen it gives an error. I assume that's what's giving Johns1234 the error; an off-screen Dick box not being displayed when he clicked set colours.
I think you hit the nail on the head there. I was lucky enough in my setup to be testing at 1920*1080 and it didn't cross my mind at the time about lower resolutions. I've changed the positioning of the Dick zone so it's 30% down with a height of 46%. This should mean it'll always be on the screen. I've reduced the size of the internal zones as well to allow easier resizing of the internal zones
5)I get the driver error too without the Relay Board option checked.
Hopefully fixed now
6)Had a ton or speech errors when I first started it up, but they seem to have went away.
Again hopefully fixed now

Got to say thank you all for giving the program a go and hopefully should work better now

Enjoy :wink:
Phoenix
Last edited by Phoenix on 04 May 2016, 20:43, edited 3 times in total.
Phoenix
*
Posts: 44
Joined: 12 Mar 2016, 11:07
Location: UK

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by Phoenix »

Version 0.22 Bug Fixes
Fully resolves the camera issues and no zones on start bug

https://mega.nz/#!MY1FBRxY!gXmLWCH1uACcoq44w6I1ZNLafkDnUdoK3hxSYQ83kPI
Last edited by Phoenix on 04 May 2016, 20:43, edited 2 times in total.
johns1234
*
Posts: 45
Joined: 22 Dec 2015, 01:32

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by johns1234 »

A few more tests and some more feedback:

1) For the two settings "Release Time" and "Max Release Time", if you enter for example 5 and 30, then save the session, close the program, open it again and load the session, then both values will be 5. So it seems the Release Time overwrites the max release time.

2) This is most likely related to 1): If you enter 5 and 30 for the two settings and also change the settings to add a few minutes for fails, then start a session and cause enough fails. The release time will exceed the defined maximum, so probably this value is not saved/observed.

3) Another test was the "Max Session Time", I set it to 5 minutes to test this and this did not work. The session did not get cancelled after the maximum time. I also tested the "automatic cancel after X consecutive fails" and this works fine.

4) I think originally I had it that a DT held longer than the maximum time is an automatic fail, this is now selectable which is good. However if the option is selected that a DT held too long is a failure there is an issue with the events (see the extract from the session log below):
5/2/2016 4:18:08 PM - new remaining sucks = 24
5/2/2016 4:18:10 PM - starting deep throat (at least one in X)
5/2/2016 4:18:10 PM - progressive suck max time = 6
5/2/2016 4:18:10 PM - random min hold time = 2
5/2/2016 4:18:10 PM - EVENT - DeepThroatStarted
5/2/2016 4:18:15 PM - EVENT - DeepThroatMinTime
5/2/2016 4:18:16 PM - EVENT - DeepThroatHeld
5/2/2016 4:18:19 PM - EVENT - DeepThroatFailedTooLong
5/2/2016 4:18:19 PM - EVENT - DeepThroatFailedTooLong
... (many more of those)
5/2/2016 4:18:20 PM - EVENT - DeepThroatFailedTooLong
5/2/2016 4:18:20 PM - EVENT - DeepThroatFailedTooLong
5/2/2016 4:18:20 PM - EVENT - DeepThroatSuccessful
5/2/2016 4:18:20 PM - deep throat successful
5/2/2016 4:18:20 PM - new remaining sucks = 23
5/2/2016 4:18:20 PM - qualifies for 1 sucks reward
5/2/2016 4:18:20 PM - qualifies for 4 sucks reward for time held
5/2/2016 4:18:20 PM - Rewarding 5 sucks, now 18 sucks remaining
This should have been just a "DeepThroatFailedTooLong" event and obviously no reward. I guess just the switch to the next state after the fail is missing here.
I also tested the option where you are allowed to hold as long as you want and that works as expected.
Tenderfoot88
***
Posts: 458
Joined: 17 Sep 2013, 08:00
Location: British Columbia, Canada

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by Tenderfoot88 »

So what language is this written in? I have some coding experience, but it's mainly with Java, with a smattering of C and Python. I might be interested in doing a bit of tinkering/modding at some point, though, and I'd guess there are some other coders around who are similarly inclined. Looking at all those .dlls makes me suspect it's a rather modular program architecture, so I might have a chance of messing with the settings rules without having to touch any camera related coding. Also, swapping out a modded dll for the original makes for relatively easy mod support.
johns1234
*
Posts: 45
Joined: 22 Dec 2015, 01:32

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by johns1234 »

Tenderfoot88 wrote:So what language is this written in?
It is written in C#, you can find an older version with the source code in the SBBJT V0.1 thread.
Phoenix
*
Posts: 44
Joined: 12 Mar 2016, 11:07
Location: UK

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by Phoenix »

Johns1234

Well found on all of these. Not sure the release time max was coded in V0.1 but I've added it in now.

I have done a release 0.23
https://mega.nz/#!xYUVVQTQ!B0sjJnIh6XRevsSGfQtrNGe08LMQ700MhYpwayOcbzU
with corrections to all

Tenderfoot88
It's written in C#
The source for V0.1 is available in the first post of the thread: http://forum.boundanna.net/board/viewto ... 28&t=10092

I've also made a start on the report card feature and I've got a basic PDF beign created with a dynamic table and a title image. Still early days but showing promise :D
Last edited by Phoenix on 04 May 2016, 20:42, edited 1 time in total.
johns1234
*
Posts: 45
Joined: 22 Dec 2015, 01:32

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by johns1234 »

Awesome! You are fast - I will retest to verify, but this all looks very solid now already.

Edit:
I retested the settings, max session time, DT held with and without exceed - confirmed it all works as expected.
Phoenix
*
Posts: 44
Joined: 12 Mar 2016, 11:07
Location: UK

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by Phoenix »

Excellent, and thank you for the quick retest. :D

I always like to try and keep ontop of bugs. Otherwise you can never be sure if something you are seeing is down to your new code going wrong or a historic bug rearing it's head :) Also means that you can get onto new features quicker.

I have recently thought of a flaw in event action code and release code when combined with Password protected sessions. How do you customise it for your release method and your event actions programs / relays?

Got me thinking :idea: into having catageories of external actions that can be assigned to internal event actions/release. These categories can then be used to trigger programs with arguments / relays etc. So roughly:

Event Action: DeepThroatOnHold
20% of time will call External action: Punishment2

Event Action: DeepThroatFailedTooLong
100% of time will call External action: Punishment2

Event Action: DeepThroatFailedCheat
100% of time will call External action: Punishment1
100% of time will call External action: Punishment2

Event Action: SuckSuccessful
5% of time will call External action: Reward1

Event Action: SuckFailedCheater
100% of time will call External action: Punishment1
100% of time will call External action: Punishment2

Event Action: JobFinished
100% of time will call External action: Climax1

User then has a menu that saves to a local configurable settings ini file that translates:
Punishment1 = Program: xyz Arguments: abc
Punishment2 = Program: uvw Arguments: def
Reward1 = Trigger Relay 3 for 5 seconds
Release = Program: opq Arguments: jkl
Climax1 = Trigger Relay 1 for 2 seconds repeat 5 times every 0.5 seconds

Think this would strike up a good balance between allowing authors to create good scenarios but keeping the disclosed information controlled but allowing the flexability of the individual setup.

Thinking that it also means that the end user can run tests to ensure each of the actions is working correctly prior to starting a session.

Questions:
  • Should the user be made to test each method prior to starting a session from a safety point of view?
  • Is that too draconian?
  • Or at bare minimum the release method?
  • Am I over thinking things now :D
I'm hoping to get the report card element completed over the next several days (depending on how much time I can spend on the project). Once I've got prelim pictures I'll share for feedback
boundtocum
*
Posts: 12
Joined: 17 May 2015, 10:31

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by boundtocum »

Forgot to mention some camera config bugs. They have been in since atleast 0.2. I finaly got a chance to test with a second OS version and cam, I just didn't have the personal time to look into it till now. I wanted to make sure I tested on another rig. I confirmed I have a "Dick Box" scaling to resolution issue that's just specific to my cheaper cam, and I didn't want faulty hardware effecting bug reports. Anywho, here's the global rig issues

Camera Config / adjustment tab
-Reset on Dick box Doesn't reset all the sub-boxes. I believe that's working as intended, just noting if it's not.
--Suck Box, =Reset non-functional
--Deep Box, =Left Adjustment button, and Reset non-functional
--Extra Deep Box, =Left Adjustment button, and Reset non-functional

0.2 Had wide boxes left justified, so it wasn't noticed. (if someone needs a workaround you can load a v0.2 session save file to start with left aligned sub-boxes)

Damn those were some quick bug turn around times (I'm just imagining this :whip: ). I hope I squeeze this in before v0.24 comes flying out. Thanks, and keep up the awesome work. :D
Phoenix
*
Posts: 44
Joined: 12 Mar 2016, 11:07
Location: UK

Re: Phoenix BJ Trainer V0.2 (SBBJT V0.2)

Post by Phoenix »

Cheers for finding those boundtocum

I've found, replicated and fixed all of those bugs.

I've also added:
Reset All Regions button (thought that was a good idea)
Added a shift (large move) option for all of the regions and reduced the single click value for all the internal regions. Should give finer control at lower resolution.
Made the Dick Region reset relative to the vertical resolution * 90%. This should mean that regardless of your resolution the reset will always be on the screen. All the other zones resets are relative size and position now as well.

Version 0.24
https://mega.nz/#!4MVGxCiQ!wth9NxTcFuLKdxkBEitZfM2ke4pcEIsIQjcl62nqSlU

:) I'm driving myself hard I must admit to get bugs fixed as fast as possible so everyone has a good feature rich reliable product. Also means that I can get on to the good stuff of coding new features to tantalise people with.

Been able to play some more with the report Alpha feature as well. Might be able to post a sample from the test rig a little later on tonight so peeps can start giving their input.
Last edited by Phoenix on 13 May 2016, 01:42, edited 1 time in total.
Post Reply