"DTD/xhtml1-strict.dtd">
Class Xmms::Remote
In: xmms.c
Methods
add    add_url    balance=    clear    connect    delete    eject    eq_win_toggle    get_balance    get_eq    get_eq_band    get_eq_preamp    get_info    get_main_volume    get_playlist_file    get_playlist_time    get_playlist_title    get_skin    get_stereo_volume    get_version    initialize    ins_url    is_eq_win?    is_main_win?    is_pl_win?    is_repeat?    is_running?    is_shuffle?    jump_to_time    main_win_toggle    new    pause    paused?    pl_win_toggle    play    play_pause    playing?    playlist    playlist_next    playlist_pos    playlist_prev    quit    set_balance    set_eq    set_eq_band    set_eq_preamp    set_main_volume    set_playlist_pos    set_skin    set_stereo_volume    show_prefs    stop    time    time=    toggle_aot    toggle_repeat    toggle_shuffle   
Public Class methods
new(int argc, VALUE *argv, VALUE klass)

Create a new Xmms::Remote object.

Examples:

  # standard setup (one running copy of XMMS)
  remote = Xmms::Remote.new

  # bind to the third instance of XMMS (for you nutcases who run
  # multiple instances of XMMS)
  session = 2
  remote = Xmms::Remote.new session
connect(int argc, VALUE *argv, VALUE klass)

Create a new Xmms::Remote object.

Examples:

  # standard setup (one running copy of XMMS)
  remote = Xmms::Remote.new

  # bind to the third instance of XMMS (for you nutcases who run
  # multiple instances of XMMS)
  session = 2
  remote = Xmms::Remote.new session
Public Instance methods
initialize(int argc, VALUE *argv, VALUE self)

Xmms::Remote constructor.

This function is currently just a placeholder.

play(VALUE self)

Play current song.

Example:

  remote.play
pause(VALUE self)

Pause current song.

Example:

  remote.pause
stop(VALUE self)

Stop current song.

Example:

  remote.stop
eject(VALUE self)

XMMS eject button (toggle add file dialog).

Example:

  remote.eject
quit(VALUE self)

Quit XMMS.

Example:

  remote.quit
play_pause(VALUE self)

Toggle Play/Pause status.

Example:

  remote.play_pause
playing?(VALUE self)

Is XMMS playing?

Examples:

  puts 'playing' if remote.is_playing?
  puts 'playing' if remote.playing?
paused?(VALUE self)

Is XMMS paused?

Examples:

  puts 'paused' if remote.is_paused?
  puts 'paused' if remote.paused?
playlist(VALUE self)

Return the current playlist.

Example:

  remote.playlist.each { |i|
    title, file = i
    puts "'#{title}', #{file}"
  }
add(int argc, VALUE *argv, VALUE self)

Add one or more songs to the playlist.

Examples:

  # replace the current playlist with one song
  enqueue = false
  remote.add 'path/to/cool_song.mp3', enqueue

  # add several files to the current playlist
  files = %w{song01.mp3 song02.mp3 song03.mp3 song04.mp3 song05.mp3}
  remote.add *files
add_url(VALUE self, VALUE url)

Add a URL to the current playlist.

Examples:

  remote.add_url 'http://www.hhmecca.net/cool_song.mp3'
ins_url(VALUE self, VALUE url, VALUE pos)

Insert a URL into the current playlist.

Examples:

  # add a url after the 45th element in the playlist
  remote.ins_url 'http://www.hhmecca.net/cool_song.mp3', 45
delete(VALUE self, VALUE pos)

Delete the Nth element of the current playlist.

Examples:

  remote.delete 26  # delete the 26th playlist element
clear(VALUE self)

Clear the current playlist.

Examples:

  remote.clear
playlist_pos(VALUE self)

Get the current playlist position.

Examples:

  song_number = remote.position
  song_number = remote.get_pos
  song_number = remote.pos
set_playlist_pos(VALUE self, VALUE pos)

Set the current playlist position.

