OpenEOS - Open source EOS player
Moderator: 1885
-
- Explorer At Heart
- Posts: 175
- Joined: Wed Dec 05, 2007 12:35 pm
Re: OpenEOS - Open source EOS player
Just played the audio demo and am once again impressed. These kinds of additions to EOS really expand the scope of potential.
I really hope there is a future here as I'd love to see what teases can be made with the new features.
I really hope there is a future here as I'd love to see what teases can be made with the new features.
Re: OpenEOS - Open source EOS player
Trusfrated wrote: ↑Tue Dec 22, 2020 4:09 am This feels really revolutionary! I'm excited to see more content created exclusively for it.
Thanks! Hopefully OpenEOS will gain some traction with authors.Triple Alfa wrote: ↑Wed Dec 23, 2020 1:53 am Just played the audio demo and am once again impressed. These kinds of additions to EOS really expand the scope of potential.
I really hope there is a future here as I'd love to see what teases can be made with the new features.
(If it does, I'll need to move the player to a more permanent home.)
Re: OpenEOS - Open source EOS player
You wouldn't happen to be maintaining an easily installable version of this on https://openuserjs.org would you? If so, I'd like to link to it in OpenEOS' Wiki.notSafeForDev wrote: ↑Sat Dec 12, 2020 8:12 pm Alright, I'm sold after seeing proper support for gifs.
Rather than making a completely new editor to support new features, perhaps we could use something like tampermonkey to add to the existing one:
Code: Select all
// ==UserScript== // @name New script - milovana.com // @namespace Violentmonkey Scripts // @match https://milovana.com/eos/editor/* // @grant none // @version 1.0 // @author notSafeForDev // @description Adds additional fields to the EOS editor to support OpenEOS features: https://milovana.com/forum/viewtopic.php?f=26&t=23558 // ==/UserScript== let lastPageText = ""; onRequestAnimationFrame(); function onRequestAnimationFrame() { requestAnimationFrame(onRequestAnimationFrame); const loader = document.getElementsByClassName("MuiCircularProgress-root")[0]; if (loader !== undefined) { return; } const page = document.querySelector("#root > div > main > header > div > h6"); if (page !== null && page.textContent !== lastPageText) { lastPageText = page.textContent; onPageEnter(page.textContent); } } function onPageEnter(pageTitle) { const actionTitle = document.querySelector("#root > div > main > div > div > div.MuiGrid-root.MuiGrid-item.MuiGrid-grid-xs-12.MuiGrid-grid-md-7.MuiGrid-grid-lg-6 > div > div.MuiCardHeader-root > div.MuiCardHeader-content > span"); if (actionTitle !== null && actionTitle.textContent === "Image") { const form = document.querySelector("#root > div > main > div > div > div.MuiGrid-root.MuiGrid-item.MuiGrid-grid-xs-12.MuiGrid-grid-md-7.MuiGrid-grid-lg-6 > div > div.MuiCardContent-root > div"); const formInput = form.querySelector("input"); const formGif = form.cloneNode(true); const formGifInput = formGif.querySelector("input"); const formGifLabel = formGif.querySelector("label"); const formOutput = form.cloneNode(true); const formOutputInput = formOutput.querySelector("input"); const formOutputLabel = formOutput.querySelector("label"); form.parentNode.appendChild(formGif); form.parentNode.appendChild(formOutput); formGifLabel.textContent = "Gif/Webp URL"; formGifInput.value = ""; formOutputLabel.textContent = "Paste this in Locator field"; formOutputInput.value = "" const updateOutputForm = () => { const gifUrlStart = "+(|oeos:"; const encodedUrl = encodeURIComponent(formGifInput.value); let locatorBase = formInput.value; if (formInput.value.includes(gifUrlStart) === true) { locatorBase = formInput.value.substr(0, formInput.value.indexOf(gifUrlStart)); } formOutputInput.value = locatorBase + "+(|oeos:" + encodedUrl + ")"; } addInputChangeListener(formInput, updateOutputForm); formGifInput.addEventListener("input", updateOutputForm); } if (pageTitle === "Share") { const form = document.querySelector("#root > div > main > div > div > div > div"); if (form === null) { return; } const formOpenEOS = form.cloneNode(true); const formOpenEOSInput = formOpenEOS.querySelector("input"); let link = formOpenEOS.value; form.parentNode.appendChild(formOpenEOS); formOpenEOSInput.value = formOpenEOSInput.value.replace("https://milovana.com/webteases/showtease.php", "https://oeos-player-preview.herokuapp.com/"); formOpenEOS.onclick = () => { formOpenEOSInput.select(); document.execCommand("copy"); } } } function addInputChangeListener(input, callback) { var currentValue = input.value; // Since text inputs can also be changed by code, we don't use native addEventListener setInterval(() => { if (currentValue !== input.value) { callback(input.value); } currentValue = input.value; }, 16); }
-
- Explorer At Heart
- Posts: 175
- Joined: Wed Dec 05, 2007 12:35 pm
Re: OpenEOS - Open source EOS player
I just finished my first try of a program called Virtual Succubus. It features a 3D Mistress that gives you orders based on a ton of configurable options. In it I encountered four features that I think OEOS could really benefit from.
1) All its text was displayed at the bottom of screen, but the background was the 3D world. That made me think that it might be cool to be able to optionally overlap the text in OEOS over the image.
2) Since all the text was at the bottom this also included all the countdowns. This made it way easier and more enjoyable to keep track of the countdown as I didn't have to take my eyes off the girl. Now obviously you could do this with text in OEOS, but I don't think anyone wants to manually setup long timers like that. It would also push any relevant text up and constantly move the counting text upwards as well, rather than having a clean statically positioned countdown. Plus a custom look for the timer would be beneficial.
3) Several times it featured countdowns that paused on a number, using a change in color as emphasis, before continuing. Since it was so easy to keep track of the countdowns it really enabled the program to play around with my expectations. This was very enjoyable.
4) The program made liberal use of fading out to black between scenes. It might be cool to be have transition effects like that in OEOS.
1) All its text was displayed at the bottom of screen, but the background was the 3D world. That made me think that it might be cool to be able to optionally overlap the text in OEOS over the image.
2) Since all the text was at the bottom this also included all the countdowns. This made it way easier and more enjoyable to keep track of the countdown as I didn't have to take my eyes off the girl. Now obviously you could do this with text in OEOS, but I don't think anyone wants to manually setup long timers like that. It would also push any relevant text up and constantly move the counting text upwards as well, rather than having a clean statically positioned countdown. Plus a custom look for the timer would be beneficial.
3) Several times it featured countdowns that paused on a number, using a change in color as emphasis, before continuing. Since it was so easy to keep track of the countdowns it really enabled the program to play around with my expectations. This was very enjoyable.
4) The program made liberal use of fading out to black between scenes. It might be cool to be have transition effects like that in OEOS.
Re: OpenEOS - Open source EOS player
Most of the existing OpenEOS demos already allow text to overlap the image on some of the examples. (Images can be set to full height of container -- however, it will not clip the width of the image if the image is too wide.) Let me know if this isn't what you mean. (Screenshot would be helpful.)Triple Alfa wrote: ↑Sat Dec 26, 2020 2:07 am I just finished my first try of a program called Virtual Succubus. It features a 3D Mistress that gives you orders based on a ton of configurable options. In it I encountered four features that I think OEOS could really benefit from.
1) All its text was displayed at the bottom of screen, but the background was the 3D world. That made me think that it might be cool to be able to optionally overlap the text in OEOS over the image.
Not sure I understand. Screenshots would be helpful.Triple Alfa wrote: ↑Sat Dec 26, 2020 2:07 am 2) Since all the text was at the bottom this also included all the countdowns. This made it way easier and more enjoyable to keep track of the countdown as I didn't have to take my eyes off the girl. Now obviously you could do this with text in OEOS, but I don't think anyone wants to manually setup long timers like that. It would also push any relevant text up and constantly move the counting text upwards as well, rather than having a clean statically positioned countdown. Plus a custom look for the timer would be beneficial.
3) Several times it featured countdowns that paused on a number, using a change in color as emphasis, before continuing. Since it was so easy to keep track of the countdowns it really enabled the program to play around with my expectations. This was very enjoyable.
I've been thinking about adding optional transitions to images. Would need to completely change the way I'm displaying images to make it happen -- but I may do it.Triple Alfa wrote: ↑Sat Dec 26, 2020 2:07 am 4) The program made liberal use of fading out to black between scenes. It might be cool to be have transition effects like that in OEOS.
-
- Explorer At Heart
- Posts: 175
- Joined: Wed Dec 05, 2007 12:35 pm
Re: OpenEOS - Open source EOS player
I checked the first example again and that is what I meant. I didn't realize that was already possible.fapnip wrote: ↑Sat Dec 26, 2020 3:54 pm Most of the existing OpenEOS demos already allow text to overlap the image on some of the examples. (Images can be set to full height of container -- however, it will not clip the width of the image if the image is too wide.) Let me know if this isn't what you mean. (Screenshot would be helpful.)
This is a normal instruction with three buttons at the bottom:Not sure I understand. Screenshots would be helpful.
As you can see it is very easy to both read the text and keep your eyes on the girl as it overlaps her.
This is an example of a timer with two buttons at the bottom:
The "41s" is the countdown and will change every second like: "40s", "39s", etc.
The timer will sometimes be paused. For example it will countdown "5s, 4s, 3s" and then stay on "3s" for ten seconds before continuing the countdown and then maybe pausing again at "1s". To emphasize the pause the program also changes the color of the "3s"-text.
It sometimes also displays text in the center:
Example of a custom beat-meter the player has to follow:
I hope this helps you visualize what I meant.
Re: OpenEOS - Open source EOS player
Images appear to be broken. (If Milovana doesn't support the image types you're using, you could upload them to imgbb.com and paste the links.)Triple Alfa wrote: ↑Sat Dec 26, 2020 5:29 pm As you can see it is very easy to both read the text and keep your eyes on the girl as it overlaps her.
Re: OpenEOS - Open source EOS player
Okay, got the screenshots working. Had to copy/paste the links to them. (jerking.empornium.ph restricts milovana.com as the referrer.)Triple Alfa wrote: ↑Sat Dec 26, 2020 5:29 pm This is a normal instruction with three buttons at the bottom:
This is an example of a timer with two buttons at the bottom:
The "41s" is the countdown and will change every second like: "40s", "39s", etc.
The timer will sometimes be paused. For example it will countdown "5s, 4s, 3s" and then stay on "3s" for ten seconds before continuing the countdown and then maybe pausing again at "1s". To emphasize the pause the program also changes the color of the "3s"-text.
I see. It's just a text timer. This could currently be implemented by authors on OpenEOS in multiple ways, but the easiest would probably be something like:
Code: Select all
new Say({
label: '<p>Fondle your balls...</p>',
mode: 'instant'
})
// Start our timer at 50 seconds
var countdown = 50
// Create a function we'll call to display our timer text
function buildTimerText() {
return '<p style="font-size: 120%"><b>for ' + countdown + 's</b></p>'
}
// Create and show a new say bubble that we'll use for a timer
var myTimerBubble = new Say({
label: buildTimerText(),
mode: 'instant'
})
// Create and display select buttons
new Choice({
options:[
{label: 'Mercy!', onSelect: function(){
clearInterval(myTimer) // Stop the countdown
pages.goto('mercy-page') // Do something
}},
{label: 'Failed', onSelect: function(){
clearInterval(myTimer) // Stop the countdown
pages.goto('failed-page') // Do something
}}
]
})
// Create an interval that runs every second (1000ms)
var myTimer = setInterval(function() {
// Decrease timer
countdown --
// Update the text in our existing say bubble
myTimerBubble.label(buildTimerText())
if (countdown < 1) {
// If our timer has reached zero
clearInterval(myTimer) // Stop the countdown
pages.goto('timer-end-page') // Do something
}
}, 1000)
This could be done currently using image or page overlays. Not sure how to implement a user friendly version. Perhaps an option to expand the bubble container to the full height of the screen, rather than the bottom 30%, and center them?
Not sure I understand what's in that image, but just about anything custom could be done using image or page overlays.Triple Alfa wrote: ↑Sat Dec 26, 2020 5:29 pm Example of a custom beat-meter the player has to follow:
-
- Explorer At Heart
- Posts: 175
- Joined: Wed Dec 05, 2007 12:35 pm
Re: OpenEOS - Open source EOS player
It's great to see that the individual elements already support this through code. I do want to make an argument for making it a default option though.(Using its own system and not hijacking the text labels.)
1) As mentioned it makes it easier for players to focus on both timer and image as well as any other text.
2) It would save creators a lot of headache and allow those without much coding experience the chance to use it too.
3) It would also allow the option to make it asynchronous. In your current code example the countdown label would move if new text was displayed making asynchronous use not possible.
4) It would save a lot of screen space on mobile devices as the timer would take up vertical space rather than horizontal.
5) Allowing fixed text to be around the timer adds surprisingly much to the experience.
That seems like the easiest way. I do wonder though how good it would look with the default text label. Would require some testing.This could be done currently using image or page overlays. Not sure how to implement a user friendly version. Perhaps an option to expand the bubble container to the full height of the screen, rather than the bottom 30%, and center them?
Just imagine a beat-meter from a cock-hero video. It's basically that.Not sure I understand what's in that image, but just about anything custom could be done using image or page overlays.
If you ever implement a default metronome option this would be the logical next step.
- T€ch
- Explorer
- Posts: 86
- Joined: Tue Aug 07, 2012 12:15 pm
- Gender: Male
- Sexual Orientation: Straight
- I am a: Switch
Re: OpenEOS - Open source EOS player
Hello
first of all very nice project, it felt very revolutionary when i tested your Audio Sync Demo Tease.
I want to put in a feature request or lets say more a feature suggestion:
Yesterday i stumbled over a news-post that there is a open-source standard/software project for controlling sex-toys.
The project can be found here: https://buttplug.io/
Its written in Rust but also has JavaScript support.
I dont have so much technical knowledge, but perhaps it could be included into the Open EOS Player.
I am thinking of it as that you connect your sex-toy to your PC then open a Open EOS Tease, the Tease asks you if you want to use a sex-toy (you agree) and then you can play this tease with support for this sex-toy.
A good sex-toy for testing i think, which is supported by buttplug.io and also a lot of people could use is the XBox Gamepad (the rumble feature).
I dont know if its hard to include or not compatible with Open EOS. I just wanted to inform you that there is something like this which could be a cool feature for Open EOS.
first of all very nice project, it felt very revolutionary when i tested your Audio Sync Demo Tease.
I want to put in a feature request or lets say more a feature suggestion:
Yesterday i stumbled over a news-post that there is a open-source standard/software project for controlling sex-toys.
The project can be found here: https://buttplug.io/
Its written in Rust but also has JavaScript support.
I dont have so much technical knowledge, but perhaps it could be included into the Open EOS Player.
I am thinking of it as that you connect your sex-toy to your PC then open a Open EOS Tease, the Tease asks you if you want to use a sex-toy (you agree) and then you can play this tease with support for this sex-toy.
A good sex-toy for testing i think, which is supported by buttplug.io and also a lot of people could use is the XBox Gamepad (the rumble feature).
I dont know if its hard to include or not compatible with Open EOS. I just wanted to inform you that there is something like this which could be a cool feature for Open EOS.
_Try High-Definition Teases and Cock-Hero Movies_
Re: OpenEOS - Open source EOS player
Bug report: For some reason if you change pages clicking a skippable autoplay Say bubble while a async timer or a audio is running it just dies .-. (letting the say bubble expire doesn't crash it tho ).
https://oeos.ml/?id=48384&key=0df37c02a8
PS: On page 2 it should say test1, test2 and test3 but it just dies in test1 lol.
https://oeos.ml/?id=48384&key=0df37c02a8
PS: On page 2 it should say test1, test2 and test3 but it just dies in test1 lol.
Re: OpenEOS - Open source EOS player
I'll see what I can come up with.Triple Alfa wrote: ↑Sat Dec 26, 2020 10:04 pm It's great to see that the individual elements already support this through code. I do want to make an argument for making it a default option though.(Using its own system and not hijacking the text labels.)
I've been trying to develop a relatively easy to use, yet flexible, CH type beat meter generator for OEOS, but haven't made much progress yet.Triple Alfa wrote: ↑Sat Dec 26, 2020 10:04 pm Just imagine a beat-meter from a cock-hero video. It's basically that.
If you ever implement a default metronome option this would be the logical next step.
I'd like to have some way for authors to control connected toys via OpenEOS, just not sure what's the best way forward. I don't have any of these devices, and most of the APIs don't have virtual devices for developers to test code with. https://xtoys.app/, pointed out by notSafeForDev here, seemed like it could be a good option, but notSafeForDev appears to have dropped off the radar since.
Thanks for the report!zpigz wrote: ↑Sat Jan 02, 2021 6:51 am Bug report: For some reason if you change pages clicking a skippable autoplay Say bubble while a async timer or a audio is running it just dies .-. (letting the say bubble expire doesn't crash it tho ).
https://oeos.ml/?id=48384&key=0df37c02a8
PS: On page 2 it should say test1, test2 and test3 but it just dies in test1 lol.
Fix should be up now in v0.8.1.
Re: OpenEOS - Open source EOS player
notSafeForDev wrote: ↑Sat Dec 12, 2020 8:12 pm Alright, I'm sold after seeing proper support for gifs.
Rather than making a completely new editor to support new features, perhaps we could use something like tampermonkey to add to the existing one:
[...]
This script adds additional text fields when picking image, one where you can paste a url to a gif/webp and another that gives you an output text to use as the locator. That way you don't need to use a url decoder. I tried making it update the locator text field through code, but as far as I can tell, that field can only be updated through user input.
Also, it adds an OpenEOS link in the share page.
Here's an updated version that doesn't require copy/paste for image URL additions, and updates the URL to the new temporary domain, oeos.ml (that will eventually change as well.):
OpenEOS Editor Extensions
(Edit: Replaced pasted userscript with link.)
Last edited by fapnip on Tue Jan 05, 2021 7:55 pm, edited 2 times in total.
Re: OpenEOS - Open source EOS player
Looks like there's some issues with audio actions on OpenEOS. Working on it...
Re: OpenEOS - Open source EOS player
I've updated notSafeForDev's EOS Editor extensions user script to add more features, uploaded it to openuserjs.org, and created instructions to easily install it here:
Installing OpenEOS Editor Extensions
Also, I'm still working on fixing Audio issues. (Please let me know if you're currently developing an OpenEOS tease and you are having issues with audio.)
Installing OpenEOS Editor Extensions
Also, I'm still working on fixing Audio issues. (Please let me know if you're currently developing an OpenEOS tease and you are having issues with audio.)
Who is online
Users browsing this forum: No registered users and 17 guests