Posted on

HEXEN MIDI Module Returns

Many people were upset when MIDI was temporarily disable in version 2, understandably as it was a lovely little module. It was an unfortunate necessity as much changed under the hood in the new V2.

We’ve worked hard to restore it and finally succeeded in version 2.25.

The new MIDI module is even better than the old, now incorporating velocity CV for output and also pitch bend data for input. The pitch bend can be applied to CV or not, it’s up to you.

Posted on

HEXEN V2 Released

Hexen, our modular synthesizer was updated to version 2.0 recently:
Here’s the version 2 release history up to the latest stable release:

< V2 .26 >
Restored: Menu position left or right option.
Bugfix: MIDI module could not be destroyed and recreated without losing midi connection.

< V2 .25 >
User manual updated.
New HXN rack loading screen.
The MIDI module has returned, now with pitch bend CV.
Added DEMO_16 for testing the MIDI module.
New experimental MIC module.
Various 3D graphics optimizations.
Bugfix: File browser missing files on first open.
Bugfix: Double clicking keyboards did not zoom in.
Bugfix: Devices in Euro regions saved XML numbers with commas.
Bugfix: Touch fast taps read as too many taps.

< V2 .24 >
Enhancement: Improved boot up loading screen.
Enhancement: Improved module 3D graphics.
Enhancement: Improved user menu 2D graphics.
Enhancement: Added proper file handling dialogs for all load and save functions.
Enhancement: Tweaked some demo tracks a little.
In Progress: New MIC module, choose any mono or stereo microphone on your system.

< V2 .23 >
In Progress: MIDI module has had some native back end code added.

< V2 .22 >
Bugfix: Loading was stalling at 76% on some devices.
Bugfix: Errant double clicks when tapping numeric controls on some devices.
Bugfix: Upgraded status not recognized offline on some devices.
Bugfix: MUX module had paths 1 & 3 swapped.
Built package now includes X86-64 binary for Chromebook compatibility.
Increased max Android API level to 14.

< V2 .21 >
Fixed errant double clicks when tapping numeric controls on some devices.
Fixed upgraded status not recognized offline on some devices.
Fixed MUX module had paths 1 & 3 swapped.
Added main menu button to close Hexen.
Built package now includes X86-64 binary for Chromebook compatibility.
Increased max Android API level to 14.

< V2 .20 >
Loading last rack on startup is now an option (defaults to off).
Log Text button moved to top level menu.
Tweaked DEMO_15.

< V2 .19 >
Trying to fix rack loading hang on some devices (bad module position parse will fall back to sequential module stacking).

< V2 .18 >
Added DEMO_15.
Added new “Log Text” button in settings menu.
Fixed some underlying logging code that was found to be not totally thread safe.

< V2 .17 >
Trying to fix rack loading hang on some devices (wire bezier list functions changed).
Upgraded status now recognized when offline.

< V2 .16 >
Trying to fix startup hanging on some devices.

< V2 .15 >
Trying to fix startup hanging on some devices.
In MODULES object code, changed system scoped mutexes to app scoped object locks.

V2.14
< V2 .14 >
Double click module zooming now uses range you choose on slider.
Added loading percentage counter.
All texture atlases limited to 2048.
All graphics now use OpenGLES3.
Tweaked DEMO_13.
Tweaked DEMO_14.

< V2 .13 >
Double click module zooming now uses range you choose on slider.
Added loading percentage counter.
All texture atlases limited to 2048.
All graphics now use OpenGLES3.
Tweaked DEMO_13.
Tweaked DEMO_14.

< V2 .12 >
Improved graphics.
Added new demo (DEMO_14).
Made module textures hi-res.
UI now defaults to right handed mode on new installs.
Shaders now preloaded on boot up.

< V2 .11 >
Improved button graphics.
Added new demo (DEMO_13).
Fixed 2D theme (went invisible in V2.10).
Made rack texture resolution hi-res (again).
Various other graphics tweaks.

