File tree Expand file tree Collapse file tree 3 files changed +22
-1
lines changed
app/server/ruby/lib/sonicpi/osc Expand file tree Collapse file tree 3 files changed +22
-1
lines changed Original file line number Diff line number Diff line change 14
14
require_relative 'udp_client'
15
15
require_relative 'udp_server'
16
16
require_relative 'websocket_server'
17
- require_relative 'blob '
17
+ require_relative 'osc_types '
18
18
require_relative 'oscencode'
19
19
require_relative 'oscdecode'
Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ def initialize(data)
22
22
# add padding
23
23
24
24
@binary = b + ( "\000 " * ( ( 4 - ( b . size % 4 ) ) % 4 ) )
25
+
25
26
end
26
27
27
28
def to_s
@@ -33,5 +34,21 @@ def inspect
33
34
end
34
35
35
36
end
37
+
38
+ class Int64
39
+ attr_reader :binary
40
+ def initialize ( val )
41
+ @val = val
42
+ @binary = [ val ] . pack ( 'q>' )
43
+ end
44
+
45
+ def to_i
46
+ @val . to_i
47
+ end
48
+
49
+ def inspect
50
+ @val . inspect
51
+ end
52
+ end
36
53
end
37
54
end
Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ def initialize(use_cache = false, cache_size=1000)
27
27
@literal_low_g = 'g' . freeze
28
28
@literal_low_s = 's' . freeze
29
29
@literal_low_b = 'b' . freeze
30
+ @literal_low_h = 'h' . freeze
30
31
@literal_empty_str = '' . freeze
31
32
@literal_str_encode_regexp = /\000 .*\z /
32
33
@literal_str_pad = "\000 " . freeze
@@ -99,6 +100,9 @@ def encode_single_message(address, args=[])
99
100
when SonicPi ::OSC ::Blob
100
101
tags << @literal_low_b
101
102
args_encoded << arg . binary
103
+ when SonicPi ::OSC ::Int64
104
+ tags << @literal_low_h
105
+ args_encoded << arg . binary
102
106
else
103
107
raise "Unknown arg type to encode: #{ arg . inspect } "
104
108
end
You can’t perform that action at this time.
0 commit comments