Follow up after skimming the code a few times, by lucky coincidence, I actually remember THAT much Tk... Da Nedea 19 Februr 2006 17:08 CFC napsal: > require 'tk' > require 'sdl' > > def Play(path, times) > music=SDL::Mixer::Music.load(path) > SDL::Mixer.playMusic(music,-1) > end > SDL::init(SDL::INIT_AUDIO) > SDL::Mixer.open > path=TkVariable.new > TkEntry.new("textvariable"=>path).pack("padx"=>10) > TkButton.new(){ > text "Play" > command {proc Play(path.value, -1)} IIRC, the #command method takes a Proc object as an argument, not a block. The above line should most probably be: command(proc { Play(path.value, -1) }) You or someone else misplaced a curly brace, I added the parentheses for clarity. > }.pack("padx"=>10) > Tk.mainloop > (Why the heck is the #Play method in CamelCase anyway? Tsk-tsk-tsk, the sample author should get a lecture about naming conventions.) David Vallnerr