1schema_version: 0.3
2type: filter
3identifier: dance
4title: Dance
5version: 1
6copyright: Meltytech, LLC
7license: LGPLv2.1
8language: en
9tags:
10  - Video
11description: >
12  An audio visualization filter that moves the image around proportional to the
13  magnitude of the audio spectrum.
14
15parameters:
16  - identifier: frequency_low
17    title: Low Frequency
18    type: integer
19    description: >
20      The low end of the frequency range to be used to influence the image
21      motion.
22    mutable: yes
23    readonly: no
24    default: 20
25    unit: Hz
26
27  - identifier: frequency_high
28    title: High Frequency
29    type: integer
30    description: >
31      The high end of the frequency range to be used to influence the image
32      motion.
33    mutable: yes
34    readonly: no
35    default: 20000
36    unit: Hz
37
38  - identifier: threshold
39    title: Level Threshold
40    type: float
41    description: >
42      The minimum amplitude of sound that must occur within the frequency range
43      to cause the image to move.
44      motion.
45    mutable: yes
46    readonly: no
47    default: -30
48    minimum: -100
49    maximum: 0
50    unit: dB
51
52  - identifier: osc
53    title: Oscillation
54    type: float
55    description: >
56      Oscillation can be useful to make the image move back and forth during
57      long periods of sound.
58      A value of 0 specifies no oscillation.
59    mutable: yes
60    readonly: no
61    default: 5
62    minimum: 0
63    unit: Hz
64
65  - identifier: initial_zoom
66    title: Initial Zoom
67    type: float
68    description: |
69      The amount to zoom the image before any motion occurs. This can be used to
70      avoid black on the sides of the image when it moves.
71        100% = no zoom
72      < 100% = zoom out (make the image smaller)
73      > 100% = zoom in (make the image larger)
74    mutable: yes
75    readonly: no
76    default: 100
77    minimum: 0
78    maximum: 5000
79    unit: '%'
80
81  - identifier: zoom
82    title: Zoom
83    type: float
84    description: |
85      The amount that the audio affects the zoom of the image.
86      < 0% = Image will zoom out (get smaller) with more sound
87        0% = no zoom
88      > 0% = Image will zoom in (get larger) with more sound
89    mutable: yes
90    readonly: no
91    default: 0
92    minimum: -100
93    maximum: 100
94    unit: '%'
95
96  - identifier: left
97    title: Left
98    type: float
99    description: |
100      The amount that the audio affects the left offset of the image.
101        0% = no left offset
102      > 0% = Image will move left with more sound
103    mutable: yes
104    readonly: no
105    default: 0
106    minimum: 0
107    maximum: 100
108    unit: '%'
109
110  - identifier: right
111    title: Right
112    type: float
113    description: |
114      The amount that the audio affects the right offset of the image.
115        0% = no right offset
116      > 0% = Image will move right with more sound
117    mutable: yes
118    readonly: no
119    default: 0
120    minimum: 0
121    maximum: 100
122    unit: '%'
123
124  - identifier: up
125    title: Up
126    type: float
127    description: |
128      The amount that the audio affects the upward offset of the image.
129        0% = no upward offset
130      > 0% = Image will move up with more sound
131    mutable: yes
132    readonly: no
133    default: 0
134    minimum: 0
135    maximum: 100
136    unit: '%'
137
138  - identifier: down
139    title: Down
140    type: float
141    description: |
142      The amount that the audio affects the downward offset of the image.
143        0% = no downward offset
144      > 0% = Image will move down with more sound
145    mutable: yes
146    readonly: no
147    default: 0
148    minimum: 0
149    maximum: 100
150    unit: '%'
151
152  - identifier: clockwise
153    title: Clockwise
154    type: float
155    description: |
156      The amount that the audio affects the clockwise rotation of the image.
157        0% = no clockwise rotation
158      > 0% = Image will rotate clockwise with more sound
159    mutable: yes
160    readonly: no
161    default: 0
162    minimum: 0
163    maximum: 360
164    unit: degrees
165
166  - identifier: counterclockwise
167    title: Counterclockwise
168    type: float
169    description: |
170      The amount that the audio affects the counterclockwise rotation of the image.
171        0% = no counterclockwise rotation
172      > 0% = Image will rotate counterclockwise with more sound
173    mutable: yes
174    readonly: no
175    default: 0
176    minimum: 0
177    maximum: 360
178    unit: degrees
179
180  - identifier: window_size
181    title: Window Size
182    type: integer
183    description: >
184      The number of samples that the FFT will be performed on. If
185      window_size is less than the number of samples in a frame, extra samples
186      will be ignored. If window_size is more than the number of samples in a
187      frame, samples will be buffered from previous frames to fill the window.
188      The buffering is performed as a sliding window so that the most recent
189      samples are always transformed.
190    mutable: no
191    readonly: no
192    default: 2048
193