voicemeeter_api_ruby 2.0.3 → 4.0.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: b3a0e9817ffa5ec8ae524a4af3fe6a64f9f85277a83cb6e39c64f7746006a564
4
- data.tar.gz: eecdc15368fb025b6632961ab3df850ac505e79de105f472569e6b0678dd96d9
3
+ metadata.gz: e1665d58c08963437a1f97aea620c0d92d660135c653791e136a8e16b468430e
4
+ data.tar.gz: 4c9b65a8bc057ecde1206007c48321ea90205828e7f5618279c283e621a35632
5
5
  SHA512:
6
- metadata.gz: 390dda38c9597c3996d913b3c5c0462307ffd7df102ca5fad2879e76b682104b373ecb5c9b0879911cee20622decfece3f0756082d7d1c85e3ad349ace1a547f
7
- data.tar.gz: fd2bf7bfb8bd6157f4dc54e22e1636629ae7a934c466752ddc2f3fda23b9abebef31f5002435dcc4d75075fe792e34aad78295296c5910b107a72adad261750b
6
+ metadata.gz: 49412d436f0a24d23f68d06757f6b4c6f652ad1c3489f83483d98b1128f26e7d4c22db192248361ce223e57ee8c3cdf1ad4e3e513b3d6055e34fea8b0c5916ef
7
+ data.tar.gz: 7a95182d33363a4301a00c17329b0b782b084d9558d6fa348207508aec7d498a71644b5444677405d7e34282e5fd18fd9d825ecd9f30800b09c7e5aa15cd9669
data/CHANGELOG.md ADDED
@@ -0,0 +1,278 @@
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
+ - [x] type, version added to base class
13
+ - [x] device class implemented
14
+ - [x] common interface iremote defined
15
+ - [x] configs reworked. configs are now loaded lazily.
16
+ - [x] TOMLStrBuilder added to config, builds a default reset config
17
+ - [x] command.reset now applies reset config from toml parser.
18
+ - [x] profiles dir renamed to configs
19
+ - [x] major version bump
20
+
21
+ ## [3.0.0] - 2022-05-03
22
+
23
+ ### Added
24
+
25
+ - Added strip_levels, bus_levels to base class. They return the entire level array (before math conversion).
26
+ - Added fadeto, fadeby methods for strips/buses.
27
+ - Added appgain, appmute methods to Virtualstrip class
28
+ - Bus modes added to bus class.
29
+ - Gainlayers added to strip class.
30
+ - Added pre-commit.ps1 for git hook
31
+ - cdll proc object added to base class. This is now used to call a c dll function.
32
+ - hide method added to command class
33
+
34
+ ### Changed
35
+
36
+ - Kinds, Profiles moved into their own modules.
37
+ - Kind maps now defined as structs.
38
+ - Randomised unit tests. A single run may test any kind.
39
+ - Polling paramters now defined as single line endless functions
40
+ - Major version bump due to backwards incompatible changes. Ruby required version changed.
41
+
42
+ ### Fixed
43
+
44
+ - Minor delay added before logout, allow a final operation to complete.
45
+ - Polling function sped up, sync kwarg added.
46
+
47
+ ### Removed
48
+
49
+ - Removed bounds checking for certain strip/bus properties.
50
+
51
+ ## [2.0.4] - 2022-01-24
52
+
53
+ ### Added
54
+
55
+ - Ability to load config files in TOML format
56
+ - Add option to pass keyword arguments to Remote class.
57
+ - Voicemeeter.start added for starting voicemeeter independently of Remote class
58
+
59
+ ### Changed
60
+
61
+ - Use of VBVMR_RunVoicemeeter instead of open3 when starting voicemeeter.
62
+ - Functions in low level modules set to private.
63
+ - version 2.0.4 added to RubyGems.
64
+
65
+ ### Fixed
66
+
67
+ - Fix timing issue affecting macrobutton multi_set
68
+
69
+ ## [2.0.3] - 2022-01-20
70
+
71
+ ### Added
72
+
73
+ - runmany.ps1 added. easy access to many test runs with logging and summary file.
74
+ - link to official documentation in readme.
75
+ - section regarding lower level functions, setters, getters and polling functions added to readme.
76
+
77
+ ### Changed
78
+
79
+ - Adjustment to polling function, now accepts getter logic as a block. Param caching
80
+ now done in polling function
81
+ - Small delay added to setters, except for set_parameter_multi function.
82
+ - Added initialize to Remote class, building of class objects done now done in Remote.
83
+ - version 2.0.3 added to RubyGems.
84
+
85
+ ### Fixed
86
+
87
+ - Fixed an issue with the action type property meta function in Command class.
88
+ - Added ensure logout if block passed to run, will logout regardless of exception raised.
89
+
90
+ ## [2.0.2] - 2022-01-18
91
+
92
+ ### IMPORTANT
93
+
94
+ The code for this wrapper has been revised and reworked from the ground up. Earlier versions
95
+ are still available for download on RubyGems.org but that version will not be updated further.
96
+ Most of the updates documented here do not apply to version 2.0 onwards but will be kept for
97
+ reference use only.
98
+
99
+ All of the core features including strip, bus, macrobutton, recorder, vban and command classes
100
+ work exactly the same. An effort has been made to include every property previously available,
101
+ for each of those classes.
102
+
103
+ README is up to date with version 2.0.2 onwards.
104
+
105
+ ### Added
106
+
107
+ - Special command lock added
108
+ - showvbanchat chat is now a boolean function.
109
+ - Functions vmr.vban.enable and vmr.vban.disable for toggling VBAN now added.
110
+
111
+ ### Changed
112
+
113
+ - Each class for each of the core features has been put into its own module. Classes such as
114
+ strip, bus and vban are now subclassed into physical/virtual and instream/outstream respectively.
115
+ - Error classes have been simplified into a smaller number of classes.
116
+ - remote class is now callable through Voicemeeter module. It is also now a factory function that
117
+ returns a Remote class for the kind of Voicemeeter specified by the user.
118
+ - Rake tests now simplified and reduced. They are now organised into higher and lower tests.
119
+
120
+ ### Fixed
121
+
122
+ - Writer validation logic has been moved into meta module. There is a base module for generic
123
+ meta functions but where appropriate this is mixed in with a submodule.
124
+ - set_multi function for setting many parameters at once now uses tokens for hash keys.
125
+ - Polling dirty parameters works similarly but the cache is purged upon successful fetch.
126
+
127
+ ---
128
+
129
+ ## [1.0.10] - 2021-05-12
130
+
131
+ ### Added
132
+
133
+ - More settable commands for VBAN parameters
134
+
135
+ ### Changed
136
+
137
+ - Update unit tests to reflect changes
138
+ - Updated README to reflect changes.
139
+ - define_types moved into utils.rb since it defines types for channels,
140
+ macrobuttons and vban
141
+ - number set int and real_number added to utils.rb to better define different
142
+ value types.
143
+
144
+ ### Fixed
145
+
146
+ - Alias functions that accept boolean values now return true or false
147
+ - Bug in boundary test fixed by resetting match attributes m1,m2,m3 if no current match found
148
+
149
+ ## [1.0.9] - 2021-04-30
150
+
151
+ ### Added
152
+
153
+ - Support for other types of parameters in multi_set
154
+ - Automate running of every test for every version
155
+ - Settable delay before logout to avoid race condition on last command
156
+ - Delay for save/load special commands is now settable.
157
+ - Delay for shutdown special command is now settable.
158
+
159
+ ### Changed
160
+
161
+ - Remote subclass moved into 'voicemeeter.rb'.
162
+ - All tests updated to reflect changes.
163
+ - Updated README to reflect changes.
164
+
165
+ ## [1.0.8] - 2021-04-18
166
+
167
+ ### Added
168
+
169
+ - Several attributes that define delays within the wrapper are now settable. This includes:
170
+ setdelay - A delay between each call to a setter
171
+ getdelay - A delay between each call to a getter
172
+ rundelay - A delay after the function runvb. (which starts Voicemeeter if a type is passed to Remote as an argument)
173
+ - Constants now define default values for delays:
174
+ ACCESSOR_DELAY = 0.001
175
+ RUNDELAY = 1
176
+
177
+ ## [1.0.7] - 2021-04-18
178
+
179
+ ### Added
180
+
181
+ - Added base0 unit tests for alias functions. This includes:
182
+ SetParamMultiBase0
183
+ MacroButtonStatusWithAliasBase0
184
+ SetParamMultiWithAliasBase0
185
+ -Added test/<vbtype>/minitest_helper_base0.rb to call multiple parameters with base0 index.
186
+
187
+ ### Changed
188
+
189
+ -Test types multi, base0 can now be isolated. Params added to runmany to call these tests.
190
+
191
+ ## [1.0.6] - 2021-04-18
192
+
193
+ ### Added
194
+
195
+ - Base0 unit tests for each type.
196
+ - README updated to demonstrate set_multi, Macrobutton commands,
197
+ Special commands and a brief description on how to run tests.
198
+
199
+ ### Changed
200
+
201
+ - 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.
202
+
203
+ ### Fixed
204
+
205
+ - Fixed an error in unit tests that prevented potato:macros from passing due
206
+ to loading different minitest_helpers from base0 tests. Test unit files that match
207
+ macrobutton_status\*.rb are now isolated.
208
+ - Blueprint layout :composite and :patch_insert absolute values fixed.
209
+
210
+ ## [1.0.5] - 2021-04-17
211
+
212
+ ### Added
213
+
214
+ - VBAN commands:
215
+ vban - Turn vban on/off
216
+ vban.enable - Turn off an instream/oustream
217
+ - Output channels settable for recorder commands eg:
218
+ recorder.A1
219
+ recorder.B3
220
+
221
+ ## [1.0.4] - 2021-04-17
222
+
223
+ ### Added
224
+
225
+ - test/<vbtype>/errors/errors_minitest.rb unit test files added to test
226
+ custom error classes for each type of voicemeeter. Errors tests:
227
+ APIError
228
+ LoginError
229
+ LogoutError
230
+ VBTypeError
231
+ BoundsError
232
+ CommandError
233
+ ValueTypeError
234
+
235
+ ### Changed
236
+
237
+ - Print outs for raised errors modified to include error.class as well
238
+ as the calling function. In the case of APIError the caller of the caller
239
+ is printed.
240
+
241
+ ## [1.0.3] - 2021-04-16
242
+
243
+ ### Added
244
+
245
+ - set_multi alias function for setting many parameters at once.
246
+ - test/other/set_multi.rb to demonstrate set_multi
247
+ - keyword arguments for setting various parameters on wrapper intialization
248
+
249
+ ### Changed
250
+
251
+ - spec.metadata github source code url added to gemspec
252
+
253
+ ## [1.0.1] - 2021-04-16
254
+
255
+ ### Added
256
+
257
+ - gemspec
258
+ - release on rubygems
259
+ - Special commands:
260
+ command.shutdown - Close application
261
+ command.show - Bring Voicemeeter to foreground
262
+ command.restart - Restart audio engine
263
+ command.eject - Eject file form Recorder
264
+ command.reset - Reset prams to initial state
265
+ command.save - Save a config file in xml format
266
+ command.load - Load a config file in xml format
267
+ command.showvbanchat - Bring vban chatroom to foreground
268
+
269
+ - test/other/special.rb to demonstrate a special command
270
+
271
+ ## [0.0.1] - 2021-04-16
272
+
273
+ ### Added
274
+
275
+ - Initial Commit
276
+ - Core of API
277
+ - Unit tests
278
+ - 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.