projects
/
vidi-player.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vidi-player.py: add an option to add a background layer with the "rest" sample
[vidi-player.git]
/
vidi-player.py
diff --git
a/vidi-player.py
b/vidi-player.py
index
491a3f3
..
4ac51a6
100755
(executable)
--- a/
vidi-player.py
+++ b/
vidi-player.py
@@
-22,6
+22,9
@@
import sys
import mido
import vidi
import mido
import vidi
+# TODO: turn that into a command line option
+ADD_REST_BACKGROUND = True
+
def is_note(msg):
return msg.type == 'note_on' or msg.type == 'note_off'
def is_note(msg):
return msg.type == 'note_on' or msg.type == 'note_off'
@@
-62,13
+65,17
@@
def timeline_from_midi(midi_file, video_font_path):
elif is_note_off(msg) and msg.channel == 0:
note = vidi.MidiNote(msg.note)
duration = elapsed_time - start_time
elif is_note_off(msg) and msg.channel == 0:
note = vidi.MidiNote(msg.note)
duration = elapsed_time - start_time
- print("Note name: %s start_time: %f duration: %f" %
+ print("Note name: %
3
s start_time: %f duration: %f" %
(note.name, start_time, duration))
(note.name, start_time, duration))
- video_sample_path = "%s/sample_%s.
mkv
" % (video_font_path, note.name)
+ video_sample_path = "%s/sample_%s.
webm
" % (video_font_path, note.name)
timeline.add_clip(video_sample_path, start_time, duration)
timeline.add_clip(video_sample_path, start_time, duration)
+ if ADD_REST_BACKGROUND:
+ rest_sample_path = "%s/sample_rest.png" % video_font_path
+ timeline.add_layer_clip(rest_sample_path, 0, elapsed_time)
+
return timeline
return timeline
@@
-97,7
+104,7
@@
def main():
midi_file = mido.MidiFile(sys.argv[1])
midi_file = mido.MidiFile(sys.argv[1])
- overlapping_notes = check_overlapping_notes(midi_file
, 0
)
+ overlapping_notes = check_overlapping_notes(midi_file)
if overlapping_notes:
sys.stderr.write("Sorry, supporting only midi file with no overlapping notes on channel 0\n")
return 1
if overlapping_notes:
sys.stderr.write("Sorry, supporting only midi file with no overlapping notes on channel 0\n")
return 1