voicemeeter_api_ruby 4.1.3 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/mixin.rb DELETED
@@ -1,11 +0,0 @@
1
- module Fades
2
- def fadeto(target, time)
3
- self.setter("FadeTo", "(#{target}, #{time})")
4
- sleep(@remote.DELAY)
5
- end
6
-
7
- def fadeby(change, time)
8
- self.setter("FadeBy", "(#{change}, #{time})")
9
- sleep(@remote.DELAY)
10
- end
11
- end
data/lib/recorder.rb DELETED
@@ -1,20 +0,0 @@
1
- require_relative "iremote"
2
- require_relative "meta"
3
-
4
- class Recorder < IRemote
5
- "
6
- Concrete Recorder class
7
- "
8
-
9
- def initialize(remote)
10
- super
11
- self.make_action_prop :play, :stop, :record, :ff, :rew
12
-
13
- num_A, num_B = remote.kind.layout[:bus].values
14
- self.make_accessor_bool *make_channel_props(num_A, num_B)
15
- end
16
-
17
- def identifier
18
- :recorder
19
- end
20
- end
data/lib/strip.rb DELETED
@@ -1,127 +0,0 @@
1
- require_relative "iremote"
2
- require_relative "mixin"
3
-
4
- class Strip < IRemote
5
- "
6
- Concrete Strip class
7
- "
8
- include Channel_Meta_Functions
9
- include Fades
10
-
11
- attr_accessor :gainlayer, :levels
12
-
13
- def self.make(remote, layout_strip)
14
- "
15
- Factory function for Strip classes.
16
- "
17
- p_in, v_in = layout_strip.values
18
- (0...(p_in + v_in)).map do |i|
19
- i < p_in ? PhysicalStrip.new(remote, i) : VirtualStrip.new(remote, i)
20
- end
21
- end
22
-
23
- def initialize(remote, i)
24
- super
25
- self.make_accessor_bool :solo, :mute, :mono
26
- self.make_accessor_float :gain
27
- self.make_accessor_int :limit
28
- self.make_accessor_string :label
29
-
30
- num_A, num_B = remote.kind.layout[:bus].values
31
- self.make_accessor_bool *make_channel_props(num_A, num_B)
32
-
33
- @gainlayer = (0...8).map { |j| GainLayer.new(remote, i, j) }
34
- @levels = StripLevels.new(remote, i)
35
- end
36
-
37
- def identifier
38
- "strip[#{@index}]"
39
- end
40
- end
41
-
42
- class PhysicalStrip < Strip
43
- def initialize(remote, i)
44
- super
45
- self.make_accessor_float :comp, :gate, :audibility
46
- self.make_reader_only :device, :sr
47
- end
48
- end
49
-
50
- class VirtualStrip < Strip
51
- def initialize(remote, i)
52
- super
53
- self.make_accessor_bool :mc
54
- self.make_accessor_int :k
55
- self.make_accessor_float :bass, :mid, :treble
56
- end
57
-
58
- def appgain(name, gain)
59
- self.setter("AppGain", "(\"#{name}\", #{gain})")
60
- end
61
-
62
- def appmute(name, mute)
63
- self.setter("AppMute", "(\"#{name}\", #{mute ? 1 : 0})")
64
- end
65
- end
66
-
67
- class GainLayer < IRemote
68
- def initialize(remote, i, j)
69
- super(remote, i)
70
- @j = j
71
- end
72
-
73
- def identifier
74
- "strip[#{@index}]"
75
- end
76
-
77
- def gain
78
- self.getter("gainlayer[#{@j}]")
79
- end
80
-
81
- def gain=(value)
82
- self.setter("gainlayer[#{@j}]", value)
83
- end
84
- end
85
-
86
- class StripLevels < IRemote
87
- def initialize(remote, i)
88
- super
89
- if i < @remote.p_in
90
- @init = i * 2
91
- @offset = 2
92
- else
93
- @init = (@remote.p_in * 2) + ((i - @remote.p_in) * 8)
94
- @offset = 8
95
- end
96
- end
97
-
98
- def identifier
99
- "strip[#{@index}]"
100
- end
101
-
102
- def get_level(mode)
103
- if @remote.running
104
- vals = @remote.cache["strip_level"][@init, @offset]
105
- else
106
- vals = (@init...@offset).map { |i| get_level(mode, i) }
107
- end
108
- vals.map { |x| x > 0 ? (20 * Math.log(x, 10)).round(1) : -200.0 }
109
- end
110
-
111
- def prefader
112
- @remote.strip_mode = 0
113
- get_level(0)
114
- end
115
-
116
- def postfader
117
- @remote.strip_mode = 1
118
- get_level(1)
119
- end
120
-
121
- def postmute
122
- @remote.strip_mode = 2
123
- get_level(2)
124
- end
125
-
126
- def isdirty? = @remote._strip_comp[@init, @offset].any?
127
- end
data/lib/vban.rb DELETED
@@ -1,78 +0,0 @@
1
- require_relative "iremote"
2
- require_relative "meta"
3
- require_relative "errors"
4
-
5
- class VbanStream < IRemote
6
- "
7
- A class representing a VBAN stream
8
- "
9
- include Vban_Meta_Functions
10
-
11
- def initialize(remote, i)
12
- super
13
- self.make_accessor_bool :on
14
- self.make_accessor_string :name, :ip
15
- self.make_accessor_int :quality, :route
16
- end
17
-
18
- def identifier
19
- "vban.#{self.direction}stream[#{@index}]"
20
- end
21
-
22
- def direction
23
- raise "Called abstract mehod: direction"
24
- end
25
- end
26
-
27
- class VbanInstream < VbanStream
28
- "
29
- A subclass representing a VBAN Instream
30
- "
31
- def initialize(remote, i)
32
- super
33
- self.make_reader_int :sr, :channel, :bit
34
- end
35
-
36
- def direction
37
- :in
38
- end
39
- end
40
-
41
- class VbanOutstream < VbanStream
42
- "
43
- A subclass representing a VBAN Outstream
44
- "
45
- def initialize(remote, i)
46
- super
47
- self.make_accessor_int :sr, :channel, :bit
48
- end
49
-
50
- def direction
51
- :out
52
- end
53
- end
54
-
55
- class Vban
56
- attr_accessor :instream, :outstream
57
-
58
- def initialize(remote, vban_streams)
59
- "
60
- Initializes a Vban class
61
-
62
- Creates an array for each in/out stream
63
- "
64
- vban_in, vban_out = vban_streams.values
65
- self.instream = (0...vban_in).map { |i| VbanInstream.new(remote, i) }
66
- self.outstream = (0...vban_out).map { |i| VbanOutstream.new(remote, i) }
67
-
68
- @remote = remote
69
- end
70
-
71
- def enable
72
- @remote.set_parameter("vban.enable", 1)
73
- end
74
-
75
- def disable
76
- @remote.set_parameter("vban.enable", 0)
77
- end
78
- end