Skip to content

OpenXTalk IDE 1.963.1RC4

Pre-release
Pre-release
Compare
Choose a tag to compare
@PaulMcClernan PaulMcClernan released this 01 Sep 04:04
· 34 commits to OpenXTalk-develop-1.963.1 since this release

I've decided that, since my intention is for OpenXTalk to be an unending project that will hopefully still exist long after I'm gone and will therefore be under continuous development, I will just start releasing whatever is done at a regular interval. Shooting for around three or perhaps six month intervals. This latest release is being called 'OpenXTalk IDE 1.963.1RC4' but I now think it may be a good idea to tag releases as a date or similar, something like Fall 2023.

This IDE versions is being released now as a way to mark the second anniversary of the creation of the OpenXTalk IDE, spawned by the announcement that GPLv3 'Community Edition' of LiveCode would no longer be supported by 'the mother ship' on Aug 31st 2021.

The majority of changes have been done within the IDE and so for the majority of the changes the source code is already included within the IDE and (mostly) programmed in its own xTalk script. The rest of the (mostly C++) source, including changes to the Syntax Dictionary markup files, are available in the Engine(s) Repo on GitHub.

Along with some general fixes and 'debranding' and modifications to the syntax dictionary, OpenXTalk includes modifications and additions compared to the last LiveCode Community Edition (9.6.3) release.

Some recent notable changes since the previous release candidate (1.963.1RC3) :

The global $PATH variable now gets the path /usr/local/bin/ appended to it, which enables easier access to user or package manager installed command line tools on the system. This is typically the directory that package tools such as 'Homebrew' (currently the most popular package manager for macOS) or LinuxBrew installs commands into. This simple change enables easier use by eliminating the need to include a full file path when calling the binary from xTalk script 'open process' or the shell() function, enabling more convenient experimentation with the vast array of productive CLI tools available from the open source community, such as the venerable FFMPEG for manipulating multimedia files.

This version includes the 'General Music' script library which, among other things, should allow for scripted 'playSentence' textual musical composition via the command 'playPMD' on all desktop platforms (not yet tested on mobile devices). This library can use several methods for MIDI playback, such as the included FluidSynth extensions. Currently the library will automatically try to use the best available playback engine for the current OS, on macOS this is set to AVMIDIPlayer, on Windows and Linux this is currently the FluidSynth extension.

A small and basic general MIDI soundfont is now included with the FluidSynth Extension (removing all of the others that were previously in its resources directory) as a fallback if no sound bank is found in the operating system. Additionally the General Music Library includes a very small soundfont of the three sounds that came with the xTalk progenitor HyperCard.

For macOS a library has been added called 'AppleImage' library, This enables access to 'NSNamedImage's, Apple's 'SF Symbols' Icon set and other assets built into macOS, as well as adding the capabilities to apply CoreImage filters to image data, convert between images formats, and import image formats that are not 'native' to the xTalk Engine such as .TIF or .PSD files. Additionally the macOS Native Tools library now includes handlers for retrieving and applying image data as custom icons on files or folder.

A new OXT SVG icons library extension is included, along with a new OXT IDE icon set and a few popular SVG Glyph collections from various open source Icon projects. In particular, version 4.0 of the popular 'Material Design' SVG Icon set is included making and additional 6000+ SVG icons available for use in your xTalk projects. The library can load additional external sets provided they are reformatted into the .tsv (tab separated values) format that it expects. There is a stack that can convert '-webfoot.svg' formatted glyphs to a tabbed data file.

To make it easier to find the SVG Icons that fit your project, a new SVG Glyph Browser palette has been added to the IDE. Simply drag the Icon into your stack to import the Icon attached to an instance of the basic SVG Icon widget.

To make it easier to colorize your SVG Icons or any other control object to your liking, a new Color Swatch palette has been added to the IDE. Currently it includes two color swatch sets, an xTalk-named colors set, and a for web developers a CSS v2 color set is included. Color values can be copied by clicking on them and colors can be applied to Objects with Drag-Dropping a swatch from the list.

There are a few changes and additions for working with to Graphics Objects and SVG Path strings. There's now menu option for copying selected graphics objects as a basic SVG Path String. There's now a Drawing Board, Widget which allows for drawing of arbitrary simple SVG Paths, which could be useful for things like Handwriting and Signature input.

A few other pre-existing community Widget extensions have been added to the IDE, for things like sliders, pie-charts, checkboxes, etc. A goal will be to eventually replace or augment all of the 'classic' UI controls with Scalable vector-path based Widget controls based on those controls.

The faux 'darkMode' that was added should no longer be the default on Windows. Windows 10 window frames and menus still display as 'lightMode' and the combination just didn't look very good (but you can still try it out from the Preferences stack). Several IDE palettes that were assigned slight transparency for a more 'modern' look similar to recent versions of macOS, have been reverted to opaque due to strange behaviors for transparent windows on Windows 10.

Despite the additions above this release is smaller in file-size than the previous release (less 100MB for Mac DMG). This is due in large part to removing duplicates / old versions of IDE files and other unnecessary content, further pruning to come.