OXT Cloud IDE v0.00000001

Forum rules
A place to discuss and plan OpenSource xTalk (not exclusively LCC based) and Community Builds of LCC
Ask NOT what xTalk can do for you... get involved you DO have something to contribute, no matter your skillset!

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: OXT Cloud IDE v0.00000001

Re: OXT Cloud IDE v0.00000001

by FourthWorld » Tue Feb 18, 2025 4:08 am

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Tue Feb 18, 2025 2:35 am

This is the source Emscripten syntax module that does JavaScript stuff with Extension builder, specifically EvalJavaScript and EvalJavaScriptWithArguments

https://raw.githubusercontent.com/livec ... ripten.lcb

Could be helpful to look at in making extensions targeted to when the engine is running in a browser context, for seeing how wrapping the .js code in xBuilder / xTalk-like syntax, making xBuilder language modules.

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Mon Feb 17, 2025 8:58 pm

I mentioned 'tricks' to make the excessively large JS version of the OXT Emscripten engine possibly load faster, as mentioned by Hermann Hoch years ago now.
One thing that may help with certain browser engines is to 'mark' the script element with async

Code: Select all

<script async type="text/javascript"
       src="standalone-community-8.0.0-dp-4.js">
</script>
Another great suggestion in that same discussion (https://forums.livecode.com/viewtopic.php?t=25345) was to put the Emscripten engine on CDN ( https://www.webfx.com/blog/web-design/free-public-cdns/ ) just like all of those other JavaScript libraries out there, then so long as every Emscripten 'standalone' were to use that CDN url for the Engine, the end-users Browser would only have to download the large engine file once and from then on it should reside in the users browser cache and not need to be re-downloaded for running different 'webstacks' unless we've changed something about the Emscripten engine (like recompiling it as .wasm for example).

The instructions for building the Engine with Emscripten are extremely outdated now (by about a decade), they mention using Emscripten SDK v.1.35 which I believe is on to version 4.x now.

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Sun Feb 09, 2025 1:31 am

Its a very rough semi-functional mock-up, and not at all aesthetically pleasing.

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Sun Feb 09, 2025 1:28 am

OK so what you're talking about seems to be shared stacks and/or other content via some protocol over some tcp/ip port. I was basically doing that using HyperCard as CGI (with 'WebStar' sever) back when maybe 97% of people I knew didn't have any internet at all. Back then I spent many hours studying all of those many RFCs on various protocols HTTP, FTP, GOPHER, NNTP, etc. In fact I started writing my own FTP client app/stack in HyperTalk at one point. After some time I moved on to faster connection with VNC (Timbuktu) remote controlled editing, which could transfer remote files (with compression) as needed as well.

Still that's not quite collaboration-over-IP as you've touched on in your comment. That was the promise of the 'Mother of All Demos', the original 'HyperMedia" demo (which had some interesting UI concepts too) that was all about the 'live' editing collaboration over a network... sometimes called The Ultimate VaporWare!

@tPerry2x had some ideas for a collaboration system integrated into the IDE as well. maybe you two should discuss that.
That goes beyond the scope of what I had in mind for a near-term goal 'Cloud IDE".

What I had in mind with "OXT Cloud IDE" is an xTalk/xCard Editor that runs as a web app:
1) can be delivered via standard protocols (HTTPS, that port is going to not be blocked via firewall)
2) allows for retrieval and editing of content stored either locally, either directly (via user interaction and stardard HTML5 APIs) or if running within a 'wrapper' desktop app (such as Electron) or stored in 'the cloud' remotely if possible (preferably allowing for 'cross-origin' data sources).
3) I want to avoid a requirement for any sort of 'PUT'' requests or PHP back end (as HC Sim, ViperCard, etc. use), It should be 'self sufficient' in that it's able to self-hosted environment loadable from the users local storage device (run able in an Electron wrapper or similar), or hosted via a simple 'cloud storage' or a minimal web service (read as 'free as in beer') like a 'GitHub Pages' site (thinking about things like 'Geocities' here too).

