class StrDn2030::Input
Attributes
audio[R]
icon[R]
index[R]
name[R]
parent[R]
preset_name[R]
skip_flags[R]
video[R]
zone[R]
Public Class Methods
new(parent, zone, index, audio, video, icon, preset_name, name, skip)
click to toggle source
# File lib/str_dn_2030/input.rb, line 3 def initialize(parent, zone, index, audio, video, icon, preset_name, name, skip) @parent = parent @zone = zone @index = index.dup.b.freeze @audio = audio.dup.b.freeze @video = video.dup.b.freeze @icon = icon.dup.b.freeze @preset_name = preset_name.strip.freeze @name = name.strip.freeze @skip_flags = skip.dup.b.freeze end
Public Instance Methods
==(other)
click to toggle source
# File lib/str_dn_2030/input.rb, line 65 def ==(other) other.is_a?(self.class) && self.video == other.video && self.audio == other.audio end
activate!()
click to toggle source
# File lib/str_dn_2030/input.rb, line 26 def activate! parent.zone(self.zone).active_input = self nil end
active?()
click to toggle source
# File lib/str_dn_2030/input.rb, line 31 def active? parent.zone(self.zone).active_input == self end
as_json()
click to toggle source
# File lib/str_dn_2030/input.rb, line 69 def as_json { zone: zone, index: index, audio: audio, video: video, icon: icon, preset_name: preset_name, name: name, skip: skip, active: active?, } end
inspect()
click to toggle source
# File lib/str_dn_2030/input.rb, line 22 def inspect "#<#{self.class.name}: #{name} @ #{parent.host}:#{parent.port}/#{zone}>" end
listen_skipped?()
click to toggle source
# File lib/str_dn_2030/input.rb, line 43 def listen_skipped? skip[:listen] end
skip()
click to toggle source
# File lib/str_dn_2030/input.rb, line 51 def skip @skip ||= begin {raw: skip_flags}.tap do |_| _.merge!({ "\x11".b => {watch: true, listen: true}, "\x21".b => {watch: true, listen: true}, "\x30".b => {watch: false, listen: false}, "\x10".b => {watch: false, listen: true}, "\x20".b => {watch: true, listen: false}, }[skip_flags.b] || {}) end end end
skipped?()
click to toggle source
# File lib/str_dn_2030/input.rb, line 35 def skipped? skip[:watch] && skip[:listen] end
skipped_any?()
click to toggle source
# File lib/str_dn_2030/input.rb, line 47 def skipped_any? skip[:watch] || skip[:listen] end
watch_skipped?()
click to toggle source
# File lib/str_dn_2030/input.rb, line 39 def watch_skipped? skip[:watch] end