electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
go to the radio page Live at electro-music.com radio 1 Please visit the chat
  host / artist show at your time
today> Twyndyllings LIve Chez Mosc
 Forum index » Artists » HrastProgrammer
Tranzistow Embedded Synthesizer Interface
Post new topic   Reply to topic Moderators: HrastProgrammer
Page 1 of 1 [1 Post]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
HrastProgrammer



Joined: Oct 16, 2008
Posts: 314
Location: CPU
Audio files: 79

PostPosted: Tue Aug 17, 2021 6:08 am    Post subject: Tranzistow Embedded Synthesizer Interface Reply with quote  Mark this post and the followings unread

From build 16.08.2021/1 on, the download package contains two additional DLLs with embedded GUI-less Tranzistow version which can be loaded by a 3rd-party plugin and contains all functionality to control Tranzistow from other programs.

Some history first ... A few years ago, when I started working as a programmer for Gamepires (https://gamepires.com/) on their SCUM game (https://gamepires.com/games/scum/), I developed a small 64-bit game to test Unreal Engine 4. It was a simple 3D Breakout game where you could hit bricks by a ball on a horizontal surface with a paddle on the side towards the player and walls on other 3 sides. Each hit produced a different sound depending on the type of object and I immediately came to the idea to try to use Tranzistow for those sounds in realtime. So I developed an interface to control Tranzistow from outside. It was a regular 64-bit versions with added procedures/functions which remained functional to this day but I never documented them and no one (except me) ever used this functionality.

Now I decided to push this to the next level and developed a totally GUI-less Tranzistow, stripped of all user interface functionality and dependencies on any visual control library. Beside existing functions, I also added the new ones for setting/getting values of all Tranzistow parameters etc. All this has now been included in Tranzistow32E.dll and Tranzistow64E.dll which cannot be loaded into the host directly and host won't recognize them when scanning VST plugins. But Hrastow can load them and if you load an existing Hrastow/Tranzistow project it will play just fine, only without any user interface. The engine remains closed and the programmer doesn't have access to any internal structures and objects. The embedded synthesizer contains an internal virtual non-visual editor which has all functionality of the regular editor and takes care of all parameter changes, patch loading/saving, etc. The programmer only needs to send parameter changes and the embedded engine will take care of the rest. All parameters can be accessed by names or indexes but only names are exposed because indexes can change between versions and builds (they won't change during the session, of course). If you want to uses indexes to address the parameters you first to need the acquire the index for a particular parameter by using a dedicated function. Both patch and multi params are accessible in the same way.

The list with all Tranzistow parameters (including their types and minimum/maximum values) is here:

http://www.hrastprogrammer.com/hrastwerk/download/TWParams.txt

Extended ranges are in parenthesis. Multi params for all 8 parts are at the end of the list. Ignore params starting with * because those are just section placeholders for easier navigation.

The complete reference, description and my test program to demonstrate this functionality can be found in the "Developers Area" towards the end of Tranzistow PDF:

http://www.hrastprogrammer.com/hrastwerk/download/Tranzistow.pdf

I think this is enough for anyone with the knowledge needed for plugin development to understand how it works. This is a preliminary specification. I may add additional functionality if/when needed.

Very important: Anyone is free to use this to develop a GUI plugin for Tranzistow, be it open source or closed source, providing that you don't sell it commercially. In case of open source you have to choose the license which allows loading of closed source software components/libaries. I am still asking for the donation if you use Tranzistow, doesn't matter if you use GUI or GUI-less versions. GUI plugin developer can ask for a donation as well. In case of commercial projects the usage of this interface is not free and I am asking for my share. Contact me to negotiate the deal before starting anything!

_________________
http://www.hrastprogrammer.com/hrastwerk/
http://hrastprogrammer.bandcamp.com/
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Moderators: HrastProgrammer
Page 1 of 1 [1 Post]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Artists » HrastProgrammer
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use