Become a sponsor to Paul McClernan
For the last 8 years I've been using mostly LiveCode for my hobbyist coding efforts, which have largely center around my interest in sound creation, music theory and MIDI. LiveCode Script wasn't a very good choice for this type of development, but about 5 years ago they introduced an additional, slightly lower level language, called LiveCode Extension Builder (LCB).
Extensions allows for the creation of bytecode compiled code and allows for the creation of graphic control widgets as well as a foreign function interface for tapping into external code libraries and OS APIs!
I'd been focusing a LOT on learning LCB which has been difficult because LCB itself is still a work in progress, so I've occasionally found myself filing bug reports or working out things only to find something isn't yet implemented. Still I've managed to create a series of GUI widgets, wrap some foreign code libraries like (HIDAPI, FluidSynth), as well as tap into OS APIs (CoreMIDI, CoreAudio, AVMedia frameworks).
All of my work has been open source with the hope that this work would encourage other users to explore the great possibilities that things like Builder enables. I've used these to create musical apps and toys to explore music theory and any so other xTalk scripter could too! You can use this work to learn Builder or script them as-is for some purpose I never even imagined!
I've done this in my very limited spare time, with no personal financial benefit. I've mostly used the Community Edition of LiveCode. I don't have a commercial license, and with two sons in college, I can't really afford to buy one. I would like to get funding to purchase the Indy edition ($499/year), a paid Apple Developer Account ($99/year), and a Google Developer Account (a one time fee).
On Sept. 1st 2021 LiveCode Ltd suddenly completely dropped support for the GPLv3 licensed "Community Edition" forcing users to make a decision to either sign up for a costly monthly subscription service with apps that are DRM'd and tethered to your LC account. The new licensing plans did not sit well with me, not only for personal reasons, but because I think it's the wrong move for the future of xTalk (xTalk is a generic name for HyperTalk 'inspired' scripting languages, of which LiveCode Script is one).
So I've decided to continue the work on the free (GPLv3 licensed) LC Community Edition as a fork called "OpenXTalk". This has been my main focus since then. In the 3 months I've worked on it the work has centered around the ( legal obligation ) 'debranding' of the IDE's many components. I have made the IDE distinctly different from the LC "mothership" commercial offerings. This involves at LOT of work going through images and editing IDE stack files. I've made a few fixes and visual enhancements along the way. For example, I've partially implemented 'darkMode', which uses one of my Builder libraries for native dark GUI elements on macOS. I've set up 'OpenXTalk IDE' on installs on all 3 supported desktop platforms (Mac'BigSur', Win 10, Xubuntu). As another example, I've updated the 'Resource Center" stack that hadn't been updated in more then a decade! I've expanded the dictionary to reveal syntax used by the IDE itself. I've resigned and edited metadata for the main binaries so that they're identified as a separate app to coexist with LiveCode installations. I plan to recompile the main 'Engine' binaries from source at some point. A small community has been forming with a few other like minded scriptures pitching in to help. We have a forum set up at: forums.openxtalk.org..
Our goal is to maintain, expand on, and keep available a free and open source xTalk scripting development environment that anyone can use regardless of their personal circumstances. To that end there will likely be multiple sub-projects. For example I worked on a new, text (XML) based stack format that encapsulates a complete stack representation in a way that is compatible with source versioning software (GitHub). This new format has various use cases beyond version control; package management and as a template system are examples.
1 sponsor has funded PaulMcClernan’s work.
Featured work
-
PaulMcClernan/OpenXTalk-XYEditGrid-WidgetShell
OXT XYEditGrid Widget Shell, the work in progress basis for several other widgets that I'm working on
-
PaulMcClernan/OpenXTalk-macOS-Native-App-Tools
OXT Builder Bindings for macOS Cocoa/AppKit APIs
-
PaulMcClernan/OpenXTalk-Piano-Widget
OpenXTalk Builder Graphical Piano Keyboard Widget
-
PaulMcClernan/OpenXTalk-Apple-CoreMIDI
OpenXTalk Builder FFI Wrapper for Apple's CoreMIDI
-
PaulMcClernan/OpenXTalk-AppleAVMidiPlayer
OXT Builder FFI Wrapper for Apple's AVMIDIPlayer
-
PaulMcClernan/OpenXTalk-FluidSynth
OXT Builder Wrapper for libFluidSynth, a cross platform, open source, musical sound sample playing virtual instrument
C