SBBJ v2

Selfbondage software and other kinky developments

Moderators: Riddle, Shannon SteelSlave

Post Reply
kevlar
**
Posts: 186
Joined: 21 Sep 2013, 18:38

SBBJ v2

Post by kevlar »

[ Updated 21 May 2014, with first release. I probably should have started a new topic, but... oh well.]

I am proud to present the next major release of... you guessed it... SBBJ v2 (Self Bondage Blowjob Trainer)

This is a rewrite of SBBJ v1, which you can find here.... A complete description of what this application is used for can also be found in that topic.

So what's new?
  • Still written in C++, now with Qt-5.x libraries.
  • A webcam is still required. Do NOT attempt to use an IP camera with this - dropped connections can leave you in a real bind, literally. Don't do it.
  • Entire architecture changed to a more modular structure to allow flexibility for adding new features.
  • Multi-thread processing of camera input, multi-thread audio output
  • User requested items: change image capture directory, audio output volume, secondary audio output device (still needs to be tied to 'punishment' option), allow UI image over-rides by user.
  • Fancy splash screen and credits box. Ooooh! Aaaah!
  • And probably a lot more I have forgotten about.
Whats missing?
  • Head play options. Disabled for now pending re-test
  • Punishment app. not implemented. I've run out of time for now.
  • Punishment trigger to serial port (eStim/arduino) devices envisioned, but not in there.
  • Audio not retested for custom sequential / random output from folders named for required audio tags.
Download links follow. The password for all packages is 'boundanna'. Please DO NOT remove the password from the packages, it is there to prevent young and casual users from being exposed to adult content should they find a copy somewhere. Please DO NOT distribute this software anywhere else, it should only be retrievable from the links provided. Feel free to link to this topic from elsewhere if you desire.
________________________________________________________________________________
Mac OS X package: sbbj-2.29.dmg (21.0 MB)
Compiled on Mac OS v10.9.2 (Mavericks). May work on earlier versions.
________________________________________________________________________________
Ubuntu v13.10 (x86_64): download
Install: libopencv_2.3.deb (1.3MB) and sbbj_2.29-2.deb (9.1MB)
Install/run with:

Code: Select all

sudo dpkg -i libopencv_2.3.deb sbbj_2.29-1.deb
sudo apt-get install -f
sbbj
________________________________________________________________________________
Ubuntu v12.04 (x86_64): download
Install: sbbj_2.29-2.deb (9.1MB), qtlibs5_5.2-1.deb (18.2 MB)
Install/run with:

Code: Select all

sudo dpkg -i qtlibs5_5.2-1.deb  sbbj_2.29-2.deb 
sudo apt-get install -f
sbbj
________________________________________________________________________________
Windows 7 (x86): Updated for v2.52:

Download & install. Nothing fancy here. THESE ARE THE LATEST WINDOWS VERSIONS as of 2021:

BlowjobTrainer-2.55-ming32-1.exe
libQt-5.10.0-mingw53_32.exe
OpenCV-2.4.10-mingw53_32.exe

Been along time gone, but hey - still alive! And as of 08/17/21 still still alive!
________________________________________________________________________________

For any issues, report them here with a screenshot. I would also need to know what operating system, architecture, version, etc... (Win 7, 64bit, SP1 for example) If anyone would care to provide translation services for this software, please PM me, and I will instruct you on how to.

Enjoy!
Last edited by kevlar on 18 Aug 2021, 06:28, edited 15 times in total.
kevlar
**
Posts: 186
Joined: 21 Sep 2013, 18:38

Re: SBBJ v2

Post by kevlar »

New version for Windows, v2.31. Nothing major has changed from the previous 2.29 release:
  • Fix for held deep throat rewards
  • Split installer into 3, for sbbj, qt libraries, opencv libraries
  • Compiled with Ming32 rather than Microsoft compilers. (Uses OpenGL instead of DirectX as well)
  • License changes.
Downloads are: NOW ALL BROKEN. LATEST VERSIONS IN PREVIOUS POST. ALL 3 packages must be installed. ALL OLDER VERSIONS MUST BE UNINSTALLED. The libraries from older packages are incompatible with these ones.

----------------------------------------------------------------------------------------------------------------------------------

New version 2.50 for Mac. This is exactly the same as v2.29 onwards, just recompiled for Mac, with newer Qt/OpenCV libraries, in the hopes it will fix some odd crashing issues (hi subslut26).
.
Last edited by kevlar on 18 Aug 2021, 06:33, edited 6 times in total.
kevlar
**
Posts: 186
Joined: 21 Sep 2013, 18:38

Re: SBBJ v2

Post by kevlar »

As I mentioned on page 9 of this thread, I am releasing the source code for this project for anyone who would like to have it.

Here it is, for v2.50: bjt-v2.50-eff957fef9af2e5e178de87bca34ce0ec86fa227.zip. Please note that this is just v2.31, with a version bump coinciding with the code base moving to a git repository.