So what we have in a currently available xTalk that fits that bill is OXT Emscripten Engine (which I want to try to re-compile to WebASM soon), and then there is ViperCard and/or HyperCard Simulator (which is not at all a HyperCard 'emulator' it's really xTalk via JS/HTML/CSS with a little Perl on the back end) both of which are xTalk interpreters/xCard that run within web browsers. There's been a few other similar projects over the years I believe (I guess dating back to 'LiveCard' and 'Roadster'). I like HC Sim a lot for the ease with which it allows for exapanding it's syntax. What I don't like about most of these HC inspired web app things is that they all TRY to look like late 1980s Mac Interface, and they require PHP back-end with 'cloud' uploads for remote storage of 'stacks'. I want to be able to 'upload' and 'download' new/created content directly to/from this IDE environment running in the browser (either storing the 'files' in RAM or in some virtual file-system in browser cache).

Again, one of the problems with executing this idea with the Emscripten engine port as it currently exists (and this also applies to the similarly sandboxed 'Mobile' ports of the engine as well) is that there is no Window frames for stacks.

Rather than doom-scrolling and/or screaming into the void, this morning I modified 'BUTTON' demo to work up a little Proof-Of-Concept for 'Window-Frame' widget. It didn't take much to get it semi-functional for this purpose. If you paste this control onto a card it 'adheres' itself to the stack and sets the window decorations property to empty, and it scales the stack while in edit mode (not sure you if you can even do that with a 'custom group control').
Attachments
Screen Shot 2025-02-08 at 2.24.52 PM.png
Screen Shot 2025-02-08 at 2.24.52 PM.png (538.67 KiB) Viewed 2111 times

Re: OXT Cloud IDE v0.00000001

by FourthWorld » Sat Feb 08, 2025 5:27 pm

OpenXTalkPaul wrote: Sat Feb 08, 2025 3:59 am
What could be done with a cloud platform that specialized in running OXT stacks?
Um... run OXT stacks and create with xTalk scripts? I mean I'm sure I could develop browser UIs with JavaScript, HTML/CSS but where's the fun in that?
I'm thinking beyond the browser here.

Sharing OXT stacks over a network is as easy (sometimes easier) as sharing web pages.

The only thing that makes it hard is attempting to do that inside the alien confines of a browser window.

And developing in a browser typically involves reloading pages
Not necessarily, since the advent of xmlHttpRequest, which ushered in the era of modern web apps. But here I'm not thinking about web tech at all.

It's not necessarily 'the cloud' (as in storing apps/files remotely) that I'm interested in here, it's piggy-backing xTalk script on top of widely available and well supported browser engines. JavaScript/WebEngines can run without 'the cloud'.
The goal clarification is helpful. Thank you. I was thrown by the thread title.

These highlights beg the question: why go to all the effort to embed a scriptable rich media engine inside of another scriptable rich media engine, when you already have a scriptable rich media engine?
Everything needed for that is in hand right now, and has been for decades. It's been right in front of us the whole time.
Exactly, web-engines are hypermedia engines, best of all they are engines that OXT doesn't need to maintain! HTML5 and WASM has made this idea more feasible than ever before.
The cloud, the web, and the browser are related, but different.

The cloud is a collaborative workflow model where local work is shareable though a server or network of servers. It often includes storage but is not limited to that role, sometimes also providing compute resources, remote agency, and a wide range of other services.

The web (as in HTTP) is one of several Internet protocols useful for exchanging data, where the data may also be UI or even code.

The browser is one specific application which uses HTTP to provide client side display of HTML pages.

My question was to better understand your goals, which of those three is your interest here.

If I understand your reply correctly, your focus is on the third of those, exploring ways to put the OXT engine inside the browser engine.

That project began as a successful crowdfunding, and has since also consumed a decade of additional payroll burn on top, and has still not completed that goal. We could explore why that's the case further if that's of interest, but perhaps the timeline speaks for itself in assessing the ROI potential of the method chosen to pursue it.

For my own needs, using the only scripting language built into browsers has allowed me to build things for that application in less than a decade, so when I need the browser specifically I just use it as it's designed.

But the other two aspects, cloud and web, have served me well within xTalk all by itself, with no need to think about a browser application at all.

I've found good utility in delivering cloud solutions as native apps built with MetaCard and LiveCode.

If (hopefully when) OXT has a Mac engine for ARM I have a project in mind which expands on this to become a sort of organizational hub, using OXT's rapid development capabilities within a UI dedicated to org tasks.

The range of collaboration and sharing tools and toys that can be made in an xTalk easily and quickly is vast. And when the engine running them is an xTalk, they can be delivered today, realizing network and cloud benefits immediately.

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Sat Feb 08, 2025 3:59 am

FourthWorld wrote: Fri Feb 07, 2025 5:18 pm There's a vast ocean beyond the browser, where Office 365 and Creative Suite have raised their flags, with new continents still waiting to be discovered.
What could be done with a cloud platform that specialized in running OXT stacks?
Um... run OXT stacks and create with xTalk scripts? I mean I'm sure I could develop browser UIs with JavaScript, HTML/CSS but where's the fun in that? And developing in a browser typically involves reloading pages, not exactly 'live' editing/R.A.D. (actually that would be a bit like what Dan's HyperHello is)

It's not necessarily 'the cloud' (as in storing apps/files remotely) that I'm interested in here, it's piggy-backing xTalk script on top of widely available and well supported browser engines. JavaScript/WebEngines can run without 'the cloud'.
These highlights beg the question: why go to all the effort to embed a scriptable rich media engine inside of another scriptable rich media engine, when you already have a scriptable rich media engine?
Everything needed for that is in hand right now, and has been for decades. It's been right in front of us the whole time.
Exactly, web-engines are hypermedia engines, best of all they are engines that OXT doesn't need to maintain! HTML5 and WASM has made this idea more feasible than ever before.

Re: OXT Cloud IDE v0.00000001

by FourthWorld » Fri Feb 07, 2025 5:18 pm

OpenXTalkPaul wrote: Fri Feb 07, 2025 3:12 am
FourthWorld wrote: Thu Feb 06, 2025 9:06 pm Is it the benefits of the cloud you're after, or more specifically enjoying those benefits only in the confines of a browser window?
One of the problems with creating a 'Cloud IDE' that functions similarly to desktop IDE, is that while you can create in-memory stacks/substacks (and do other IDE sorts of things) while running within a web browser...

So that's why I've been saying I think OXT needs its very own 'window manager' of sorts....

Is 'go stack URL' syntax even functional in the Emscripten engine?
These highlights beg the question: why go to all the effort to embed a scriptable rich media engine inside of another scriptable rich media engine, when you already have a scriptable rich media engine?

What could be done with a cloud platform that specialized in running OXT stacks?

Everything needed for that is in hand right now, and has been for decades. It's been right in front of us the whole time.

There's a vast ocean beyond the browser, where Office 365 and Creative Suite have raised their flags, with new continents still waiting to be discovered.

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Fri Feb 07, 2025 3:12 am

FourthWorld wrote: Thu Feb 06, 2025 9:06 pm Is it the benefits of the cloud you're after, or more specifically enjoying those benefits only in the confines of a browser window?
One of the problems with creating a 'Cloud IDE' that functions similarly to desktop IDE, is that while you can create in-memory stacks/substacks (and do other IDE sorts of things) while running within a web browser with the Emscripten engine, for graphical UI stacks there are no window-frames/decorations around those stacks-windows and therefore no easy way for a user to manipulate those stack-windows other than via scripting. The web / HTML5 has no 'window manager' included in any spec as far as I know. Similarly mobile devices having small screens has meant being stuck in a single-window paradigm where apps typically cannot create new floating sub-windows for documents, floating palettes, floating HUD displays, etc. You can see that for the playground web stack I had to hack together a titlebar/decorations window control.
Screenshot 2025-02-06 at 9.42.24 PM.png
Screenshot 2025-02-06 at 9.42.24 PM.png (458.88 KiB) Viewed 10041 times

So that's why I've been saying I think OXT needs its very own 'window manager' of sorts. Basically a way to slap some frame/decorations around a stack's rectangle when there's no window manager available. Using an extension library/canvas-drawn-widget would ensure that it looks and works identically on all of the platforms. It would also be useful for when a stack author wants to bypass the 'native' window manager, which could side-step some compatibility / focus issues with various problematic Linux window managers. If it's going to exist as a library, then might as well roll in some actual 'native' window manager methods (like enabling certain presentation modes, pinning windows, window-shade-ing, etc.) that I've been collecting that work on Mac and Linux.
"go stack <url>" remains an exciting invitation for a wide range of things hinted at but never fully explored in the MetaCard/LiveCode ecosystems.
Is 'go stack URL' syntax even functional in the Emscripten engine? (goes off to check...)
Go stack url <pURL> does work in the Emscripten, but the transport being the http protocol means it is subject to same-origin-policy, just like JavaScripts are.

Hermann Hoch did a bunch of experiments with the Emscripten Engine testing what works (and what is broken) with the Emscripten port, here is his 'Go Stack URL' Tests: https://hh.on-rev.com/html5/GoStackURL-9.5.0X.html
As you can see there Hermann also needed to hack together some window-frame-decorations to control the sub stacks 'windows'.

Go stack <URL> syntax works in Hypercard Simulator as well, and I also made a 'LaunchURL' pseudo-'XCMD' that uses some JS to open a given URL parameter in a new browser tab.

Re: OXT Cloud IDE v0.00000001

by FourthWorld » Thu Feb 06, 2025 9:06 pm

The browser is of course a subset of what the web can do, and the web is a subset of what the Internet offers.

Is it the benefits of the cloud you're after, or more specifically enjoying those benefits only in the confines of a browser window?

"go stack <url>" remains an exciting invitation for a wide range of things hinted at but never fully explored in the MetaCard/LiveCode ecosystems.

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Thu Feb 06, 2025 3:52 am

Nice, simple, Javascript library that acts like an in-browser 'Window Manager', theme able with CSS of course.
https://nextapps-de.github.io/winbox/
That's the sort of thing I had in mind but as an Extension Library / Widget, with the thinking that it could be used in a browser with the Emscripten engine or with offline' engines as a replacement window-frame/window-managemer on desktop or mobile as well.

Re: OXT Cloud IDE v0.00000001

by overclockedmind » Thu Nov 07, 2024 10:19 pm

Moving targets... y'know. Re: The Web.

But, I could see each of us being able to build a Web browser in OXT too, supported for our host systems, soo...

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Tue Nov 05, 2024 1:16 am

tperry2x wrote: Sat Nov 02, 2024 7:07 pm The web standards thing, you can see what I was banging on about where it's a shifting evolving standard - moreso than desktop OS in many cases. Just a few browser iterations and the online version of the webstacks stop working. In comparison, go back to an old desktop version and things are supported for longer - but arguably it's more of a headache to recompile and sort that side of things out when compatibility ceases... so, swings-and-roundabouts.
I'd argue that while HTML is 'a living' standard' and in general it often takes a few (or many) versions before enough Browser vendors have all added in support for something new but once they do, the support for the features could remain used for decades. For example SVG support was standardized and eventually support added to most browsers like 20+ years ago right? While older versions of Browser or any older software aren't going to support the latest modern things.

HTML5 isn't all that old, but it is a game changing collection of APIs geared towards (eventually) enabling sort of traditional desktop apps to be delivered in (theoretically) any modern web browser on any device that has one. It has far more forward-compatibility with a wider range of platforms.

The real problem (beyond technical things like 'sandboxing') is that in reality the big browser vendors are the ones who really decide what they'll support and when they'll support it. Apple will often put new features in the developer menu marked as experimental options that can be toggled on/off. But I'd say that generally many HTML5 APIs are widely supported by most browsers in the past 7 years or so. I think it's safe to say that support for HTML5 APIs and web apps will be around for a long time.

Re: OXT Cloud IDE v0.00000001

by tperry2x » Sat Nov 02, 2024 7:07 pm

OpenXTalkPaul wrote: Sat Nov 02, 2024 4:05 pm Anyway Mohave's Safari version is 14, ...this version of Safari 14.x does not support the method of WebAudio Audio sample playback method used in both the 'Boing' button in my Playground webstack and in HyperCard Simulator's 'play' command. FireFox 115.16.1 Extended Service Release does work correctly with the WebAudio.
Ironically(?) I used tinySynth.js with the Piano widget on the playground webStack and it works fine on either browser (not to mention it can play MIDI file data).
That's a pain. Hope you get it sorted. I've got to fork out for a new MacBook Air 2017 battery at some point, although it is running without one - but laggy as the OS can't understand why a battery isn't present.

The web standards thing, you can see what I was banging on about where it's a shifting evolving standard - moreso than desktop OS in many cases. Just a few browser iterations and the online version of the webstacks stop working. In comparison, go back to an old desktop version and things are supported for longer - but arguably it's more of a headache to recompile and sort that side of things out when compatibility ceases... so, swings-and-roundabouts.

I'd want to compile on an intel mac, and probably on 10.14 as previously mentioned - just to get the compile functioning first. If I ever reach those heady aspirations, then a build trying an Arm mac would be the next 'stretch goal' :lol:
However, I do not relish the idea of having to fork out money for an M3/M4 mac mini - even an M2 would do, and the best I've seen one go for on eBay with 16GB of ram was for about £318 ($411) - whereas the equivalent one on Apple's refurbished store is currently $1099 (no thank you very much).

Re: OXT Cloud IDE v0.00000001

by Kdjanz » Sat Nov 02, 2024 6:41 pm

My laptop is out of commission, needs either a new battery or a new motherboard, so I moved its drive to the old desktop I have set up to run Mohave, so I can continue work while I sort that out. (Considering Apple Silicon MacBook Air)
What about a new M4 mini? The power would probably blow you away!
I have a M3 Air that is perfect and superlative for me in every way once I traded in the 8GB base model that I first bought for a 16GB upgrade that runs everything that Apple is currently beta testing. The battery life is almost frightening - since when can I carry around a skinny little laptop for 5 days without recharging!!! They claim 23 hours continuous use and I believe them, but I will never push that limit.

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Sat Nov 02, 2024 4:05 pm

My laptop is out of commission, needs either a new battery or a new motherboard, so I moved its drive to the old desktop I have set up to run Mohave, so I can continue work while I sort that out. (Considering Apple Silicon MacBook Air)

Anyway Mohave's Safari version is 14, I have no idea if there's any community created WebKit updates for it or whatnot, but this version of Safari 14.x does not support the method of WebAudio Audio sample playback method used in both the 'Boing' button in my Playground webstack and in HyperCard Simulator's 'play' command. FireFox 115.16.1 Extended Service Release does work correctly with the WebAudio.
Ironically(?) I used tinySynth.js with the Piano widget on the playground webStack and it works fine on either browser (not to mention it can play MIDI file data).

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Tue Oct 22, 2024 2:19 am

It's just occurred to me that JavaScript can make iFrames elements and set the contents of them 'on the fly', which I suppose is a bit like having a 'browser widget' inside of a web page.

If you paste this into OXT Playground web stack 'input' text area, and then click 'Do Console Text as Javascript' inside the stack, you'll get the idea of what I'm going on about:

Code: Select all

const iframe = document.createElement("iframe");
iframe.src = "https://openxtalk-org.github.io/OpenXTalk-Playground/";
iframe.width = 1000 ;
iframe.height = 1000 ;
iframe.id = 'subpage' ;
document.body.appendChild(iframe);
That creates a new frame in the web page and loads a second instance of the web stack into that frame (but since it's of the same origin site, it doesn't need to re-download the 28mb Emscripten Engine)

Then it occurred to me that HyperSim's Engine could be embedded into our Emscripten powered 'web-stack' and then 'HCSim' based 'web-stacks' could be generated and previewed while both kinds of 'web-stacks' are live inside frames of a single browser window, which offers the chance at building a web-app-standalone-IDE for HCSim. That means no server back-end would be required in order to create HTML5/HCsim based 'web-stacks' and it would be usable on just about anything that has a modern web-browser, and the outputs 'stacks' are HTML/JS pages, which could then be wrapped in an offline web-app-to-desktop-app wrapper like Electron if you wanted an off-line desktop app. HCSim is smaller and loads faster than our Emscripten Engine.

Using this instead of the previous code creates a new frame and writes new web-page content into that frame:

Code: Select all

const iframe = document.createElement("iframe");
iframe.width = 1000 ;
iframe.height = 1000 ;
iframe.id = 'subpage' ;
document.body.appendChild(iframe);
document.getElementById('subpage').contentWindow.document.write("<html><body>Hello world</body></html>");
I know HyperSim already is its own IDE of sorts, but I'd really like to see if I could push that well beyond being a HyperCard-simulation. Being built more on web standards (at least compared to the Emscripten engine being a JS port of a 30+ year old UNIX app) means that a LOT could be done with it. I think it would be fairly easy to add things like an HTML5 video 'player control' (there's already a video on one of the cards of Dan's HCSim intro 'Home' stack). And of course the web already has full support for things like SVG (animated!), and unicode support ready for the odd ancient-Sumerian web-fonts ;-)

As much as I still want the direct 'bare-metal' hardware and OS API access of a 'real' desktop app, there's also a hell of a lot on the 'plus' side to 'piggy-backing' an xTalk 'engine' on top of JS+HTML5. Now days with JavaScript on the desktop there's quite a large ecosystem of things like Node.js , React Native, JSX (JavaScript for Automation), offline-WebAssembly, etc. Web-app-wrappers can be less 'sand-boxed' than running inside a web-browser, for example 'Electron' apps can run shell scripts (Electron was developed by GitHub for 'hackable' code editor Atom, now called 'Pulsar').

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Thu Oct 17, 2024 12:14 am

OpenXTalkPaul wrote: Wed Jul 03, 2024 5:57 pm https://openxtalk-org.github.io/OpenXTalk-Playground/

Now it plays the HyperCard sound BOING!
Not only that but it plays it pitch-shifted multiple times to form a chord, and does so using only plain web-audio API.
I wrote a lengthy post about having updated this earlier today, but I guess I got side-tracked by RL and never posted it?

Sigh...
Updated this afternoon:
https://openxtalk-org.github.io/OpenXTalk-Playground/
Screenshot 2024-10-16 at 8.12.27 PM.png
Screenshot 2024-10-16 at 8.12.27 PM.png (568.66 KiB) Viewed 16903 times
So with the Emscripten engine having an xTalk<>Javascript bridge thereby enabling polyglot programming mixing the two, not only can we use it to access all of HTML5 APIs, like using web audio API to pitch-shift sound samples for use as musical notes, but now, at the low low cost of an additional 40Kb of downloading, the on-screen Piano actually outputs sound, in real-time (or close enough to it so as to be useful) using webaudio-tinySynth.js and thanks to a snippet from General Music library you can change programs (Musical Instrument Sounds) too. Webaudio-tinySynth.js is a fully functional MIDI playback synthesizer engine with 128 instrument sound bank. But don't expect it to sound like a $10K Moog, tinySynth sounds like late 1980s 16 bit Game console quality (think 16bit SEGA), and that's on it's good' setting, and on it's low-quality setting it sounds like early 1980s 'chip-tunes' 8bit game console music. But it works, it can play MIDI file data (so I can get playSentence/'PlayPMD' working on the web), and it's really tiny and self contained.
https://github.com/g200kg/webaudio-tinysynth

There's a slight lag (latency) and it could be a variety of things.
I wonder if it could be smoother without graphics compositing. You see I noticed after deploying that the Piiano's keys highlight color is actually set to be semi-transparent, you can see the background objects blending though it while the 'keys' are pressed, but needn't be. That's comes at cost of extra processing for rendering.

This code will play a MIDI file

Code: Select all

synth.loadMIDI('https://upload.wikimedia.org/wikipedia/commons/5/55/MIDI_sample.mid');
synth.playMIDI('https://upload.wikimedia.org/wikipedia/commons/5/55/MIDI_sample.mid');

--- LOAD FROM DATA URL:
synth.loadMIDIUrl('data:audio/midi;base64,TVRoZAAAAAYAAAABAeBNVHJrAAAA5wD/WAQEAhgIAP9RAwehIADAAADAAGWQXH8AwABlgFx/AMAAZZBZfwDAAGWAWX8AwABlkFZ/AMAAZYBWfwDAAGWQQ38AkEF/AJBCfwCQQH8AkD9/AMlPAJlPfwDAAACQU38AwABlgEN/AMAAZYBCfwDAAGWAP38AwABlgFN/AMAAZZBDfwDJTwCZT38AwAAAkFB/AMAAZYBBfwDAAGWJT38AwABliQB/AMAAZcAAZYBAfwDAAGWAUH8AwABlkE1/AMAAZYBDfwDAAGXAAGWATX8AwABlwABlwABlwABlwABlkDh/AP8vAA==');
synth.playMIDI();
there's also the method .loadMIDIurl() which will play a data URL (which is what I want for passing created MIDI data)

Re: OXT Cloud IDE v0.00000001

by OpenXTalkPaul » Wed Jul 03, 2024 5:57 pm

https://openxtalk-org.github.io/OpenXTalk-Playground/

Now it plays the HyperCard sound BOING!
Not only that but it plays it pitch-shifted multiple times to form a chord, and does so using only plain web-audio API.

Re: OXT Cloud IDE v0.00000001

by tperry2x » Wed Jul 03, 2024 6:12 am

I love the progress on this, and I'm following along too.
I don't have anything constructive to add, so that's why I'm quiet on this topic - however I do find it interesting.

Top