Creating a new Zynthian Synth Engine

From ZynthianWiki
Revision as of 09:19, 14 February 2018 by Wirtz (talk | contribs) (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....")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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).

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 Write the engine

1.2.1 The filesystem structure

1.2.2 Files to touch/generate

1.2.3 How to test

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