rocksky 0.12.0 → 0.12.1

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: 4eb3afb1cb2e28cecb5bfa007812541ca97645b93c92d6dc3613740b0a30a68e
4
- data.tar.gz: d7105f690b1831d6542358be0e218eb520999e083b5e324b0ad7467ac977b411
3
+ metadata.gz: 1c936595ae468fd702c1e78cb1ad3db497ae10bded7672754909c6b014c163bd
4
+ data.tar.gz: 869b8de2f3e067e3e11cd114bcd40f3cdd6efac0930a477858b009d1b476e608
5
5
  SHA512:
6
- metadata.gz: 0c2101925359943adbf140a6854ddcaffe32867a48db8a539fd3c6fc3d631de00c40f2d607bff59536650571f0260eadacb75861accb8f1dad741d0b2873ffa8
7
- data.tar.gz: c278a198a98864b9fb94b04f45a510970906a9b13f144ce91e980f25020d6a13ac554d9eeea7622c604d3ae42cae63b5dacebb125c62a6f20672d1ae34a9bf0f
6
+ metadata.gz: 7005add14ac829814cef5c34a78feb52878c97bd50218041408e46da223115b0f19c64a2d3710f75f3b389e5ef880cfcee3957047dfe2c181b239414c5cf512a
7
+ data.tar.gz: 579dbe27c678f7460d13c0f75495afc8ea7216abe262bb0ca8069268232d1452b546e18dce29ea3d3918c8965e7215536c7a31364e55c4ec6247952fb2371b78
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "repo": "tsirysndr/rocksky",
3
- "tag": "bindings-v0.11.0",
3
+ "tag": "bindings-v0.12.0",
4
4
  "checksums": {
5
- "aarch64-apple-darwin": "fde925a15e9973eb509f6c18980c15eab8e168ee699290ffa09d54db0398e3ad",
6
- "aarch64-linux-gnu": "f32cbea46108e1991a8676990dc6e2e6d8aadf6f4f7c18333e659c21d0a0a1c6",
7
- "x86_64-apple-darwin": "b0608f09d1fee48492bbe093ed07d768f846992089eff0e5748475f06f159ef9",
8
- "x86_64-linux-gnu": "17d9fb0c1c41a7d1cff8695063a32f3807d282b15722cc4fd99399c318b724a9",
9
- "x86_64-unknown-freebsd": "ba099d9ccd5e23f26032e1cacba69e037c2a371b4b63cb83a7e27d060036eda8",
10
- "x86_64-unknown-netbsd": "c9f837cdcc9d2a48b0631e3b8032fd42cc851c84d612c2abf31b08aa303995fe"
5
+ "aarch64-apple-darwin": "b23d327021f00c260fb0ed2ca8792ef4cf6c98054da36b98ca4175bd1f774450",
6
+ "aarch64-linux-gnu": "714609a9eedc63f31a651d7eb0d5092f43de229ad4045c1e3fa1725a6734c28a",
7
+ "x86_64-apple-darwin": "bf86e4404adb3116f36e58f714eb4a6726b9612e3c3703f4c8b3444daa6fc4e5",
8
+ "x86_64-linux-gnu": "c6c17133b0a734fc9d31a1a793932d9f11476384f103a4dbc193c7b2176ba10e",
9
+ "x86_64-unknown-freebsd": "80a91622d51272f9c20cd85dd4acde3c95d4001614ad051982f86024266fd9c5",
10
+ "x86_64-unknown-netbsd": "ffa478d378c39b1ba8381ffd3e7c874022bbda688208c498f048a41221d20daf"
11
11
  }
12
12
  }
@@ -47,7 +47,8 @@ module Rocksky
47
47
  end
48
48
 
49
49
  # Register a handler for a command action, one of +:play+, +:pause+, +:next+,
