Class: XiamiRadio::View::Player
- Inherits:
-
Object
- Object
- XiamiRadio::View::Player
- Defined in:
- lib/xiami_radio/view/player.rb
Instance Attribute Summary collapse
-
#player ⇒ Object
readonly
Returns the value of attribute player.
Instance Method Summary collapse
-
#initialize(player) ⇒ Player
constructor
A new instance of Player.
- #listen_on ⇒ Object
- #refresh(position) ⇒ Object
Constructor Details
#initialize(player) ⇒ Player
Returns a new instance of Player.
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/xiami_radio/view/player.rb', line 7 def initialize(player) @player = player Curses.init_screen Curses.noecho Curses.stdscr.keypad(true) Curses.start_color Curses.use_default_colors Curses.init_pair(Curses::COLOR_CYAN,Curses::COLOR_CYAN,Curses::COLOR_BLACK) Curses.init_pair(Curses::COLOR_RED,Curses::COLOR_RED,Curses::COLOR_BLACK) Curses.clear end |
Instance Attribute Details
#player ⇒ Object (readonly)
Returns the value of attribute player.
5 6 7 |
# File 'lib/xiami_radio/view/player.rb', line 5 def player @player end |
Instance Method Details
#listen_on ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/xiami_radio/view/player.rb', line 28 def listen_on Thread.start do while (key = Curses.getch) case key when Curses::KEY_LEFT player.rewind when Curses::KEY_RIGHT player.forward when Curses::KEY_DOWN player.next when 'l' XiamiRadio::Notice.push player.track.fav when ' ' player.toggle else # end end end end |
#refresh(position) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/xiami_radio/view/player.rb', line 19 def refresh(position) Curses.clear render_title_line player.track render_progress_line (position / player.track.duration), player.track.downloader.progress render_info_line player.track, position render_msg_line Curses.refresh end |