voicemeeter_api_ruby 4.1.4 → 4.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/strip.rb DELETED
@@ -1,135 +0,0 @@
1
- require_relative "iremote"
2
-
3
- class Strip < IRemote
4
- "
5
- Concrete Strip class
6
- "
7
- include Channel_Meta_Functions
8
-
9
- attr_accessor :gainlayer, :levels
10
-
11
- def self.make(remote, layout_strip)
12
- "
13
- Factory function for Strip classes.
14
- "
15
- p_in, v_in = layout_strip.values
16
- (0...(p_in + v_in)).map do |i|
17
- i < p_in ? PhysicalStrip.new(remote, i) : VirtualStrip.new(remote, i)
18
- end
19
- end
20
-
21
- def initialize(remote, i)
22
- super
23
- self.make_accessor_bool :solo, :mute, :mono
24
- self.make_accessor_float :gain
25
- self.make_accessor_int :limit
26
- self.make_accessor_string :label
27
-
28
- num_A, num_B = remote.kind.layout[:bus].values
29
- self.make_accessor_bool *make_channel_props(num_A, num_B)
30
-
31
- @gainlayer = (0...8).map { |j| GainLayer.new(remote, i, j) }
32
- @levels = StripLevels.new(remote, i)
33
- end
34
-
35
- def identifier
36
- "strip[#{@index}]"
37
- end
38
-
39
- def fadeto(target, time)
40
- self.setter("FadeTo", "(#{target}, #{time})")
41
- sleep(@remote.delay)
42
- end
43
-
44
- def fadeby(change, time)
45
- self.setter("FadeBy", "(#{change}, #{time})")
46
- sleep(@remote.delay)
47
- end
48
- end
49
-
50
- class PhysicalStrip < Strip
51
- def initialize(remote, i)
52
- super
53
- self.make_accessor_float :comp, :gate, :audibility
54
- self.make_reader_only :device, :sr
55
- end
56
- end
57
-
58
- class VirtualStrip < Strip
59
- def initialize(remote, i)
60
- super
61
- self.make_accessor_bool :mc
62
- self.make_accessor_int :k
63
- self.make_accessor_float :bass, :mid, :treble
64
- end
65
-
66
- def appgain(name, gain)
67
- self.setter("AppGain", "(\"#{name}\", #{gain})")
68
- end
69
-
70
- def appmute(name, mute)
71
- self.setter("AppMute", "(\"#{name}\", #{mute ? 1 : 0})")
72
- end
73
- end
74
-
75
- class GainLayer < IRemote
76
- def initialize(remote, i, j)
77
- super(remote, i)
78
- @j = j
79
- end
80
-
81
- def identifier
82
- "strip[#{@index}]"
83
- end
84
-
85
- def gain
86
- self.getter("gainlayer[#{@j}]")
87
- end
88
-
89
- def gain=(value)
90
- self.setter("gainlayer[#{@j}]", value)
91
- end
92
- end
93
-
94
- class StripLevels < IRemote
95
- def initialize(remote, i)
96
- super
97
- if i < @remote.p_in
98
- @init = i * 2
99
- @offset = 2
100
- else
101
- @init = (@remote.p_in * 2) + ((i - @remote.p_in) * 8)
102
- @offset = 8
103
- end
104
- end
105
-
106
- def identifier
107
- "strip[#{@index}]"
108
- end
109
-
110
- def get_level(mode)
111
- if @remote.running
112
- vals = @remote.cache["strip_level"][@init, @offset]
113
- else
114
- vals = (@init...@offset).map { |i| get_level(mode, i) }
115
- end
116
- vals.map { |x| x > 0 ? (20 * Math.log(x, 10)).round(1) : -200.0 }
117
- end
118
-
119
- def prefader
120
- @remote.strip_mode = 0
121
- get_level(0)
122
- end
123
-
124
- def postfader
125
- @remote.strip_mode = 1
126
- get_level(1)
127
- end
128
-
129
- def postmute
130
- @remote.strip_mode = 2
131
- get_level(2)
132
- end
133
-
134
- def isdirty? = @remote._strip_comp[@init, @offset].any?
135
- 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
data/lib/version.rb DELETED
@@ -1,3 +0,0 @@
1
- module Voicemeeter_API_Ruby
2
- VERSION = "4.1.4"
3
- end