diff options
Diffstat (limited to 'bass_player.rb')
-rw-r--r-- | bass_player.rb | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/bass_player.rb b/bass_player.rb index 43deba9..4796d61 100644 --- a/bass_player.rb +++ b/bass_player.rb @@ -9,6 +9,7 @@ module BassPlayer property(:title) { '' } property(:duration) { '' } + property(:current_song) { 0 } property(:model) { QML::ArrayModel.new(:title, :duration) } property(:part_model) { QML::ArrayModel.new(:name, :from, :to) @@ -35,8 +36,11 @@ module BassPlayer end def song_selected(song) + unless song.nil? + self.current_song = model[song][:title] + end part_model.clear - parts = Part.all.map do |part| + parts = Part.join(:songs, title: current_song).all.map do |part| { name: part.name, from: ms_to_time(part.from), @@ -49,6 +53,15 @@ module BassPlayer end end + def add_segment(name, from, to) + song = Song.first(title: current_song) + Part.create( + name: name, from: from, to: to, + song_id: song.id + ) + song_selected(nil) + end + def ms_to_time(ms) retval = Time.at(ms/1000).utc.strftime("%H:%M:%S") p "ms: '#{ms}' - Time: #{retval}" |