Difference between revisions of "Creating a new Zynthian Synth Engine"

From ZynthianWiki
Jump to navigation Jump to search
(Created page with "= Creating a Zynthian engine = == Prerequirements == Before starting to build your own engine you have to satify some facts: * You need to know how to program in [https://www....")
 
Line 13: Line 13:
 
* Your software does not need a GUI. The controlling of your software should completely done via command-line/config-files/[https://en.wikipedia.org/wiki/Musical_Instrument_Digital_Interface MIDI]/[https://en.wikipedia.org/wiki/Open_Sound_Control OSC]. If there is only a GUI control it may be impossible to write an engine.
 
* Your software does not need a GUI. The controlling of your software should completely done via command-line/config-files/[https://en.wikipedia.org/wiki/Musical_Instrument_Digital_Interface MIDI]/[https://en.wikipedia.org/wiki/Open_Sound_Control OSC]. If there is only a GUI control it may be impossible to write an engine.
 
* VST instruments are currently not supported! The only plugin format you can use is currently LV2 (inside MOD-UI engine).
 
* VST instruments are currently not supported! The only plugin format you can use is currently LV2 (inside MOD-UI engine).
 +
* If you don't use a LV2 plugin, your software has to use [http://www.jackaudio.org/ JACK] as audio-server.
  
 
Ok, if you have read until this line and you are not already shocked from the prerequirements you should share your idea with the [https://discourse.zynthian.org/ Zynthian-Forum]. Perhaps some more hints and spoilers can help for your project.
 
Ok, if you have read until this line and you are not already shocked from the prerequirements you should share your idea with the [https://discourse.zynthian.org/ Zynthian-Forum]. Perhaps some more hints and spoilers can help for your project.
 +
 +
== LV2 plugins ==
  
 
== Write the engine ==
 
== Write the engine ==

Revision as of 09:38, 14 February 2018

1 Creating a Zynthian engine

1.1 Prerequirements

Before starting to build your own engine you have to satify some facts:

  • You need to know how to program in Python3.
  • Some ideas about Git, GitHub (including an account) and how to clone, branch, pull, creating push requests are very useful.
  • You should have some experience with using Zynthian to understand the workflow.
  • You should have some ideas about working with Linux/Unix.

Before you start, check if your desired software for the engine would work with Zynthian:

  • You need a binary/LV2-plugin compiled for the Raspberry (ARM7-architecture - NOT i386 or AMD!!!)
  • If you can get the source-code: nice! You have to write an installation script for compiling and installing, so you also need knowledge about shell-programing and compiler-tools (gcc, make, ...)
  • Take a look at the license!!! It makes no sense if you write lots of code and don't find a way to license the software for working with Zynthian. Perhaps you also have to think about a way to get a license-key for your software into the system.
  • Your software does not need a GUI. The controlling of your software should completely done via command-line/config-files/MIDI/OSC. If there is only a GUI control it may be impossible to write an engine.
  • VST instruments are currently not supported! The only plugin format you can use is currently LV2 (inside MOD-UI engine).
  • If you don't use a LV2 plugin, your software has to use JACK as audio-server.

Ok, if you have read until this line and you are not already shocked from the prerequirements you should share your idea with the Zynthian-Forum. Perhaps some more hints and spoilers can help for your project.

1.2 LV2 plugins

1.3 Write the engine

1.3.1 The filesystem structure

1.3.2 Files to touch/generate

1.3.3 How to test

1.3.4 How to get the software into Zynthian(-master)