From 6fe19801c834dd97194767c5566f87cf8ccc9ec0 Mon Sep 17 00:00:00 2001 From: langolierz Date: Thu, 4 Jan 2018 00:30:01 +0000 Subject: [PATCH] update video_player to take start and end values --- data_centre.py | 2 +- data_objects/display_data.json | 6 +++--- data_objects/next_bank_number.json | 2 +- data_objects/settings.json | 2 +- video_centre/video_player.py | 20 ++++++++++++++++---- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/data_centre.py b/data_centre.py index 492de15..dc3893d 100644 --- a/data_centre.py +++ b/data_centre.py @@ -66,7 +66,7 @@ def get_path_to_browser(): logger = setup_logging() ######## sets paths and constants ######## -PATH_TO_DATA_OBJECTS = '{}\\data_objects\\'.format(get_the_current_dir_path()) +PATH_TO_DATA_OBJECTS = '{}data_objects/'.format(get_the_current_dir_path()) PATH_TO_BROWSER = get_path_to_browser() EMPTY_BANK = dict(name='',location='',length=-1,start=-1,end=-1) DEV_MODE = read_json(SETTINGS_JSON)[6]["value"] diff --git a/data_objects/display_data.json b/data_objects/display_data.json index 89788a1..122f81b 100644 --- a/data_objects/display_data.json +++ b/data_objects/display_data.json @@ -49,9 +49,9 @@ "location": "/media/pi/TIM1/TRASHPALACEVIDEOS/01_trashpalaceintro.mp4" }, { - "start": -1, + "start": 10, "length": 49, - "end": -1, + "end": 15, "name": "colour_pixel_01.mp4", "location": "/media/pi/TIM1/videos_to_play/colour_pixel_01.mp4" }, @@ -104,4 +104,4 @@ "name": "", "location": "" } -] \ No newline at end of file +] diff --git a/data_objects/next_bank_number.json b/data_objects/next_bank_number.json index 62f9457..c793025 100644 --- a/data_objects/next_bank_number.json +++ b/data_objects/next_bank_number.json @@ -1 +1 @@ -6 \ No newline at end of file +7 \ No newline at end of file diff --git a/data_objects/settings.json b/data_objects/settings.json index fb9189c..0aff3b2 100644 --- a/data_objects/settings.json +++ b/data_objects/settings.json @@ -1 +1 @@ -[{"name": "PLAYBACK_MODE", "value": "PLAYLIST"}, {"name": "PLAYLIST", "value": "[1,1,1,4,1,2,1,4]"}, {"name": "SYNC_LENGTHS", "value": "ON"}, {"name": "SYNC_LENGTHS_TO", "value": "00:08"}, {"name": "RAND_START", "value": "OFF"}, {"name": "VIDEO_OUTPUT", "value": "COMPOSITE"}, {"name": "DEV_MODE", "value": "ON"}] \ No newline at end of file +[{"name": "PLAYBACK_MODE", "value": "LOOPER"}, {"name": "PLAYLIST", "value": "[1,1,1,4,1,2,1,4]"}, {"name": "SYNC_LENGTHS", "value": "OFF"}, {"name": "SYNC_LENGTHS_TO", "value": "00:08"}, {"name": "RAND_START", "value": "OFF"}, {"name": "VIDEO_OUTPUT", "value": "COMPOSITE"}, {"name": "DEV_MODE", "value": "ON"}] diff --git a/video_centre/video_player.py b/video_centre/video_player.py index 8789dc5..17a9f3a 100644 --- a/video_centre/video_player.py +++ b/video_centre/video_player.py @@ -30,26 +30,35 @@ class video_player: self.player = OMXPlayer(self.location, args=self.arguments, dbus_name=self.name) self.omx_running = True self.duration = self.player.duration() + if(self.end is -1): + self.end = self.duration + if(self.start is -1): + self.start = 0 print('{}: the duration is {}'.format(self.name, self.duration)) + if(self.start > 0.5): + self.set_position(self.start - 0.5) self.pause_at_start() def pause_at_start(self): - position = self.get_position() - if(position > -0.05): + position = self.get_position() + start_threshold = self.start - 0.05 + print('position:{} threshold:{}'.format(position, start_threshold)) + if(position > start_threshold): self.status = 'LOADED' self.player.pause() + self.player.set_alpha(255) elif(self.omx_running): self.root.after(5,self.pause_at_start) def play(self): self.status = 'PLAYING' - self.player.set_alpha(255) self.player.play() self.pause_at_end() def pause_at_end(self): position = self.get_position() - if(position > (self.duration - 0.2 )): + end_threshold = self.end - 0.2 + if(position > end_threshold): self.status = 'FINISHED' self.player.pause() print('its paused at end!') @@ -89,6 +98,9 @@ class video_player: def seek(self, amount): self.player.seek(amount) + def set_position(self, position): + self.player.set_position(position) + def exit(self): try: self.player.quit()