[Tease Program] Tease-AI Java (1.4)

Webteases are great, but what if you're in the mood for a slightly more immersive experience? Chat about Tease AI and other offline tease software.

Moderator: 1885

User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease Program] Tease-AI Java (1.3)

Post by FrozenWolf »

GodDragon wrote: Sun Jan 24, 2021 1:47 am All pull requests look good to me. I'll take a closer look though.
Generally the reflection is a great idea I haven't thought of actually. I didn't think of using reflection since like the function already had everything I wanted but that's definitely a bit cleaner and more readable.
Good stuff. I think when looking back at it, the only thing that might be different is that the new onCall() methods take Integers as duration values whereas you tweaked the original version to accept Numbers to cope with fractional values. I was doing a cross-comparison at the the time with the sendMessage implementation that only deals with Integers as duration values and probably got my wires crossed. Do you think that all of the API functions that accept durations should handle fractions (even if they're rounded to the nearest integer)? The actual media functions could even use the Duration type for stronger internal consistency.
GodDragon wrote: Sun Jan 24, 2021 1:47 am The html chat tag function is also great! Appreciate the work you put into it. Since ski implemented this and I only added the image tag back then (but for some reason he changed it back and then it was apparently left in this state) I never found the time (since it "worked" and I focused on spicy) to do a proper OOP rewriting of this.
I did have a go at modifying the original, and my poor brain couldn't handle it :wacko:. Luckily I've got enough spare time at the moment to be able to tackle bits like this.

Are any other parts of TAJ that you'd like me to look at? I could look into the other API implementations and convert those to use reflection too; it might weed out other some other bugs. Other than that I'll just see if I can find potential issues.
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 790
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease Program] Tease-AI Java (1.3)

Post by GodDragon »

FrozenWolf wrote: Mon Jan 25, 2021 5:34 pm Good stuff. I think when looking back at it, the only thing that might be different is that the new onCall() methods take Integers as duration values whereas you tweaked the original version to accept Numbers to cope with fractional values. I was doing a cross-comparison at the the time with the sendMessage implementation that only deals with Integers as duration values and probably got my wires crossed. Do you think that all of the API functions that accept durations should handle fractions (even if they're rounded to the nearest integer)? The actual media functions could even use the Duration type for stronger internal consistency.
I made it accept fractional values since for some reason the behaviour of Nashorn seemed to change from Java Version to Java Version. Beforehand I provided the JavaScript call with a 1 and it would yield a 1 as an integer, but in a higher Java Version it ended up being translated to a double in java and thus broke it. Additionally there might be cases where in JavaScript these Integers are calculated using float precision and then casting it just to get it to be a valid parameter seems to much for me. I think it should indeed accept fractional values just for the case of safety. I couldn't guarantee Spicy wouldn't break without the support for it.
FrozenWolf wrote: Mon Jan 25, 2021 5:34 pm I did have a go at modifying the original, and my poor brain couldn't handle it :wacko:. Luckily I've got enough spare time at the moment to be able to tackle bits like this.

Are any other parts of TAJ that you'd like me to look at? I could look into the other API implementations and convert those to use reflection too; it might weed out other some other bugs. Other than that I'll just see if I can find potential issues.
Well, yes indeed reworking the other API calls might be worth a shot.
Apart from that the statistic system was made by ski (I don't use it aynway, dunno if any personality would use it rather than use a custom one, but since I never used it it could need a major rework, because from what I've seen the code isn't optimal in my eyes.

Same goes for the Personality Settings, although I think that one looks better and I've made a few minor changes to fix some things back then.

The Lazy Sub Interface could be prettier and alllow for more and custom options possibly.

The Image ripping from reddit (using a library) was implemented by ski too, so no idea how that one compares.

I mean design wise TAJ could be a bit prettier or allow the theme to change more than that if you want to dig into that.

Estim integration was also made by ski, I can't really test it anyway, since I am lacking such a device for now.
SettlersX
Explorer
Explorer
Posts: 6
Joined: Tue Mar 24, 2020 9:11 pm

Re: [Tease Program] Tease-AI Java (1.3)

Post by SettlersX »

The old Tease-AI have the ability to read op text.

Will it be possible to add this the the Java edition?
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 790
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease Program] Tease-AI Java (1.3)

Post by GodDragon »

SettlersX wrote: Tue Jan 26, 2021 11:19 pm The old Tease-AI have the ability to read op text.

Will it be possible to add this the the Java edition?
op text?
There is already an option for text to speech in the settings.
SettlersX
Explorer
Explorer
Posts: 6
Joined: Tue Mar 24, 2020 9:11 pm

Re: [Tease Program] Tease-AI Java (1.3)

Post by SettlersX »

GodDragon wrote: Wed Jan 27, 2021 1:01 am p text?
There is already an option for text t
You are right. I cannot read.... :rolleyes:
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease Program] Tease-AI Java (1.3)

