|
@@ -1,15 +1,15 @@
|
|
|
|
|
|
# Table of Contents
|
|
|
|
|
|
-1. [Modmark](#org0b1d179)
|
|
|
- 1. [Current Status and Goals](#orgd73848c)
|
|
|
- 2. [Purpose](#orgb91e197)
|
|
|
- 3. [Syntax](#org899a6d3)
|
|
|
- 1. [A Module File](#org1c23079)
|
|
|
- 2. [A Patch](#orgd896ed4)
|
|
|
+1. [Modmark](#org3315e91)
|
|
|
+ 1. [Current Status and Goals](#org9a3029e)
|
|
|
+ 2. [Purpose](#orgbde233a)
|
|
|
+ 3. [Syntax](#org47e5981)
|
|
|
+ 1. [A Module File](#org6619c61)
|
|
|
+ 2. [A Patch](#orgefc3c3a)
|
|
|
|
|
|
|
|
|
-<a id="org0b1d179"></a>
|
|
|
+<a id="org3315e91"></a>
|
|
|
|
|
|
# Modmark
|
|
|
|
|
@@ -19,7 +19,7 @@ In future, this scope may be expanded to make available a language for describin
|
|
|
data routing across a wide array of devices.
|
|
|
|
|
|
|
|
|
-<a id="orgd73848c"></a>
|
|
|
+<a id="org9a3029e"></a>
|
|
|
|
|
|
## Current Status and Goals
|
|
|
|
|
@@ -34,7 +34,7 @@ A rough road map looks something like:
|
|
|
- [ ] Develop libraries for as many modules as possible
|
|
|
|
|
|
|
|
|
-<a id="orgb91e197"></a>
|
|
|
+<a id="orgbde233a"></a>
|
|
|
|
|
|
## Purpose
|
|
|
|
|
@@ -53,88 +53,21 @@ modules yourself. Modmark aims to offload this task by having the community desc
|
|
|
to do that work again the next time we'd like to use it in a patch.
|
|
|
|
|
|
|
|
|
-<a id="org899a6d3"></a>
|
|
|
+<a id="org47e5981"></a>
|
|
|
|
|
|
## Syntax
|
|
|
|
|
|
|
|
|
-<a id="org1c23079"></a>
|
|
|
+<a id="org6619c61"></a>
|
|
|
|
|
|
### A Module File
|
|
|
|
|
|
- # A module spec
|
|
|
- Manufacturer: MakeNoise
|
|
|
- Module: Maths
|
|
|
- Revision: null
|
|
|
- - Input: Slew1
|
|
|
- - Input: Slew2
|
|
|
- - Input: Trig1
|
|
|
- - Input: Trig2
|
|
|
- - Input: Attenuveter1
|
|
|
- -- Position: [1-12]
|
|
|
- - Input: Attenuveter2
|
|
|
- -- Position: [1-12]
|
|
|
- - Input: Attenuveter3
|
|
|
- -- Position: [1-12]
|
|
|
- - Input: Attenuveter4
|
|
|
- -- Position: [1-12]
|
|
|
- - Input: Rise1
|
|
|
- -- Position: [1-12]
|
|
|
- - Input: Rise2
|
|
|
- -- Position: [1-12]
|
|
|
- - Input: Both1
|
|
|
- - Input: Both2
|
|
|
- - Input: Fall1
|
|
|
- -- Position: [1-12]
|
|
|
- - Input: Fall2
|
|
|
- -- Position: [1-12]
|
|
|
- - Input: Cycle1
|
|
|
- - Input: Cycle2
|
|
|
- - Knob: LogExp
|
|
|
- -- Position: [1-12]
|
|
|
- - Button: Cycle1
|
|
|
- - Button: Cycle2
|
|
|
- - Output: 1f
|
|
|
- - Output: 1
|
|
|
- - Output: 2
|
|
|
- - Output: 3
|
|
|
- - Output: 4
|
|
|
- - Output: 4f
|
|
|
- - Output: Or
|
|
|
- - Output: Sum
|
|
|
- - Output: Inv
|
|
|
- -- Position: [1-3]
|
|
|
-
|
|
|
-
|
|
|
-<a id="orgd896ed4"></a>
|
|
|
+[Make Noise Maths](./module_lib/maths.module)
|
|
|
+
|
|
|
+
|
|
|
+<a id="orgefc3c3a"></a>
|
|
|
|
|
|
### A Patch
|
|
|
|
|
|
-See the below example of a "Hello World" type patch:
|
|
|
-
|
|
|
- # A comment
|
|
|
-
|
|
|
- # The title of the patch
|
|
|
- Title: Foo
|
|
|
-
|
|
|
- # The directory to look for module files
|
|
|
- ModuleDir "/home/swatson/Repos/modmark/"
|
|
|
-
|
|
|
- # Modules to use in this patch
|
|
|
- import Module::Foobar::FooMod
|
|
|
- import Module::MakeNoise::Maths
|
|
|
-
|
|
|
- # Sets. These are used to indicate setting
|
|
|
- # particular module attriubtes in accordance with
|
|
|
- # the module definition
|
|
|
- set Maths.Cycle1 = on
|
|
|
- set Maths.Rise1.position = 7
|
|
|
- set Maths.Fall1.position = 1
|
|
|
- set Maths.LogExp.position = 5
|
|
|
-
|
|
|
- # Connects. These are used to indicate data flow.
|
|
|
- # Connects are always defined left to right. The
|
|
|
- # below line connects the Function1 output of Maths
|
|
|
- # to a FooInput on FooModule, as imported above
|
|
|
- connect Maths.1f FooMod.FooInput
|
|
|
+[Example Patch](./patches/example.modmark)
|
|
|
|