summaryrefslogtreecommitdiff
path: root/bass_player.rb
diff options
context:
space:
mode:
Diffstat (limited to 'bass_player.rb')
-rw-r--r--bass_player.rb15
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}"