voicemeeter_api_ruby 2.0.4 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: feb89f841882b2ece4f1bc959c8a5a728a738b054798635d2937ff9dceacf37c
4
- data.tar.gz: 382ba6af1cde36e8b450d0549e383f9e6c68040d8385923ec8b2c413ddfc3d1b
3
+ metadata.gz: e855e458e3debb64c2fe076bcad06c73643f8750c60d9a719f1eb5bb95ab3886
4
+ data.tar.gz: 68a4ff2917b5f62a7e1846d09b9dff380e7e5991f6403fabf55e350ef99f65be
5
5
  SHA512:
6
- metadata.gz: 719e6d87cf5514dc7d759bdf15bf75ae32a533686894c172e4c1d4151dc2b7c480e8967a0d0d41a4187a0df2ff7f4094a3bc9520f86cf7f75c0604f00b711b7e
7
- data.tar.gz: 728b8458b2897592282c24b944a0d1a3dca0af14791c0c3c73a1d1eb474a9462f4f24eecd5aa3caad2fec024f111998dedac8e057b5d092f727a763feda6ab5e
6
+ metadata.gz: 8d9297aaf1dbc13b231f1aa0b3388f58b13ae5fcbfb630a4bb7bfdb4b6d29ea559ef3b58c7c2df2725d6dc7d16a0369549c2fa331caf128b3c784e63315cbcd0
7
+ data.tar.gz: a430dccd4348bc9d04ec2e54f6579d66df12227ff25d7d38577e979e88e1135ff68537346d8a6be9b67cd90b131bb43f6d58e1a7a91280ac14728c800e7990a1
data/CHANGELOG.md ADDED
@@ -0,0 +1,309 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ Before any major/minor/patch is released all unit tests will be run to verify they pass.
9
+
10
+ ## [Unreleased] - These changes have not been added to RubyGems yet
11
+
12
+ - [ ] add xy parameters to strip/bus
13
+
14
+ ## [4.1.0] - 2022-07-19
15
+
16
+ ### Added
17
+
18
+ - Conversion module in meta
19
+ - strip/bus levels implemented, ldirty added to notifications.
20
+
21
+ ### Changed
22
+
23
+ - 1, 0 switched for true false in example configs
24
+ - observer example updated.
25
+ - minor version bump
26
+
27
+ ### Removed
28
+
29
+ - Boolean class monkey patch
30
+ - type checks
31
+
32
+ ## [4.0.0] - 2022-06-27
33
+
34
+ ### Added
35
+
36
+ - type, version added to base class
37
+ - device class implemented
38
+ - TOMLStrBuilder added to config, builds a default reset config
39
+ - support for observers to subscribe to updates
40
+ - observer example added
41
+ - device, sr, sel added to bus
42
+ - audibility, bass, mid, treble added to strip
43
+
44
+ ### Changed
45
+
46
+ - common interface iremote defined
47
+ - configs reworked. configs are now loaded lazily.
48
+ - command.reset now applies reset config from toml parser.
49
+ - profiles dir renamed to configs
50
+ - major version bump due to non-backwards compatible changes
51
+
52
+ ## [3.0.0] - 2022-05-03
53
+
54
+ ### Added
55
+
56
+ - Added strip_levels, bus_levels to base class. They return the entire level array (before math conversion).
57
+ - Added fadeto, fadeby methods for strips/buses.
58
+ - Added appgain, appmute methods to Virtualstrip class
59
+ - Bus modes added to bus class.
60
+ - Gainlayers added to strip class.
61
+ - Added pre-commit.ps1 for git hook
62
+ - cdll proc object added to base class. This is now used to call a c dll function.
63
+ - hide method added to command class
64
+
65
+ ### Changed
66
+
67
+ - Kinds, Profiles moved into their own modules.
68
+ - Kind maps now defined as structs.
69
+ - Randomised unit tests. A single run may test any kind.
70
+ - Polling paramters now defined as single line endless functions
71
+ - Major version bump due to backwards incompatible changes. Ruby required version changed.
72
+
73
+ ### Fixed
74
+
75
+ - Minor delay added before logout, allow a final operation to complete.
76
+ - Polling function sped up, sync kwarg added.
77
+
78
+ ### Removed
79
+
80
+ - Removed bounds checking for certain strip/bus properties.
81
+
82
+ ## [2.0.4] - 2022-01-24
83
+
84
+ ### Added
85
+
86
+ - Ability to load config files in TOML format
87
+ - Add option to pass keyword arguments to Remote class.
88
+ - Voicemeeter.start added for starting voicemeeter independently of Remote class
89
+
90
+ ### Changed
91
+
92
+ - Use of VBVMR_RunVoicemeeter instead of open3 when starting voicemeeter.
93
+ - Functions in low level modules set to private.
94
+ - version 2.0.4 added to RubyGems.
95
+
96
+ ### Fixed
97
+
98
+ - Fix timing issue affecting macrobutton multi_set
99
+
100
+ ## [2.0.3] - 2022-01-20
101
+
102
+ ### Added
103
+
104
+ - runmany.ps1 added. easy access to many test runs with logging and summary file.
105
+ - link to official documentation in readme.
106
+ - section regarding lower level functions, setters, getters and polling functions added to readme.
107
+
108
+ ### Changed
109
+
110
+ - Adjustment to polling function, now accepts getter logic as a block. Param caching
111
+ now done in polling function
112
+ - Small delay added to setters, except for set_parameter_multi function.
113
+ - Added initialize to Remote class, building of class objects done now done in Remote.
114
+ - version 2.0.3 added to RubyGems.
115
+
116
+ ### Fixed
117
+
118
+ - Fixed an issue with the action type property meta function in Command class.
119
+ - Added ensure logout if block passed to run, will logout regardless of exception raised.
120
+
121
+ ## [2.0.2] - 2022-01-18
122
+
123
+ ### IMPORTANT
124
+
125
+ The code for this wrapper has been revised and reworked from the ground up. Earlier versions
126
+ are still available for download on RubyGems.org but that version will not be updated further.
127
+ Most of the updates documented here do not apply to version 2.0 onwards but will be kept for
128
+ reference use only.
129
+
130
+ All of the core features including strip, bus, macrobutton, recorder, vban and command classes
131
+ work exactly the same. An effort has been made to include every property previously available,
132
+ for each of those classes.
133
+
134
+ README is up to date with version 2.0.2 onwards.
135
+
136
+ ### Added
137
+
138
+ - Special command lock added
139
+ - showvbanchat chat is now a boolean function.
140
+ - Functions vmr.vban.enable and vmr.vban.disable for toggling VBAN now added.
141
+
142
+ ### Changed
143
+
144
+ - Each class for each of the core features has been put into its own module. Classes such as
145
+ strip, bus and vban are now subclassed into physical/virtual and instream/outstream respectively.
146
+ - Error classes have been simplified into a smaller number of classes.
147
+ - remote class is now callable through Voicemeeter module. It is also now a factory function that
148
+ returns a Remote class for the kind of Voicemeeter specified by the user.
149
+ - Rake tests now simplified and reduced. They are now organised into higher and lower tests.
150
+
151
+ ### Fixed
152
+
153
+ - Writer validation logic has been moved into meta module. There is a base module for generic
154
+ meta functions but where appropriate this is mixed in with a submodule.
155
+ - set_multi function for setting many parameters at once now uses tokens for hash keys.
156
+ - Polling dirty parameters works similarly but the cache is purged upon successful fetch.
157
+
158
+ ---
159
+
160
+ ## [1.0.10] - 2021-05-12
161
+
162
+ ### Added
163
+
164
+ - More settable commands for VBAN parameters
165
+
166
+ ### Changed
167
+
168
+ - Update unit tests to reflect changes
169
+ - Updated README to reflect changes.
170
+ - define_types moved into utils.rb since it defines types for channels,
171
+ macrobuttons and vban
172
+ - number set int and real_number added to utils.rb to better define different
173
+ value types.
174
+
175
+ ### Fixed
176
+
177
+ - Alias functions that accept boolean values now return true or false
178
+ - Bug in boundary test fixed by resetting match attributes m1,m2,m3 if no current match found
179
+
180
+ ## [1.0.9] - 2021-04-30
181
+
182
+ ### Added
183
+
184
+ - Support for other types of parameters in multi_set
185
+ - Automate running of every test for every version
186
+ - Settable delay before logout to avoid race condition on last command
187
+ - Delay for save/load special commands is now settable.
188
+ - Delay for shutdown special command is now settable.
189
+
190
+ ### Changed
191
+
192
+ - Remote subclass moved into 'voicemeeter.rb'.
193
+ - All tests updated to reflect changes.
194
+ - Updated README to reflect changes.
195
+
196
+ ## [1.0.8] - 2021-04-18
197
+
198
+ ### Added
199
+
200
+ - Several attributes that define delays within the wrapper are now settable. This includes:
201
+ setdelay - A delay between each call to a setter
202
+ getdelay - A delay between each call to a getter
203
+ rundelay - A delay after the function runvb. (which starts Voicemeeter if a type is passed to Remote as an argument)
204
+ - Constants now define default values for delays:
205
+ ACCESSOR_DELAY = 0.001
206
+ RUNDELAY = 1
207
+
208
+ ## [1.0.7] - 2021-04-18
209
+
210
+ ### Added
211
+
212
+ - Added base0 unit tests for alias functions. This includes:
213
+ SetParamMultiBase0
214
+ MacroButtonStatusWithAliasBase0
215
+ SetParamMultiWithAliasBase0
216
+ -Added test/<vbtype>/minitest_helper_base0.rb to call multiple parameters with base0 index.
217
+
218
+ ### Changed
219
+
220
+ -Test types multi, base0 can now be isolated. Params added to runmany to call these tests.
221
+
222
+ ## [1.0.6] - 2021-04-18
223
+
224
+ ### Added
225
+
226
+ - Base0 unit tests for each type.
227
+ - README updated to demonstrate set_multi, Macrobutton commands,
228
+ Special commands and a brief description on how to run tests.
229
+
230
+ ### Changed
231
+
232
+ - Validate moved into Utils module. Since this no longer exclusively boundary tests params pertaining to strips/buses it seems appropriate to move this to a more generic module.
233
+
234
+ ### Fixed
235
+
236
+ - Fixed an error in unit tests that prevented potato:macros from passing due
237
+ to loading different minitest_helpers from base0 tests. Test unit files that match
238
+ macrobutton_status\*.rb are now isolated.
239
+ - Blueprint layout :composite and :patch_insert absolute values fixed.
240
+
241
+ ## [1.0.5] - 2021-04-17
242
+
243
+ ### Added
244
+
245
+ - VBAN commands:
246
+ vban - Turn vban on/off
247
+ vban.enable - Turn off an instream/oustream
248
+ - Output channels settable for recorder commands eg:
249
+ recorder.A1
250
+ recorder.B3
251
+
252
+ ## [1.0.4] - 2021-04-17
253
+
254
+ ### Added
255
+
256
+ - test/<vbtype>/errors/errors_minitest.rb unit test files added to test
257
+ custom error classes for each type of voicemeeter. Errors tests:
258
+ APIError
259
+ LoginError
260
+ LogoutError
261
+ VBTypeError
262
+ BoundsError
263
+ CommandError
264
+ ValueTypeError
265
+
266
+ ### Changed
267
+
268
+ - Print outs for raised errors modified to include error.class as well
269
+ as the calling function. In the case of APIError the caller of the caller
270
+ is printed.
271
+
272
+ ## [1.0.3] - 2021-04-16
273
+
274
+ ### Added
275
+
276
+ - set_multi alias function for setting many parameters at once.
277
+ - test/other/set_multi.rb to demonstrate set_multi
278
+ - keyword arguments for setting various parameters on wrapper intialization
279
+
280
+ ### Changed
281
+
282
+ - spec.metadata github source code url added to gemspec
283
+
284
+ ## [1.0.1] - 2021-04-16
285
+
286
+ ### Added
287
+
288
+ - gemspec
289
+ - release on rubygems
290
+ - Special commands:
291
+ command.shutdown - Close application
292
+ command.show - Bring Voicemeeter to foreground
293
+ command.restart - Restart audio engine
294
+ command.eject - Eject file form Recorder
295
+ command.reset - Reset prams to initial state
296
+ command.save - Save a config file in xml format
297
+ command.load - Load a config file in xml format
298
+ command.showvbanchat - Bring vban chatroom to foreground
299
+
300
+ - test/other/special.rb to demonstrate a special command
301
+
302
+ ## [0.0.1] - 2021-04-16
303
+
304
+ ### Added
305
+
306
+ - Initial Commit
307
+ - Core of API
308
+ - Unit tests
309
+ - README.md
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Onyx and Iris
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.