Examples:

  remote.pos = 45
  remote.position = 45
  remote.set_pos 45
get_playlist_file(int argc, VALUE *argv, VALUE self)

Get the file path of a song.

Examples:

  # get the path of the current song
  path = remote.file

  # get the path of song 23 in the playlist
  path = remote.file 23
get_playlist_title(int argc, VALUE *argv, VALUE self)

Get the title of a song.

Examples:

  # get the title of the current song
  path = remote.file

  # get the title of song 23 in the playlist
  path = remote.file 23
get_playlist_time(int argc, VALUE *argv, VALUE self)

Get the "playlist" time of a song.

Examples:

  # get the "playlist" time of the current song
  time = remote.playlist_time

  # get the "playlist" time of song 23 in the playlist
  time = remote.playlist_time 23
time(VALUE self)

Get the output time of the current song.

Examples:

  time = remote.time
  time = remote.output_time
jump_to_time(VALUE self, VALUE pos)

Jump to a specific time of the current song.

Examples:

  remote.jump 45   # jump 45 seconds into the current song
  remote.time = 45 # jump 45 seconds into the current song
time=(VALUE self, VALUE pos)

Jump to a specific time of the current song.

Examples:

  remote.jump 45   # jump 45 seconds into the current song
  remote.time = 45 # jump 45 seconds into the current song
playlist_prev(VALUE self)

Go to the previous song.

Example:

  remote.prev
playlist_next(VALUE self)

Go to the next song.

Example:

  remote.next
get_stereo_volume(VALUE self)

Get the stereo volume level.

Example:

  left, right = remote.get_stereo_volume
  left, right = remote.stereo_volume
get_main_volume(VALUE self)

Get the main volume level.

Example:

  vol = remote.volume
  vol = remote.main_volume
  vol = remote.get_main_volume
set_stereo_volume(VALUE self, VALUE l, VALUE r)

Set the stereo volume level.

Examples:

  remote.set_stereo_volume left, right

  stereo_volume = [10, 0]
  remote.set_stereo_volume *stereo_volume
set_main_volume(VALUE self, VALUE vol)

Set the main volume level.

Examples:

  remote.volume = 23
  remote.main_volume = 23
  remote.set_main_volume 23
get_balance(VALUE self)

Get the balance level.

Note: as of XMMS 1.2.6 xmms_remote_get_balance() does not appear to work correctly when XMMS is paused or stopped, so this function doesn't either.

Example:

  vol = remote.balance
set_balance(VALUE self, VALUE bal)

Set the balance level.

Note: as of XMMS 1.2.6 xmms_remote_set_balance() does not appear to work correctly when XMMS is paused or stopped, so this function doesn't either.

Example:

  remote.balance = 23
balance=(VALUE self, VALUE bal)

Set the balance level.

Note: as of XMMS 1.2.6 xmms_remote_set_balance() does not appear to work correctly when XMMS is paused or stopped, so this function doesn't either.

Example:

  remote.balance = 23
get_skin(VALUE self)

Get the current skin file.

Examples:

  skin = remote.get_skin
  skin = remote.skin
set_skin(VALUE self, VALUE skin)

Set the current skin file.

Examples:

  remote.set_skin 'path/to/cool_skin.zip'
  remote.skin = 'path/to/cool_skin.zip'
main_win_toggle(VALUE self, VALUE vis)

Set the visibility of the main window.

Examples:

  remote.set_main_toggle true
  remote.main_visible = true
  remote.main = true
pl_win_toggle(VALUE self, VALUE vis)

Set the visibility of the playlist window.

Examples:

  remote.set_playlist_toggle true
  remote.playlist_visible = true
  remote.pl_visible = true
  remote.pl = true
eq_win_toggle(VALUE self, VALUE vis)

Set the visibility of the equalizer window.

Examples:

  remote.set_equalizer_toggle true
  remote.equalizer_visible = true
  remote.eq_visible = true
  remote.eq = true
is_main_win?(VALUE self)

