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

From ZynthianWiki
Jump to navigation Jump to search
Line 17: Line 17:
 
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 ==
+
=== LV2 plugins ===
  
 +
If you plan to integrate a software which is a LV2 plugin, you only need to copy the data into /zynthian/zynthian-plugins/lv2 and if you like you can create a nice [http://wiki.zynthian.org/index.php/Zynthian_modgui_Guide MODGUI].
 +
 
== Write the engine ==
 
== Write the engine ==
  

Revision as of 09:40, 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.1.1 LV2 plugins

If you plan to integrate a software which is a LV2 plugin, you only need to copy the data into /zynthian/zynthian-plugins/lv2 and if you like you can create a nice MODGUI.

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)