class Jabber::UserTune::Helper

A Helper for XEP-0118 User Tune

Use this helper to send user tunes, or receive them from a specified jid. Described at www.xmpp.org/extensions/xep-0118.html

For example: <pre> h = UserTune::Helper( @client, 'radio1@hug.hellomatty.com' ) h.add_usertune_callback do |tune|

puts "Now playing: #{tune.title} by #{tune.artist}"

end </pre>

Also see the examples provided.

Public Instance Methods

add_usertune_callback(prio = 200, ref = nil, &block) click to toggle source

Add a callback that will be invoked when a tune is received from the jid specified when you constructed the Helper.

# File lib/xmpp4r/tune/helper/helper.rb, line 48
def add_usertune_callback(prio = 200, ref = nil, &block)
  add_event_callback(prio, ref) do |event|
    tune = event.first_element('items/item/tune')
    if tune
      block.call(tune)
    end
  end
end
now_playing(track) click to toggle source

Send out the tune currently playing.

track
Jabber::UserTune::Tune

the tune currently playing

# File lib/xmpp4r/tune/helper/helper.rb, line 31
def now_playing(track)
  item = Jabber::PubSub::Item.new()
  item.add(track)

  publish_item_to(NS_USERTUNE, item)
end
stop_playing() click to toggle source

Use this method to indicate that you have stopped playing a tune.

# File lib/xmpp4r/tune/helper/helper.rb, line 41
def stop_playing
  now_playing(Jabber::UserTune::Tune.new())
end