I have also created a private git repository on http://gitlab.com. If anyone wishes to collaborate on the code, they can make an account there, and PM me with those details and I can give access. As I mentioned on that page 9 post, I have further developed what was to be v3.0 of the software, but it is basically in pieces at the moment, passes unit testing, but not whole project compilation. I will attempt to integrate what I have as branches in the git repo, so the work can continue.

=================================================================================
= END OF RESERVED POSTS
=================================================================================
Last edited by kevlar on 31 Aug 2015, 17:04, edited 4 times in total.
kevlar
**
Posts: 186
Joined: 21 Sep 2013, 18:38

Re: SBBJ v2 (stub)

Post by kevlar »

The prior version of sbbj allowed a single run of a 'Tease' application, as well as an audio 'Tease' file being played on a failed suck. I am trying to come up with an effective design to allow use of all your favorite toys with this application. To do so, I need to gather some more information on what sort of controllers you have for these devices, and how they are activated.

I believe that the simplest solution now would be to implement an 'event' driven system of running external applications. This would allow the user to select any 'event', and run another application when it is encountered. (A list of events can be found in another post here). This would be configured with a 'timeOut' value, and/or a finishing 'event' which would terminate the application. This would allow any number of 3rd party applications to be triggered from this software.

Examples:

Code: Select all

skSuck event encountered: run application: "./myApp 1 400 foo"     
- which does something...

Code: Select all

skFail encountered: run "punishApp arg1 arg2...".  Time-out for 60 seconds, or event 'skPass', possibly with a 'depth' specification.
  - this app. would activate your estim / arduino controller / whatever when you fail.  The app. would run for max. of 60 seconds or until a suck is completed successfully.
This would allow others to develop whatever software they need for their devices, and a wide range of configuration options.
Comments?
tekoma
*
Posts: 28
Joined: 10 Nov 2013, 00:04

Re: SBBJ v2 (stub)

Post by tekoma »

Currently I am using an Arduino and connect to it via a little commandline programm called arduino-serial.
Not fast, but it does its job well

Code: Select all

./arduino-serial -b 9600 -q -p /dev/tty.usbmodemfa2411 -s "1"   // switch on vibrator for 60 seconds
./arduino-serial -b 9600 -q -p /dev/tty.usbmodemfa2411 -s "2"   // switch on estim for 5 seconds
And the corresponding Arduino Code

Code: Select all

/*
Serial Connection to Arduino
 */

int inByte = 0;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  establishContact();
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  if (Serial.available() > 0) {
    inByte = Serial.read();
    if (inByte == '1') {
       digitalWrite(11, HIGH );     // Turn Vibrator on
       delay(60000);                    // for 60 seconds
       digitalWrite(11, LOW);       // then turns Vibrator off
    } else if (inByte == '2') {
       digitalWrite(12, HIGH );     // Turn Tens on
       delay(5000);                      // for 5 seconds
       digitalWrite(12, LOW);       // then turns Tens off
    } else {
       // Turn everything else on and off
    }
  }
}

void establishContact() {
  while (Serial.available() <= 0) {
    Serial.println("no connection");   // send an initial string
    delay(100);
  }
}

But I am open for every better Idea :wink:
kevlar
**
Posts: 186
Joined: 21 Sep 2013, 18:38

Re: SBBJ v2 (stub)

Post by kevlar »

I just read a quick howto here which suggests that it would not be too difficult to code up a GUI to control an arduino board. The example only shows how to light up an LED, but it seems fairly straight-forward. I can likely code up a controller, with a UI to embed in SBBJ, but unfortunately, I do not have an Arduino nor a toy to test, which I have been meaning to get to..... So this is a possibility for the wishlist later on. Would you recommend a specific Arduino make/model?

I will wait and see what other responses I get here, but I think the generic solution of running external applications that I proposed would be better for overall compatibility. I can likely have that implemented in about 6 hours of coding time.
CheerfullyInsane
**
Posts: 195
Joined: 04 Mar 2010, 23:14
Location: Denmark

Re: SBBJ v2 (stub)

Post by CheerfullyInsane »

(repost from another thread to keep things orderly)
CheerfullyInsane wrote:Or in other words, taking the BJ trainer as an example, the Dom could set up a session-file, mail it to the sub.
He/she then goes through the scenario, and the program subsequently produces a report-file (encrypted of course) stating time taken, failed sucks etc.
This gets mailed back to the the Dom for verification.

Nice. I like it.
A lot, actually. :mrgreen:

