class Sonos::Group

Represents a Sonos group. A group can contain one or more speakers. All speakers in a group play the same music in sync.

Attributes

master_speaker[RW]

The master speaker in the group

slave_speakers[R]

All other speakers in the group

Public Class Methods

new(master_speaker, slave_speakers) click to toggle source
# File lib/sonos/group.rb, line 11
def initialize(master_speaker, slave_speakers)
  @master_speaker = master_speaker
  @slave_speakers = (slave_speakers or [])
end

Public Instance Methods

disband() click to toggle source

Remove all speakers from the group

# File lib/sonos/group.rb, line 22
def disband
  self.slave_speakers.each do |speaker|
    speaker.ungroup
  end
end
name() click to toggle source

Full group name

# File lib/sonos/group.rb, line 29
def name
  self.speakers.collect(&:name).uniq.join(', ')
end
play(uri = nil) click to toggle source
# File lib/sonos/group.rb, line 40
def play(uri = nil)
  self.master_speaker.play(uri)
end
save_queue(name) click to toggle source
# File lib/sonos/group.rb, line 44
def save_queue(name)
  self.master_speaker.save_queue(name)
end
speakers() click to toggle source

All of the speakers in the group

# File lib/sonos/group.rb, line 17
def speakers
  [self.master_speaker] + self.slave_speakers
end