Post by FrozenWolf »

GodDragon wrote: Mon Jan 25, 2021 7:07 pm
FrozenWolf wrote: Mon Jan 25, 2021 5:34 pm Good stuff. I think when looking back at it, the only thing that might be different is that the new onCall() methods take Integers as duration values whereas you tweaked the original version to accept Numbers to cope with fractional values. I was doing a cross-comparison at the the time with the sendMessage implementation that only deals with Integers as duration values and probably got my wires crossed. Do you think that all of the API functions that accept durations should handle fractions (even if they're rounded to the nearest integer)? The actual media functions could even use the Duration type for stronger internal consistency.
I made it accept fractional values since for some reason the behaviour of Nashorn seemed to change from Java Version to Java Version. Beforehand I provided the JavaScript call with a 1 and it would yield a 1 as an integer, but in a higher Java Version it ended up being translated to a double in java and thus broke it. Additionally there might be cases where in JavaScript these Integers are calculated using float precision and then casting it just to get it to be a valid parameter seems to much for me. I think it should indeed accept fractional values just for the case of safety. I couldn't guarantee Spicy wouldn't break without the support for it.
Ah, I'd heard about that somewhere, that makes sense now.
I've made some changes to the CustomFunctionExtended that now supports more intelligent matching and I've been running with it for over a week now without any issues. For example, the implementation of sendMessage() has the following handlers:

Code: Select all

    void onCall(String message);
    void onCall(String message, Number durationSeconds);
    void onCall(String message, String imagePath);
    void onCall(String message, Number durationSeconds, Boolean showTyping);
which will match against calls to:

Code: Select all

    sendMessage("foo");
    sendMessage("foo", 1);
    sendMessage("foo", 1.5);
    sendMessage("foo", "bar");
    sendMessage("foo", 1, true);
    sendMessage("foo", 1.5, false);
GodDragon wrote: Mon Jan 25, 2021 7:07 pm
FrozenWolf wrote: Mon Jan 25, 2021 5:34 pm I did have a go at modifying the original, and my poor brain couldn't handle it :wacko:. Luckily I've got enough spare time at the moment to be able to tackle bits like this.

Are any other parts of TAJ that you'd like me to look at? I could look into the other API implementations and convert those to use reflection too; it might weed out other some other bugs. Other than that I'll just see if I can find potential issues.
Well, yes indeed reworking the other API calls might be worth a shot.
Great, I've been working through a bunch of the more complex ones. As part of testing them, I found quite a few issues with the audio and video playback, although most of the issues are associated with specifying media with unknown codecs, or missing media. The API part works fine though :-). I've broken up the MediaHandler code to better manage the MediaPlayer objects that seem to be a bit of a wild beast at times. It's still a bit experimental but so far it seems to be very robust, and I no longer experience the error of being unable to create a MediaPlayer that used to happen to me about half-way through every session.

The current API for playVideo and playAudio returns the MediaPlayer object. I couldn't find anywhere where that return value was used, and I think it would be better to return null and encapsulate the MediaPlayer behind the API because of the need to carefully manage it. Do you have any thoughts on that?

The current pull request for the API, https://github.com/GodDragoner/TeaseAIJava/pull/24 is still valid and doesn't include any of the experimental MediaHandler API changes.
GodDragon wrote: Mon Jan 25, 2021 7:07 pm Apart from that the statistic system was made by ski (I don't use it aynway, dunno if any personality would use it rather than use a custom one, but since I never used it it could need a major rework, because from what I've seen the code isn't optimal in my eyes.

Same goes for the Personality Settings, although I think that one looks better and I've made a few minor changes to fix some things back then.

The Lazy Sub Interface could be prettier and alllow for more and custom options possibly.

The Image ripping from reddit (using a library) was implemented by ski too, so no idea how that one compares.

I mean design wise TAJ could be a bit prettier or allow the theme to change more than that if you want to dig into that.

Estim integration was also made by ski, I can't really test it anyway, since I am lacking such a device for now.
That's a great list, thanks. I've tried to track roughly what I'm doing through a wiki page:
https://github.com/FrozenWolf4887/Tease ... activities

I can change the order around to see what would suit us best; feel free to make requests!
ThePurpleSnowglobe
Explorer
Explorer
Posts: 5
Joined: Sun Feb 07, 2021 10:55 pm
I am a: Switch

Re: [Tease Program] Tease-AI Java (1.3)

Post by ThePurpleSnowglobe »

I have a question regarding the Tumblr images issue, mentioned in the pull request #23 by FrozenWolf. In my understandig this fix was included in the version 1.3 of TAJ, so the issue should be resolved, I guess.

The thing is, I still expierence this problem. While playing Spicy I get lots and lots of black screens. After every session the Downloaded Images folder is filled with seemingly corrupted images. By closer inspection I noticed that these files, though having the normal .jpg, .gif extensions in reality containing HTML code of a tumblr page with the actual image embeded.

I am using Windows 10 and started TAJ two weeks ago (after several months of abstinence) when it updated to version 1.3 automatically. Only thereafter I installed and configured Spicy. At first I missed to configure a media folder for tease images and so I thought the black screens were my fault of having something else not configured correctly. Only recently I discorved what was going on in the Downloaded Images folder.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease Program] Tease-AI Java (1.3)

Post by FrozenWolf »

ThePurpleSnowglobe wrote: Mon Feb 08, 2021 5:53 pm I have a question regarding the Tumblr images issue, mentioned in the pull request #23 by FrozenWolf. In my understandig this fix was included in the version 1.3 of TAJ, so the issue should be resolved, I guess.
Unfortunately, the tumblr fix is not part of version 1.3. Version 1.3 was created by GodDragon on 14th Dec 2020, and pull request #23 was merged in to the source on 16th Jan 2021, but hasn't been incorporated into a new release yet.
ThePurpleSnowglobe wrote: Mon Feb 08, 2021 5:53 pm The thing is, I still expierence this problem. While playing Spicy I get lots and lots of black screens. After every session the Downloaded Images folder is filled with seemingly corrupted images. By closer inspection I noticed that these files, though having the normal .jpg, .gif extensions in reality containing HTML code of a tumblr page with the actual image embeded.

I am using Windows 10 and started TAJ two weeks ago (after several months of abstinence) when it updated to version 1.3 automatically. Only thereafter I installed and configured Spicy. At first I missed to configure a media folder for tease images and so I thought the black screens were my fault of having something else not configured correctly. Only recently I discorved what was going on in the Downloaded Images folder.
Yes, you're correct, the downloaded images are indeed HTML, not actual images; they're the proxy pages that normally host the images.

Hopefully GodDragon will have a chance to make a new release when he's ready.
ThePurpleSnowglobe
Explorer
Explorer
Posts: 5
Joined: Sun Feb 07, 2021 10:55 pm
I am a: Switch

Re: [Tease Program] Tease-AI Java (1.3)

Post by ThePurpleSnowglobe »

FrozenWolf wrote: Mon Feb 08, 2021 10:17 pm
ThePurpleSnowglobe wrote: Mon Feb 08, 2021 5:53 pm I have a question regarding the Tumblr images issue, mentioned in the pull request #23 by FrozenWolf. In my understandig this fix was included in the version 1.3 of TAJ, so the issue should be resolved, I guess.
Unfortunately, the tumblr fix is not part of version 1.3. Version 1.3 was created by GodDragon on 14th Dec 2020, and pull request #23 was merged in to the source on 16th Jan 2021, but hasn't been incorporated into a new release yet.
Thank you for your quick reply. I was under the impression that version 1.3 was released mid-january. I do not know where I picked this up. So while we wait for GodDragon to compile the next version: do you know, if there is an option to temporaly deactivate tumblr images without breaking the personalty scripts? Spicy has some scripts that heavily rely on online tease images. It is so strange when your Mistress taunts you with how difficult it is to look at all these sexy images while you looked at a black screen for the last couples of minutes. :lol:
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease Program] Tease-AI Java (1.3)