Not a programmer myself, but I shouldn't think it would be too hard to do.
The values are already being set in the program, it's merely a matter of exporting them to a text-file and then encrypting them.
It doesn't have to be NSA-level encryption, a simple checksum based on a password should suffice.
kevlar wrote:It is possible to put this in SBBJ v2. You would need to further refine your needs for this, and post it as a feature request in that topic. Based on what you describe, I would envision the following requirements:
  • Dom would need to have a copy of SBBJ v2 installed to generate the config. file.
  • app. may require the ability to obfuscate config file in some manner so the Sub cannot see what is going to be required.
  • app. must be able to load the config on demand, preferably after Sub has been tied.
  • app. could modify requirements based on if Sub. started at the required time, or based on how late the session was started.
  • app. would need to generate some result set (report), possibly with captured images/video from the session
  • app. would need to obfuscate the resulting report for submission to Dom, or do so automatically, via configured email / upload / 3rd party application.
Does that sum it up? That is alot of new features. Newer features are added by popular demand, so if you would like this, I suggest quoting this message in the topic mentioned above to see what interest is generated.
I agree, it is a lot of features, but it doesn't have to be all of them at once.
Bearing in mind that I'm not a programmer and thus could be talking out of my ass, I'd suggest starting with a proof of concept and simply(?) making SBBJ capable of loading a previously created 'script'.
Which would require two modules; one capable of exporting the SBBJ settings into e.g. a ASCII or csv file, and a parser capable of converting the file back into SBBJ settings.

If there's sufficient interest, the next step would be the reporting function.
Again, it doesn't have to be fully featured from the start, it could be something as simple as a pass/fail grade. Once that is up and running, stuff can be added as and when required.
Since the numbers are already being tracked by the program I would assume exporting them is possible.
But again, what the hell do I know? :)

The encryption and mailing parts, while nice, aren't strictly necessary.
Script loading and exports would be sufficient to use it as long as the users are willing to use an honour system.

Cheerfully
luanachiantelle
*
Posts: 31
Joined: 24 Jun 2013, 14:04

Re: SBBJ v2 (stub)

Post by luanachiantelle »

is it possible to directly send a string to a port instead to run an external application? I don't know actually if it is difficult, I can anyway build specific applications to send the string, and them run the applications, but I think many of us are using something controlled by RS232...

Luana
kevlar
**
Posts: 186
Joined: 21 Sep 2013, 18:38

Re: SBBJ v2 (stub)

Post by kevlar »

luanachiantelle wrote:is it possible to directly send a string to a port instead to run an external application? I don't know actually if it is difficult, I can anyway build specific applications to send the string, and them run the applications, but I think many of us are using something controlled by RS232...
Luana
RS232 is just the technical name for the Serial port on the computer, generally a 25 or 9 pin port. Devices are being controlled via the application you create, which then sends information through the serial port. Are you claiming that the information being sent to the serial port is simple ASCII text? If this is the case, then yes, I can probably do this, but as I have no device, it will be difficult to test. I will look into this in the next few weeks, and let you know how easy it will be.
luanachiantelle
*
Posts: 31
Joined: 24 Jun 2013, 14:04

Re: SBBJ v2 (stub)

Post by luanachiantelle »

perhaps I'm not so able to explain my ideas in English, but I know very well serial ports, and I work everyday with something serial from 100kbps up to many Gbps...
so my toy controllers are something similar to Arduino (not Arduino, I have something that just for me is cheaper and simpler, even if it is more complex) and the easiest way to interface something with a PC is serial port.
So it would be great if I can put somewhere some ASCII or hex string (like the common "0xnumber") related to each event (and one global related to speed, parity etc).
I think that other people also could use this system, since each microcontroller or electronic device can use a serial port...
kevlar
**
Posts: 186
Joined: 21 Sep 2013, 18:38

Re: SBBJ v2 (stub)

Post by kevlar »

@luanachiantelle,

I'll see what I can do. What serial port settings do you use? Baud / stop bits, ... and all that?
luanachiantelle
*
Posts: 31
Joined: 24 Jun 2013, 14:04

Re: SBBJ v2 (stub)

Post by luanachiantelle »

normally:
data 8bits
baud rate = variable
stop bits 1
parity none
no flow control, CTS etc
kevlar
**
Posts: 186
Joined: 21 Sep 2013, 18:38

Re: SBBJ v2 (stub)

Post by kevlar »

@luanachiantelle,

I have created a test application for configuring a serial port, and output of a simple ascii string. If it works, I can integrate it into the sbbj application. Unfortunately, I have to distribute all the necessary QT libraries with it. Soooo..

What operating system are you using? I'll bundle up the Qt5.2 libraries and a test application that you can try with your device.

.
luanachiantelle
*
Posts: 31
Joined: 24 Jun 2013, 14:04

Re: SBBJ v2 (stub)

Post by luanachiantelle »

I normally run the sbbj on windows7

Next days I think I will have time to test it, if you want me to do it.

Greetings

Luana
kevlar
**
Posts: 186
Joined: 21 Sep 2013, 18:38

Re: SBBJ v2 (stub)

Post by kevlar »

@luanachiantelle

Try this out: serialDevice-1.0_FULL.exe 16.2 MB

Enter your serial port settings, and select an ASCII string to send to your device. The test here is to see if your device responds as intended. If so, I can add this functionality into any of my applications.
Post Reply