File: xmms_test.rb

package info (click to toggle)
libxmms-ruby 0.1.2-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 524 kB
  • ctags: 266
  • sloc: ansic: 687; ruby: 99; makefile: 44
file content (71 lines) | stat: -rwxr-xr-x 1,494 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env ruby

require 'xmms'

PAUSE_DURATION = 2

# allocate a new Xmms::Remote object
$stderr.puts 'testing Xmms-Ruby version ' << Xmms::Remote::VERSION
xr = Xmms::Remote::new

# test pause method
$stderr.puts 'testing Xmms::Remote#pause'
xr.pause
puts 'paused'
sleep PAUSE_DURATION

# test play method
$stderr.puts 'testing Xmms::Remote#play'
xr.play
puts 'playing'

# test play_pause method
$stderr.puts 'testing Xmms::Remote#play_pause'
xr.play_pause
puts 'paused'
sleep PAUSE_DURATION
xr.play_pause
puts 'playing'

# test playlist method
$stderr.puts 'testing Xmms::Remote#playlist'
xr.playlist.each { |entry|
  title, file, time = entry
  puts "'#{title}', #{time}, #{file}"
}

# test playlist block method
$stderr.puts 'testing Xmms::Remote#playlist (block)'
xr.playlist { |title, file, time| puts "'#{title}', #{time}, #{file}" }

# test [] method
$stderr.puts 'testing Xmms::Remote#[]'
1.upto(5) { |i|
  title, file, time = xr[i]
  puts "'#{title}', #{time}, #{file}"
}

# test eq methods
$stderr.puts 'test equalizer settings'

# save current equalizer settings
$stderr.puts 'testing Xmms::Remote#eq'
old_eq = xr.eq
puts old_eq

# make eq look like sine wave
$stderr.puts 'testing Xmms::Remote#set_eq'
0.upto(40) { |x|
  bands = [0.0] * 10
  0.upto(9) { |i| 
    bands[i] = 20.0 * Math::sin((i * 1.1 + x) / 5.0 * Math::PI)
    puts "setting band[#{i}] to #{bands[i]}"
  }
  xr.set_eq old_eq[0], bands
  sleep 0.1
}

puts *old_eq

# restore equalizer settings
xr.set_eq *old_eq