Post by FrozenWolf »

ThePurpleSnowglobe wrote: Tue Feb 09, 2021 1:46 pm
FrozenWolf wrote: Mon Feb 08, 2021 10:17 pm
ThePurpleSnowglobe wrote: Mon Feb 08, 2021 5:53 pm I have a question regarding the Tumblr images issue, mentioned in the pull request #23 by FrozenWolf. In my understandig this fix was included in the version 1.3 of TAJ, so the issue should be resolved, I guess.
Unfortunately, the tumblr fix is not part of version 1.3. Version 1.3 was created by GodDragon on 14th Dec 2020, and pull request #23 was merged in to the source on 16th Jan 2021, but hasn't been incorporated into a new release yet.
Thank you for your quick reply. I was under the impression that version 1.3 was released mid-january. I do not know where I picked this up. So while we wait for GodDragon to compile the next version: do you know, if there is an option to temporaly deactivate tumblr images without breaking the personalty scripts? Spicy has some scripts that heavily rely on online tease images. It is so strange when your Mistress taunts you with how difficult it is to look at all these sexy images while you looked at a black screen for the last couples of minutes. :lol:
I don't think there's anything easy that could be done to switch off URL fetches. There are a few routes through which a URL can be selected for download, nothing that's trivial to disable either through a configuration option or by modifying the personality. While some changes could be made to the configuration, the result would be an error message in the log and the default would be to show a black image anyway, so not much use there :-P