< V2 .10 >
Small dark text labels on LED buttons restored.

< V2 .09 >
Render speed increased with better GPU batching.
SCOPE module fixed line drawing shader (was pink and half missing).
Camera distance range reduced to prevent Z fighting when zooming.

< V2 .08 >
After adding a new module the menu system is now closed automatically.
MIDI crashes on some phones, MIDI module disabled while we find a fix.
LCD text in controls pushed forward slightly to prevent Z fighting when zooming out.
Reduced boot up time.
Main rack texture resolution increased back to 4096 square.
Added new demo (DEMO_12).

< V2 .07 >
Changed min/max android APIs to 26/33 to fix midi bluetooth crash on some devices.
Refined pinch/zoom to be smoother (still room for improvement).

< V2 .06 >
Removed location permission requirements.
Reduced minimum compatibility to Android 7.1 Nougat (API 25).
Reduced rack texture resolution to prevent crash on low RAM devices.

< V2 .03 >
Updated to Android 14 (API 34).
Offline registration.
Improved graphics.
Faster core DSP routing.
Zoom and scroll with pinch gesture.
Theme and color now separate options.
New button to quickly add module.
When adding a new module it will be placed near last touched module if possible.
When deleting a module patch cables will be added to replace the deleted module if possible.
HEX Mixer CV inputs now normalized 0…1 and multiplied with slider value (before were added).
RADIO module now always uses SSL connection over HTTPS.

Posted on

Slow Shipping to Europe

We’ve noticed that all of the #IOTA Watches shipped from Silicon Droid in Canada to Europe are experiencing relatively long delays. These delays seem to be happening to many overseas parcels entering Europe. We were surprised to see parcels getting to South Korean customers without delay. We checked all of the tracking info and it all seems OK, just delayed, so sit tight and enjoy your watches when they arrive, thanks again for your order!

Posted on

Interactive NFT concept (INFT)

What are INFTs?

Imagine Interactive NFT pet dogs that were 3D Tamagotchi, with interactive animations and audio, that’s far more fun than a regular NFT! Owners of such INFT pets could watch them explore their virtual cages, could pet them, feed them etc.

Requirements

INFTs must load within 3 seconds, preferably within 2, nobody wants to wait for their INFT to load up. Making INFTs load quickly is also environmentally friendly as it requires less data to be transmitted over the internet: the engine core binary data must be small: <~ 5MB, preferably <~2MB

INFTs must run smoothly, with a frame rate: >= 30Hz, preferably >= 60Hz.

INFTs must be viewable in all popular browsers running on all popular OSs. No browser plugins should be required. You send the link to anyone and that person should simply click on it to view the INFT.

INFTs of the same type shall use the same engine core stored on the server. For example an INFT pet dog range could procedurally spawn a million dogs using the same few megabytes of engine core data stored on the server.

Each INFT owner would be given a unique URL like: www.website.com/nft/IJdgktVekkCBjY3ai6j4y. The unique 128 bit code on the end prevents anyone without the URL from viewing the NFT. The 128bit code is read by the INFT when it starts running.

The INFT loads a small (<~1KB) metadata file from the server whose filename contains the 128 bit code. That metadata can specify a number of unique attributes for the INFT, like the owners name, the genome of a virtual pet etc. This means that a million dogs would only require a million metadata files (<~1GB).

The core engine binary data will be cached by the users browser, this means that after a user has viewed one dog, they only need to download the metadata to view another dog, this has the added advantage of reducing loading times greatly after first viewing.

Some persistent state of an INFT may be stored as cookie data in the client browser. This would be perfect for storing things like viewing preferences of artwork etc. It (cookies) is a very attractive solution because it scales without central server impacts.

NOTE: Local cookie storage would not be perfect for a pet dog state, because every different browser instance would have a different dog state, but it would still be fun, and from the perspective of a single browser would be consistent and solid.