Difference between revisions of "Developers"
Line 1: | Line 1: | ||
The MOD Duo as of today (release 1.1) runs Linux, version 3.4, with realtime patch.<br> | The MOD Duo as of today (release 1.1) runs Linux, version 3.4, with realtime patch.<br> | ||
− | JACK runs inside as audio backend, with mod-host loading each LV2 plugin as a new JACK client.<br> | + | ALSA is used for the audio driver. JACK runs inside as audio server backend, with mod-host loading each LV2 plugin as a new JACK client.<br> |
SSH is open by default, user 'root' and password 'mod'.<br> | SSH is open by default, user 'root' and password 'mod'.<br> | ||
− | |||
There's no X11 or any other kind of graphical interface. In fact, X11 libs are not even available. | There's no X11 or any other kind of graphical interface. In fact, X11 libs are not even available. | ||
Line 18: | Line 17: | ||
This means <unistd.h>, <pthread.h> and <stdlib.h> for example. | This means <unistd.h>, <pthread.h> and <stdlib.h> for example. | ||
− | For more information see: | + | For more information see: |
− | + | * https://www.kernel.org/doc/man-pages/ | |
− | + | * http://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html | |
== JACK == | == JACK == | ||
Line 27: | Line 26: | ||
Developers can create JACK clients to interact with the audio data directly (without being managed by the plugin host).<br> | Developers can create JACK clients to interact with the audio data directly (without being managed by the plugin host).<br> | ||
− | For more information see: | + | For more information see: |
− | + | * http://jackaudio.org/api/index.html | |
NOTE: As of release 1.1, MOD Duo uses JACK2. | NOTE: As of release 1.1, MOD Duo uses JACK2. | ||
Line 37: | Line 36: | ||
− | For more information see: | + | For more information see: |
− | + | * http://lv2plug.in/pages/developing.html | |
− | + | * http://moddevices.com/ns/mod/ | |
− | + | * http://moddevices.com/ns/modgui/ | |
+ | |||
+ | == Devices Support == | ||
+ | |||
+ | * Several MIDI USB devices | ||
+ | * Arduino running MocoLufa firmware (to create midi-controllers) | ||
+ | * Playstation 3 and 4 Controllers | ||
+ | * Guitar Hero Controller (Red Octane XBOX controller) | ||
+ | |||
+ | == Hardware Specification == | ||
+ | |||
+ | '''CPU:''' | ||
+ | * Dual Core ARM A7 1.0GHz | ||
+ | * 4GB Flash Storage, 1GB RAM | ||
+ | |||
+ | '''AUDIO CODEC:''' | ||
+ | * Cirrus Logic, 24 bit / 48 kHz AD/DA | ||
+ | * DAC/ADC: 104dB Dynamic Range. -90dB THD+N | ||
+ | |||
+ | '''CONTROLLER:''' | ||
+ | * 2 knobs with LCD screen | ||
+ | * 2 foot switches with color LEDs | ||
+ | |||
+ | '''I/O CONNECTIONS:''' | ||
+ | * MIDI IN/OUT – Standard DIN 5 pins | ||
+ | * Control Chain – RJ45 connector – for additional controllers | ||
+ | * USB HOST – USB 2.0 Standard-A type, supporting: USB Bluetooth, USB Wifi, USB MIDI | ||
+ | * USB DEVICE – USB 2.0 Standard-B type, supporting: USB Ethernet Connection |
Revision as of 09:32, 26 September 2016
The MOD Duo as of today (release 1.1) runs Linux, version 3.4, with realtime patch.
ALSA is used for the audio driver. JACK runs inside as audio server backend, with mod-host loading each LV2 plugin as a new JACK client.
SSH is open by default, user 'root' and password 'mod'.
There's no X11 or any other kind of graphical interface. In fact, X11 libs are not even available.
The CPU is cortex A7, running at constant 912MHz.
The default compile flags are:
-mcpu=cortex-a7 -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -mvectorize-with-neon-quad
For aggressive optimization, add these:
-ffast-math -fprefetch-loop-arrays -funroll-loops -funsafe-loop-optimizations
Linux
Being Linux, developers have access to UNIX and POSIX APIs.
This means <unistd.h>, <pthread.h> and <stdlib.h> for example.
For more information see:
- https://www.kernel.org/doc/man-pages/
- http://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html
JACK
Also known as Jack Audio Connection Kit, is the audio server running inside the MOD.
Developers can create JACK clients to interact with the audio data directly (without being managed by the plugin host).
For more information see:
NOTE: As of release 1.1, MOD Duo uses JACK2.
LV2
Audio and MIDI plugins in MOD Duo are done in LV2 format.
For more information see:
- http://lv2plug.in/pages/developing.html
- http://moddevices.com/ns/mod/
- http://moddevices.com/ns/modgui/
Devices Support
- Several MIDI USB devices
- Arduino running MocoLufa firmware (to create midi-controllers)
- Playstation 3 and 4 Controllers
- Guitar Hero Controller (Red Octane XBOX controller)
Hardware Specification
CPU:
- Dual Core ARM A7 1.0GHz
- 4GB Flash Storage, 1GB RAM
AUDIO CODEC:
- Cirrus Logic, 24 bit / 48 kHz AD/DA
- DAC/ADC: 104dB Dynamic Range. -90dB THD+N
CONTROLLER:
- 2 knobs with LCD screen
- 2 foot switches with color LEDs
I/O CONNECTIONS:
- MIDI IN/OUT – Standard DIN 5 pins
- Control Chain – RJ45 connector – for additional controllers
- USB HOST – USB 2.0 Standard-A type, supporting: USB Bluetooth, USB Wifi, USB MIDI
- USB DEVICE – USB 2.0 Standard-B type, supporting: USB Ethernet Connection