50
- # +:previous+, +:seek+, +:queue_jump+, +:queue_remove+, +:enqueue+. The block
50
+ # +:previous+, +:seek+, +:queue_jump+, +:queue_remove+, +:queue_move+,
51
+ # +:enqueue+, +:shuffle+, +:repeat+, +:volume+, +:audio_settings+. The block
51
52
  # receives the full symbol-keyed command Hash (e.g. +{ action: "seek",
52
53
  # position: 42000 }+). Returns +self+ for chaining.
53
54
  def on(action, &block)
@@ -241,6 +242,37 @@ module Rocksky
241
242
  Rocksky.unwrap(C.rocksky_remote_controller_queue_remove(@ptr, target.to_s, index))
242
243
  end
243
244
 
245
+ # Move queue item +from+ to position +to+ on the target device (arrayMove
246
+ # semantics; empty target broadcasts).
247
+ def queue_move(target, from, to)
248
+ Rocksky.unwrap(C.rocksky_remote_controller_queue_move(@ptr, target.to_s, from, to))
249
+ end
250
+
251
+ # Turn queue shuffle on/off (empty target broadcasts). A player without
252
+ # shuffle ignores it.
253
+ def set_shuffle(target, enabled)
254
+ Rocksky.unwrap(C.rocksky_remote_controller_set_shuffle(@ptr, target.to_s, enabled ? 1 : 0))
255
+ end
256
+
257
+ # Set the queue repeat mode: "off" | "all" | "one" (empty target
258
+ # broadcasts). A player without repeat ignores it.
259
+ def set_repeat(target, mode)
260
+ Rocksky.unwrap(C.rocksky_remote_controller_set_repeat(@ptr, target.to_s, mode.to_s))
261
+ end
262
+
263
+ # Set output volume 0.0..=1.0 (empty target broadcasts). A player without
264
+ # volume control ignores it.
265
+ def set_volume(target, volume)
266
+ Rocksky.unwrap(C.rocksky_remote_controller_set_volume(@ptr, target.to_s, volume.to_f.clamp(0.0, 1.0)))
267
+ end
268
+
269
+ # Apply a partial audio-settings document — +settings_json+ is the JSON of
270
+ # the protocol's +audio_settings+ args (PROTOCOL.md §6.1). Raises on
271
+ # invalid JSON rather than silently sending nothing.
272
+ def set_audio_settings(target, settings_json)
273
+ Rocksky.unwrap(C.rocksky_remote_controller_set_audio_settings(@ptr, target.to_s, settings_json.to_s))
274
+ end
275
+
244
276
  # Enqueue +tracks+ (array of camelCase queue-item Hashes) on +target+. +mode+
245
277
  # is "now" | "next" | "last"; nil target = broadcast.
246
278
  def enqueue(target, tracks, mode: "now", shuffle: false, start_index: 0)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rocksky
4
- VERSION = "0.12.0"
4
+ VERSION = "0.12.1"
5
5
  end
data/lib/rocksky.rb CHANGED
@@ -65,6 +65,11 @@ module Rocksky
65
65
  "char* rocksky_remote_controller_seek(void*, const char*, unsigned long long)",
66
66
  "char* rocksky_remote_controller_queue_jump(void*, const char*, unsigned int)",
67
67
  "char* rocksky_remote_controller_queue_remove(void*, const char*, unsigned int)",
68
+ "char* rocksky_remote_controller_queue_move(void*, const char*, unsigned int, unsigned int)",
69
+ "char* rocksky_remote_controller_set_shuffle(void*, const char*, char)",
70
+ "char* rocksky_remote_controller_set_repeat(void*, const char*, const char*)",
71
+ "char* rocksky_remote_controller_set_volume(void*, const char*, float)",
72
+ "char* rocksky_remote_controller_set_audio_settings(void*, const char*, const char*)",
68
73
  "char* rocksky_remote_controller_enqueue(void*, const char*, const char*, const char*, char, unsigned int)",
69
74
  "char* rocksky_remote_controller_disconnect(void*)",
70
75
  "void rocksky_remote_controller_free(void*)"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rocksky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rocksky