diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 75fe3e0b2..89448ce77 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -14,8 +14,6 @@ v3.5.2 - Restored option to not delete archives on extraction - Fixed archive monitor activating when target folder already exists - Fixed 'open with picard' losing track of playtimes if filename was changed - - Fixed gstreamer not loading some file paths - - Fixed last.fm not scrobbling in gstreamer mode - Fixed replay gain indicator not offsetting position on full time indicator - Fixed time indicator possibly updating irregularly - Fixed "Fetching image" text rendering. @@ -24,7 +22,9 @@ v3.5.2 - Fixed tag bar on 1.25x UI scaling - Fixed wide art mode not locking ratio to less wide art then previous - Fixed wide art mode lock position being slightly incorrect - + - [Gst] Fixed loading file paths with certain characters in name + - [Gst] Fixed last.fm not scrobbling in gstreamer mode + - [Gst] Fixed tracks not being marked when missing v3.5.1 diff --git a/LICENSE.txt b/LICENSE.txt index fef2de1aa..f6828de8f 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -3,7 +3,7 @@ Release packages under releases page are subject to additional restrictions as p License for this repository alone is as below. __________________________________________________ Tauon Music Box -Copyright (c) 2015-2017, Taiko2k captain.gxj@gmail.com +Copyright (c) 2015-2019, Taiko2k captain.gxj@gmail.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. diff --git a/config.txt b/config.txt index 8bdf0c896..11b338217 100644 --- a/config.txt +++ b/config.txt @@ -1,49 +1,55 @@ -## Tauon Music Box config file +#### Tauon Music Box config file -## --- Playback / Audio -------------------------------------------------------- +### --- Playback / Audio (min 50ms, max 3000ms) -------------------------------------------------------- #pause-fade-time=400 #cross-fade-time=700 -## Use logarithmic volume instead of linear. (Provides wider range of control for lower volumes) (Bass Only) -#log-volume-scale=True +### Use logarithmic volume instead of linear. (Provides wider range of control for lower volumes) (Bass Only) -## --- Media Keys ------------------------------------------------------------- +#log-volume-scale -mediakay=True # (gnome media keys) -linux-mpris-enable=True +### --- Media Keys ------------------------------------------------------------- -## --- Spectrogram ---------------------------------------------------------- -## Base colour is the background colour. Are R,G,B int values. Must be from 0 to 255. -## Colour multiply values produce the foreground colour. Are R,G,B float values. Can be 0 to 1 or greater. +#disable-mediakey (gnome media keys) +#disable-linux-mpris + +### --- Spectrogram ---------------------------------------------------------- +### Base colour is the background colour. Are R,G,B int values. Must be from 0 to 255. +### Colour multiply values produce the foreground colour. Are R,G,B float values. Can be 0 to 1 or greater. + +vis-scroll -vis-scroll=True #vis-base-colour=10,10,10 #vis-colour-multiply=2,1.2,5 -## Colour of the bar spectrum visualiser is set per theme in the theme files under the 'music vis' label -## Colours of the level meter cannot currently be configured +### Colour of the bar spectrum visualiser is set per theme in the theme files under the 'music vis' label +### Colours of the level meter cannot currently be configured -## --- View ----------------------------------------------------------------- +### --- View ----------------------------------------------------------------- -scroll-gallery-row=True +scroll-gallery-row scroll-gallery-wheel=90 -## --- Encoding ------------------------------------------------------------------ -## Output directory for encoded files. Must have user write permissions. Default is encoder folder in program directory. +### --- Encoding ------------------------------------------------------------------ +### Output directory for encoded files. Must have user write permissions. Default is encoder folder in program directory. #output-dir=/home/example/music/output +### Additional directories to monitor with download monitor (Home download folder is always added by default) + #add_download_directory=/home/example/music/downloads -## --- Broadcasting ------------------------------------------------------------------ +### --- Broadcasting ------------------------------------------------------------------ broadcast-bitrate=128 broadcast-port=8000 -## Changing this port breaks player on web server radio page -## --- Tag Editor ---------------------------------------------------------------- -## External Tag editor loading. tag-editor-program is the binary name used on Linux, When program is closed, tags will be updated provided the filenames of tracks have not changed (filename changes are tracked with Picard) +### Changing this port breaks player on web server radio page + +### --- Tag Editor ---------------------------------------------------------------- +### External Tag editor loading. tag-editor-program is the binary name used on Linux, When program is closed, tags will be updated +### provided the filenames of tracks have not changed (filename changes are tracked with Picard) tag-editor-name=Picard tag-editor-program=picard diff --git a/t_modules/t_extra.py b/t_modules/t_extra.py index 36d50c58a..5f71e6866 100644 --- a/t_modules/t_extra.py +++ b/t_modules/t_extra.py @@ -1,7 +1,7 @@ # Tauon Music Box - Misc Functions Module -# Copyright © 2015-2018, Taiko2k captain(dot)gxj(at)gmail.com +# Copyright © 2015-2019, Taiko2k captain(dot)gxj(at)gmail.com # This file is part of Tauon Music Box. # diff --git a/t_modules/t_gstreamer.py b/t_modules/t_gstreamer.py index 4fb916498..24361e485 100644 --- a/t_modules/t_gstreamer.py +++ b/t_modules/t_gstreamer.py @@ -1,6 +1,6 @@ # Tauon Music Box - GStreamer backend Module -# Copyright © 2015-2018, Taiko2k captain(dot)gxj(at)gmail.com +# Copyright © 2015-2019, Taiko2k captain(dot)gxj(at)gmail.com # This file is part of Tauon Music Box. # @@ -86,12 +86,24 @@ def main_callback(self): if self.pctl.playerCommandReady: if self.pctl.playerCommand == 'open' and self.pctl.target_open != '': + # Check if the file exists, mark it as missing if not + if os.path.isfile(self.pctl.target_object.fullpath): + self.pctl.target_object.found = True + else: + self.pctl.target_object.found = False + print("Missing File: " + self.pctl.target_object.fullpath) + self.pctl.playing_state = 0 + self.pctl.advance(inplace=True, nolock=True) + GLib.timeout_add(19, self.main_callback) + return + + # Determine time position of currently playing track current_time = self.pl.query_position(Gst.Format.TIME)[1] / Gst.SECOND current_duration = self.pl.query_duration(Gst.Format.TIME)[1] / Gst.SECOND print("We are " + str(current_duration - current_time) + " seconds from end.") - gapless = False # If we are close to the end of the track, try transition gaplessly + gapless = False if self.play_state == 1 and self.pctl.start_time == 0 and 0.2 < current_duration - current_time < 4.5: print("Use GStreamer Gapless transition") gapless = True @@ -101,13 +113,9 @@ def main_callback(self): self.pl.set_state(Gst.State.READY) self.play_state = 1 - self.pl.set_property('uri', 'file://' + urllib.parse.quote(os.path.abspath(self.pctl.target_open))) - self.pl.set_property('volume', self.pctl.player_volume / 100) - self.pl.set_state(Gst.State.PLAYING) - self.pctl.playing_time = 0 time.sleep(0.1) # Setting and querying position right away seems to fail, so wait a small moment