Page 1 of 1

gasm -- Teasing software with dynamic EStim generation

Posted: Fri Mar 27, 2020 1:37 am
by mantrid
gasm stands for guide assembler. It translates teasing scripts into JavaScript which run in a modern web browser (everything but Internet Explorer) without the need of a web server. The JavaScript runtime library (RTL) allows dynamic generation of EStim signals.

That approach is light-weight and efficient. Furthermore it is ultra-felxible because JavaScript can be used without limitations. In particular most of the the functionality is implemented in JavaScript (including the EStim generator) and thus can easily extended.

The software that translates the tease script into JavaScript is written in Java and only depends on standard API.

The technical documentation can be found at the GitLab page where the software can also be downloaded.

There was major re-organization at begin of 2023, see this post.

Features
  • For playback only a browser is required, no need of a server
  • Fully functionally, easily extendible
  • Support of saving / restoring sessions
  • Maximum flexibility due to full access to the JavaScript layer. It is possible to write complex things like games.
  • Syntax checking (e.g. for non-existent files, labels)
  • Modularization allows to re-use parts and makes even huge teases extendable
  • Dynamic EStim sound generation.
Demos
  • demo01: An example that explains basic syntax of the script files, see the commented source code
  • estim01: An interactive demo which explains the parameters of the low level EStim API. You can change the parameters and feel what happens. (source code)
  • puppetshow: A video demo. Audio works in a similar way: 'V' has be be replaced by 'A', 'VS' by 'AS' and 'D V' by 'D A'.
  • EStimTest: A demo tease based on the sessions of "Brycies EStim Experience" which makes use of dynamical generated ESim signals, also see this post.
The last two demos have to be downloaded, unpacked and the .html file has to be opened in a browser (Ctrl+O).

This initial post will be used for project description an will be updated from time to time.

Re: gasm / gserver -- New teasing software

Posted: Fri Mar 27, 2020 1:46 am
by Roblsforbobls
mantrid wrote: Fri Mar 27, 2020 1:37 am gasm stands for guide assembler.
Missed an opportunity to call it "gass" :lol:

This looks like an amazing project, I can't wait to see how it develops and gets used in the future! Thank you so much for sharing :wave:

Re: gasm / gserver -- New teasing software

Posted: Fri Mar 27, 2020 12:00 pm
by alexfayer
When i try to open GServer.jar or GServer.sh it gives me a JNI Error:
jni_error.png
jni_error.png (3.21 KiB) Viewed 12485 times

When opening GServer.sh the cmd line gets opened but closes very quickly after it so i added the line below to the end of the file to make this picture.

Code: Select all

read -p '

Press ENTER to close this window'
gserver_error.png
gserver_error.png (22.92 KiB) Viewed 12485 times
I am using Java version 1.8.0_241.

If i have some time later i can try to build it myself with my version of java.

Re: gasm / gserver -- New teasing software

Posted: Fri Mar 27, 2020 1:37 pm
by mantrid
alexfayer wrote: Fri Mar 27, 2020 12:00 pm I am using Java version 1.8.0_241.
It's a version issue -- 1.8 is quite old.

Since there are no special dependencies I rebuild the jar files with an older version and uploaded them.

AFAIR there where some buffering problems with surround sound in Java 1.8.

Re: gasm / gserver -- New teasing software

Posted: Fri Mar 27, 2020 2:59 pm
by painword
I have the same problem. I just installed Java, but the version is the same (1.8.0_241)

Re: gasm / gserver -- New teasing software

Posted: Fri Mar 27, 2020 3:01 pm
by alexfayer
It works now, thanks for the quick build. I'll look into it more when i have some time.
Thanks for creating it! It seems very userful!

Re: gasm / gserver -- New teasing software

Posted: Thu Apr 16, 2020 10:55 pm
by mantrid
Just updated the project and the test tease. There are many smaller improvements. Maybe only two new features are noteworthy for end user:
  1. gserver now supports automatic state storing such that is is possible to re-enter the tease at the point where you left it
  2. The audio configuration menu is now usable (many help texts)
