aboutsummaryrefslogtreecommitdiff
path: root/API.md
blob: 472312bbf9cd7168909e3220dba697632a5b7e1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Get list of plugins (ui -> dsp)
	a patch:Get ;
	patch:subject spod:stereo ;
	patch:property spod:pluginList .

# Set list of plugins (dsp -> ui)
	a patch:Set ;
	patch:subject spod:stereo ;
	patch:property spod:pluginList ;
	patch:value [
		a atom:Tuple ;
		rdf:value (
			<URI>
			<URI>
			<URI>
			<URI>
			<URI>
		)
	] .


# Get plugin properties (ui -> dsp)
	a patch:Get ;
	patch:subject <URI> .

# Set plugin properties (dsp -> ui)
	a patch:Put ;
	patch:subject <URI> ;
	patch:body [
		lv2:name "NAME" ;
		rdfs:comment "COMMENT" ;
	] .


# Get list of modules (ui -> dsp)
	a patch:Get ;
	patch:subject spod:stereo ;
	patch:property spod:moduleList .

# Set list of modules (dsp -> ui)
	a patch:Set ;
	patch:subject spod:stereo ;
	patch:property spod:moduleList ;
	patch:value [
		a atom:Tuple ;
		rdf:value (
			spod:module#1
			spod:module#3
			spod:module#2
		)
	] .


# Add module (ui -> dsp)
	a patch:Insert ;
	patch:subject spod:stereo ;
	patch:body [
		lv2:Plugin <URI> ;
	] .


# Get all module properties (ui -> dsp)
	a patch:Get ;
	patch:subject spod:module#1 .

# Set all module properties (dsp ->ui)
	a patch:Put ;
	patch:subject spod:module#1
	patch:body [
		lv2:Plugin <URI> ;
		spod:enabled true ;
		spod:visible true ;
		lv2:Port [
			a atom:Tuple ;
			rdf:value (
				spod:module1#symbol
				spod:module1#symbol
			)
		] ;
	] .


# Get individual module properties (ui -> dsp)
	a patch:Get ;
	patch:subject spod:module#1 ;
	patch:property rdfs:label .

# Set individual module properties (dsp -> ui)
	a patch:Set ;
	patch:subject spod:module#1 ;
	patch:property rdfs:label ;
	patch:value "LABEL" .


# Get port properties (ui -> dsp)
	a patch:Get ;
	patch:subject spod:module#1#symbol .

# Set port properties (dsp -> ui)
	a patch:Put ;
	patch:subject spod:module#1#symbol ;
	patch:body [
		rdf.value 0.5 ;
		spod:enabled true ;
		spod:visible true ;
		spod:sources [
			a atom:Tuple ;
			rdf:value (
				spod:module#3#symbol ;
				spod:module#3#symbol ;
			)
		]
	] .

# Set port value (ui <-> ui)
	a patch:Set ;
	patch:subject spod:module#1#symbol ;
	patch:property rdf.value ;
	patch:value 0.2 .