The 'Images/System/Downloaded Files' directory contains the cache of downloaded files so that it won't fetch the same thing more than one. The filenames are the same as those found in the text files in the 'Images/System/URL Files' directory. My suggestion here would be to edit the text files to leave only a single image reference in there (i.e. it would be three lines in total, leaving the top two lines alone). Then create an image of your choice for that category with the corresponding filename in the 'Images/System/Downloaded Files' directory. That's quite still quite a bit of grunt work though. I think you'd also need to disable the 'Use for tease' checkboxes for each URL in "Settings->Media->URL Files". Don't forget that if you're hacking around in those files, it's a good idea to do it while TAJ isn't running. Also, I think that'll work, but I haven't actually tried it myself. If you do try that and it doesn't work, I promise to stand in the corner for half an hour :lol:
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java (1.3)

Post by ski23 »

GodDragon wrote: Mon Jan 25, 2021 7:07 pm
FrozenWolf wrote: Mon Jan 25, 2021 5:34 pm Good stuff. I think when looking back at it, the only thing that might be different is that the new onCall() methods take Integers as duration values whereas you tweaked the original version to accept Numbers to cope with fractional values. I was doing a cross-comparison at the the time with the sendMessage implementation that only deals with Integers as duration values and probably got my wires crossed. Do you think that all of the API functions that accept durations should handle fractions (even if they're rounded to the nearest integer)? The actual media functions could even use the Duration type for stronger internal consistency.
I made it accept fractional values since for some reason the behaviour of Nashorn seemed to change from Java Version to Java Version. Beforehand I provided the JavaScript call with a 1 and it would yield a 1 as an integer, but in a higher Java Version it ended up being translated to a double in java and thus broke it. Additionally there might be cases where in JavaScript these Integers are calculated using float precision and then casting it just to get it to be a valid parameter seems to much for me. I think it should indeed accept fractional values just for the case of safety. I couldn't guarantee Spicy wouldn't break without the support for it.
FrozenWolf wrote: Mon Jan 25, 2021 5:34 pm I did have a go at modifying the original, and my poor brain couldn't handle it :wacko:. Luckily I've got enough spare time at the moment to be able to tackle bits like this.

Are any other parts of TAJ that you'd like me to look at? I could look into the other API implementations and convert those to use reflection too; it might weed out other some other bugs. Other than that I'll just see if I can find potential issues.
Well, yes indeed reworking the other API calls might be worth a shot.
Apart from that the statistic system was made by ski (I don't use it aynway, dunno if any personality would use it rather than use a custom one, but since I never used it it could need a major rework, because from what I've seen the code isn't optimal in my eyes.

Same goes for the Personality Settings, although I think that one looks better and I've made a few minor changes to fix some things back then.

The Lazy Sub Interface could be prettier and alllow for more and custom options possibly.

The Image ripping from reddit (using a library) was implemented by ski too, so no idea how that one compares.

I mean design wise TAJ could be a bit prettier or allow the theme to change more than that if you want to dig into that.

Estim integration was also made by ski, I can't really test it anyway, since I am lacking such a device for now.
I didn't do the estim integration. If you want to you could drop it.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease Program] Tease-AI Java (1.3)

Post by FrozenWolf »

ski23 wrote: Wed Feb 17, 2021 3:41 pm
GodDragon wrote: Mon Jan 25, 2021 7:07 pm
FrozenWolf wrote: Mon Jan 25, 2021 5:34 pm Good stuff. I think when looking back at it, the only thing that might be different is that the new onCall() methods take Integers as duration values whereas you tweaked the original version to accept Numbers to cope with fractional values. I was doing a cross-comparison at the the time with the sendMessage implementation that only deals with Integers as duration values and probably got my wires crossed. Do you think that all of the API functions that accept durations should handle fractions (even if they're rounded to the nearest integer)? The actual media functions could even use the Duration type for stronger internal consistency.
I made it accept fractional values since for some reason the behaviour of Nashorn seemed to change from Java Version to Java Version. Beforehand I provided the JavaScript call with a 1 and it would yield a 1 as an integer, but in a higher Java Version it ended up being translated to a double in java and thus broke it. Additionally there might be cases where in JavaScript these Integers are calculated using float precision and then casting it just to get it to be a valid parameter seems to much for me. I think it should indeed accept fractional values just for the case of safety. I couldn't guarantee Spicy wouldn't break without the support for it.
FrozenWolf wrote: Mon Jan 25, 2021 5:34 pm I did have a go at modifying the original, and my poor brain couldn't handle it :wacko:. Luckily I've got enough spare time at the moment to be able to tackle bits like this.

Are any other parts of TAJ that you'd like me to look at? I could look into the other API implementations and convert those to use reflection too; it might weed out other some other bugs. Other than that I'll just see if I can find potential issues.
Well, yes indeed reworking the other API calls might be worth a shot.
Apart from that the statistic system was made by ski (I don't use it aynway, dunno if any personality would use it rather than use a custom one, but since I never used it it could need a major rework, because from what I've seen the code isn't optimal in my eyes.

Same goes for the Personality Settings, although I think that one looks better and I've made a few minor changes to fix some things back then.

The Lazy Sub Interface could be prettier and alllow for more and custom options possibly.

The Image ripping from reddit (using a library) was implemented by ski too, so no idea how that one compares.

I mean design wise TAJ could be a bit prettier or allow the theme to change more than that if you want to dig into that.

Estim integration was also made by ski, I can't really test it anyway, since I am lacking such a device for now.
I didn't do the estim integration. If you want to you could drop it.
Thanks Ski, I'll certainly consider that; I can see that Spicy contains references to eStim, but I'm not sure if it's active or not. I don't have an eStim setup myself, so it's not something I could test anyway. Does Mischevious use anything like that?

I'm putting together a testing personality to stress the API as best I can. Eventually I hope to be able to cover every variation of every function. It's here if anyone is interested: https://github.com/FrozenWolf4887/Tease ... ersonality. This seems to be the best way for me to verify that any changes I propose to TAJ haven't broken it.

I was also thinking that adding doxygen comments to each API call might help with extending some of the wiki documentation. I think doxygen/moxygen might be able to output something that's wiki format friendly.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java (1.3)

Post by ski23 »

FrozenWolf wrote: Wed Feb 17, 2021 10:08 pm
ski23 wrote: Wed Feb 17, 2021 3:41 pm
GodDragon wrote: Mon Jan 25, 2021 7:07 pm

I made it accept fractional values since for some reason the behaviour of Nashorn seemed to change from Java Version to Java Version. Beforehand I provided the JavaScript call with a 1 and it would yield a 1 as an integer, but in a higher Java Version it ended up being translated to a double in java and thus broke it. Additionally there might be cases where in JavaScript these Integers are calculated using float precision and then casting it just to get it to be a valid parameter seems to much for me. I think it should indeed accept fractional values just for the case of safety. I couldn't guarantee Spicy wouldn't break without the support for it.



Well, yes indeed reworking the other API calls might be worth a shot.
Apart from that the statistic system was made by ski (I don't use it aynway, dunno if any personality would use it rather than use a custom one, but since I never used it it could need a major rework, because from what I've seen the code isn't optimal in my eyes.

Same goes for the Personality Settings, although I think that one looks better and I've made a few minor changes to fix some things back then.

The Lazy Sub Interface could be prettier and alllow for more and custom options possibly.

The Image ripping from reddit (using a library) was implemented by ski too, so no idea how that one compares.

I mean design wise TAJ could be a bit prettier or allow the theme to change more than that if you want to dig into that.

Estim integration was also made by ski, I can't really test it anyway, since I am lacking such a device for now.
I didn't do the estim integration. If you want to you could drop it.
Thanks Ski, I'll certainly consider that; I can see that Spicy contains references to eStim, but I'm not sure if it's active or not. I don't have an eStim setup myself, so it's not something I could test anyway. Does Mischevious use anything like that?

I'm putting together a testing personality to stress the API as best I can. Eventually I hope to be able to cover every variation of every function. It's here if anyone is interested: https://github.com/FrozenWolf4887/Tease ... ersonality. This seems to be the best way for me to verify that any changes I propose to TAJ haven't broken it.

I was also thinking that adding doxygen comments to each API call might help with extending some of the wiki documentation. I think doxygen/moxygen might be able to output something that's wiki format friendly.
I never used any of the estim stuff anywhere including mischevious.
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

Re: [Tease Program] Tease-AI Java (1.3)

Post by lotar232 »

GodDragon wrote: Sat Jan 09, 2021 3:18 pm
lotar232 wrote: Fri Jan 08, 2021 10:59 pm delivering "media modules" / organization:

so I've been playing around with a spicy fork, and mostly have been doing video modules... i.e. I've found some video where a mistress shocks a slave(Pishock now , or potentially e-STIM), or milks via controlling a vibrator or fleshlight (Lovense), and have been writing a script that actuates toys in sequence with the video( if I get the timing correct and the RF/BT/network gods are smiling. ;) )....


I was wondering how to share these modules since the scripts are tightly coupled with the media... and the media is heavy (500MB-1GB videos)... typically we put all the media in one directory and all the personality code in another...

I was wondering if it made sense to create some top level folder for "modules" (similar to video, audio, and Images) where code could sit next to the media... and if anyone had thought about this, or if it made sense to have a standard "module structure" (i.e. like mini-personalities that could be called)

any thoughts?
You can quite easily play a video from a file inside your personality code files even though I don't think that's optimal. I mean probably the best way to go about this would be to upload the videos to some video plattform and then stream them into TAJ with via a new feature.
I think my main challenge is latency of intervening calls while the video is playing.... I can watch a video, and mark in time say 50 places in video where I want to call some function (lovense vibrator or pishock, which themselves may make network calls)... but when I play the video in over time the accumulated delay of all those calls gets me out of sync and I need to replay it a bunch of times and iteratively "fixup" the delays.... Its probably impossible to set up a bunch or wall-clock based interupts, so I think I just need to stick to doing the manual fix-ups (or come up with some algorithm to reduce every nth delay by a second to stay in-sync)
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease Program] Tease-AI Java (1.3)

Post by FrozenWolf »

lotar232 wrote: Sat Mar 06, 2021 4:59 am
GodDragon wrote: Sat Jan 09, 2021 3:18 pm
lotar232 wrote: Fri Jan 08, 2021 10:59 pm delivering "media modules" / organization:

so I've been playing around with a spicy fork, and mostly have been doing video modules... i.e. I've found some video where a mistress shocks a slave(Pishock now , or potentially e-STIM), or milks via controlling a vibrator or fleshlight (Lovense), and have been writing a script that actuates toys in sequence with the video( if I get the timing correct and the RF/BT/network gods are smiling. ;) )....


I was wondering how to share these modules since the scripts are tightly coupled with the media... and the media is heavy (500MB-1GB videos)... typically we put all the media in one directory and all the personality code in another...

I was wondering if it made sense to create some top level folder for "modules" (similar to video, audio, and Images) where code could sit next to the media... and if anyone had thought about this, or if it made sense to have a standard "module structure" (i.e. like mini-personalities that could be called)

any thoughts?
You can quite easily play a video from a file inside your personality code files even though I don't think that's optimal. I mean probably the best way to go about this would be to upload the videos to some video plattform and then stream them into TAJ with via a new feature.
I think my main challenge is latency of intervening calls while the video is playing.... I can watch a video, and mark in time say 50 places in video where I want to call some function (lovense vibrator or pishock, which themselves may make network calls)... but when I play the video in over time the accumulated delay of all those calls gets me out of sync and I need to replay it a bunch of times and iteratively "fixup" the delays.... Its probably impossible to set up a bunch or wall-clock based interupts, so I think I just need to stick to doing the manual fix-ups (or come up with some algorithm to reduce every nth delay by a second to stay in-sync)
I could add something like "GetVideoPlaybackPositionMillis()" to tell you how far into the video you are so you just need to "wait()" until the next desired timestamp. That would at least accommodate for the video startup time and for the general JavaScript latency in performing other operations. There would still be some latency as you say when performing the action when reaching the desired timestamp, but at least it wouldn't lose synchronisation.
Post Reply

Who is online

Users browsing this forum: TanyaHumble and 73 guests