The next step is to implement an API for dynamic sound generation. But that requires a lot of testing and will therefore take a little bit longer.

Re: gasm / gserver -- New teasing software

Posted: Mon Jul 31, 2023 5:33 pm
by mantrid
There was some major update early this year: Sound generation has been re-designed and implemented in JavaSscript. The old approach of script based estim files has been dropped (MPGenerator sofware) due to lack of acceptance. The only tease that used it was the test tease "EStimSurprise".

Thus, GServer (required to generate audio from script) became obsolete too.

The old software is still available. The spoiler contains a backup of the old documentation from the initial post of this thread
Spoiler: show
The software is a part of the MPGenerator project, written in Java and only depends on standard API. Its aim is to write EStim teases, but it also can used for other teases. The software consists in two parts:

gasm stands for guide assembler. It translates teasing scripts into JavaScript which run in a modern web browser (everything but Internet Explorer).

With gasm it is possible to do any thing that can be done with other tease software (and it should be possible to convert other tease formats to this format -- but I do not plan it for near future):
  • For playback only a browser is required (also support videos and audio)
  • Can be used offline
  • Classic EStim teases with fixed sound files
  • Maximum flexibility due to full access to the JavaScript layer. It is possible to write games.
  • Syntax checking (e.g. for non-existent files, labels) and ability to write huge teases that are still handy and extendable
Documentation can be found there: gasm/Readme.md

Current state: Fully working. A few convenience things are still on the todo list.

gserver stands for guide server. It is a HTTP server with integrated EStim sound generation and integrated gasm support.

Documentation can be found there: gserver/Readme.md

Current state: Working but API for dynamic sound generation has not been implemented yet (that is more or less what gserver is intended for).

Download
In the repository you find source files as well as JAR files for gasm (GAsm.jar) and gserver (GServer.jar)

Example
The test tease from the MPgenerator lib has been ported to gasm script language. To run it in gserver, you just need EStimSurprise.zip

Unpack it to somewehere, copy GServer.jar to the same directory, double click on it (or start it from console in order to see what is going on) and open "127.0.0.1:7980" in a web browser. See the link to the gserver documentation for a detailed usage description.

To use it without gserver, you also need sound files which need to be unpacked to the same directory as the tease. Then, just open the html file in a web browser.

If something does not work as expected, open the JavaScript console.

Documentation / Getting started
Currently there are still many things that need to be documented. Links to the documentation for gasm and gserver can be found above.

In order to get started you should download the example and take a look into it. The HTML file is the starting file. It should be used as template for new teases. The tease scripts are the .gsc files (the .xml and .scr files are for GuideMe and can be ignored here). The .gjs files are the translated script files and contain JavaScript code.

During development it is easiest to use gserver because is has an integrated gasm. If the tease does not depend on gserver (uses fixed sound files), translate it with gasm as soon you publish it.
(The new documentation can be found in the initial post.)

gasm update and new EStim demo tease

Posted: Sun Mar 24, 2024 5:39 pm
by mantrid
The project (see inital post) has been updated. The major change is a high-level EStim API.

A demo tease can be downloaded there: EStimTest. Download it, unpack the archive somewhere and open (CTRL+O) 'EstimTest.html' in a modern browser (everything but Microsoft IE).

The tease can be considered as an endless version of "Brycies EStim Experience" (sessions are extracted automatically from the GudeMe version) with dynamically and randomly generated EStim signals. Everything is highly configurable. Only the basic characteristics (pleasure / pleasure+pain / pain ) and an intensity boost are controlled by the sessions.

Those who are interested in the technical details (as starting point for own teases), should take a look into 'EStimTest.gsc' (the gasm script that glues everything together) and 'EStimTest.js' which implements the EStim functionality (see 'doc/index.html' for a description of that interface).
Spoiler: show
Minimal scamming is possible by uncommenting 'enableDebug=true;' in EStimTest.html. This allows to change the progress more directly ("P+5", "P-5" buttons and via setting page). Furthermore intensity and pain values are showed if debugging is enabled.