Get the visibility of the main window.

Examples:

  puts 'main window visible' if remote.main_visible?
  puts 'main window visible' if remote.main?
is_pl_win?(VALUE self)

Get the visibility of the playlist window.

Examples:

  puts 'playlist window visible' if remote.playlist_visible?
  puts 'playlist window visible' if remote.pl_visible?
  puts 'playlist window visible' if remote.playlist?
  puts 'playlist window visible' if remote.pl?
is_eq_win?(VALUE self)

Get the visibility of the equalizer window.

Examples:

  puts 'equalizer window visible' if remote.equalizer_visible?
  puts 'equalizer window visible' if remote.eq_visible?
  puts 'equalizer window visible' if remote.equalizer?
  puts 'equalizer window visible' if remote.eq?
show_prefs(VALUE self)

Show the preferences dialog.

Examples:

  remote.show_prefs
  remote.prefs
toggle_aot(VALUE self, VALUE aot)

Set the "always on top" flag.

Examples:

  remote.set_always_on_top true
  remote.always_on_top = true
  remote.aot = true
toggle_repeat(VALUE self)

Toggle the repeat flag.

Example:

  remote.toggle_repeat
is_repeat?(VALUE self)

Is the repeat flag set?

Examples:

  puts 'repeating' if remote.is_repeating?
  puts 'repeating' if remote.repeating?
  puts 'repeating' if remote.is_repeat?
  puts 'repeating' if remote.repeat?
toggle_shuffle(VALUE self)

Toggle the shuffle flag.

Example:

  remote.toggle_shuffle
is_shuffle?(VALUE self)

Is the shuffle flag set?

Examples:

  puts 'shuffling' if remote.is_shuffling?
  puts 'shuffling' if remote.shuffling?
  puts 'shuffling' if remote.is_shuffle?
  puts 'shuffling' if remote.shuffle?
get_eq(VALUE self)

Get the equalizer settings.

This method returns an array. The first element in the array is the preamp setting, and the second element in the array is an 10 element array of band settings. So the result would look something like this:

  [1.0, [0.0, -0.5, 0.9, 0.0, 0.0, 0.0, 0.2, 0.5, -0.1, 0.0]]

Examples:

  preamp, bands = remote.get_equalizer
  eq = remote.eq
set_eq(int argc, VALUE *argv, VALUE self)

Set the equalizer values.

This method takes either a preamp value and 10 band values, or a preamp value and an array of band values.

Examples:

  bands = [0.0, -0.5, 0.9, 0.0, 0.0, 0.0, 0.2, 0.5, -0.1, 0.0]
  remote.set_equalizer 0.0, bands

  remote.set_eq 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
get_eq_preamp(VALUE self)

Get the equalizer preamp value.

Examples:

  preamp = remote.get_preamp
  preamp = remote.preamp
set_eq_preamp(VALUE self, VALUE preamp)

Set the equalizer preamp value.

Examples:

  remote.set_preamp 0.5
  remote.preamp = 0.5
get_eq_band(VALUE self, VALUE band)

Get an equalizer band value.

Note that legal band indexes range from 0 to 9 instead of 1 to 10.

Examples:

  band = remote.get_band 2
  band = remote.band 8
set_eq_band(VALUE self, VALUE band, VALUE val)

Set an equalizer band value.

Note that legal band indexes range from 0 to 9 instead of 1 to 10.

Example:

  remote.set_band 2, 0.5
get_info(VALUE self)

Get various about the current song.

Returns an array of bitrate, frequency, and numchannels, respectively.

Examples:

  info = remote.info
  rate, freq, nch = remote.info
is_running?(VALUE self)

Is XMMS running?

Examples:

  puts 'xmms is running' if remote.is_running?
  puts 'xmms is running' if remote.running?
get_version(VALUE self)

Get the version of XMMS.

Note that this is separate from Xmms::Remote::VERSION, which is the version of Xmms-Ruby.

Examples:

  version = remote.version
  version = remote.get_version