Fixed the encoder adding 'lame', 'ffmpeg', 'xld' to the end of the encoder path which was breaking encoding on windows. Also prevent Headphones from daemonizing under Windows

This commit is contained in:
rembo10
2012-12-05 05:06:49 -05:00
parent 7c482b3604
commit 3b757cfce0
5 changed files with 39 additions and 15 deletions
+4 -1
View File
@@ -109,7 +109,10 @@ def main():
headphones.initialize() headphones.initialize()
if headphones.DAEMON: if headphones.DAEMON:
headphones.daemonize() if sys.platform == "win32":
print "Daemonize not supported under Windows, starting normally"
else:
headphones.daemonize()
#configure the connection to the musicbrainz database #configure the connection to the musicbrainz database
headphones.mb.startmb() headphones.mb.startmb()
+1 -1
View File
@@ -546,7 +546,7 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<label>Path to Encoder</label> <label>Path to Encoder (Optional)</label>
<input type="text" name="encoderfolder" value="${config['encoderfolder']}" size="43"> <input type="text" name="encoderfolder" value="${config['encoderfolder']}" size="43">
</div> </div>
</td> </td>
+17 -3
View File
@@ -169,6 +169,7 @@ FOLDER_PERMISSIONS = None
MUSIC_ENCODER = False MUSIC_ENCODER = False
ENCODERFOLDER = None ENCODERFOLDER = None
ENCODER_PATH = None
ENCODER = None ENCODER = None
XLDPROFILE = None XLDPROFILE = None
BITRATE = None BITRATE = None
@@ -268,7 +269,7 @@ def initialize():
LIBRARYSCAN, LIBRARYSCAN_INTERVAL, DOWNLOAD_SCAN_INTERVAL, SAB_HOST, SAB_USERNAME, SAB_PASSWORD, SAB_APIKEY, SAB_CATEGORY, \ LIBRARYSCAN, LIBRARYSCAN_INTERVAL, DOWNLOAD_SCAN_INTERVAL, SAB_HOST, SAB_USERNAME, SAB_PASSWORD, SAB_APIKEY, SAB_CATEGORY, \
NZBMATRIX, NZBMATRIX_USERNAME, NZBMATRIX_APIKEY, NEWZNAB, NEWZNAB_HOST, NEWZNAB_APIKEY, NEWZNAB_ENABLED, EXTRA_NEWZNABS,\ NZBMATRIX, NZBMATRIX_USERNAME, NZBMATRIX_APIKEY, NEWZNAB, NEWZNAB_HOST, NEWZNAB_APIKEY, NEWZNAB_ENABLED, EXTRA_NEWZNABS,\
NZBSORG, NZBSORG_UID, NZBSORG_HASH, NEWZBIN, NEWZBIN_UID, NEWZBIN_PASSWORD, LASTFM_USERNAME, INTERFACE, FOLDER_PERMISSIONS, \ NZBSORG, NZBSORG_UID, NZBSORG_HASH, NEWZBIN, NEWZBIN_UID, NEWZBIN_PASSWORD, LASTFM_USERNAME, INTERFACE, FOLDER_PERMISSIONS, \
ENCODERFOLDER, ENCODER, XLDPROFILE, BITRATE, SAMPLINGFREQUENCY, MUSIC_ENCODER, ADVANCEDENCODER, ENCODEROUTPUTFORMAT, ENCODERQUALITY, \ ENCODERFOLDER, ENCODER_PATH, ENCODER, XLDPROFILE, BITRATE, SAMPLINGFREQUENCY, MUSIC_ENCODER, ADVANCEDENCODER, ENCODEROUTPUTFORMAT, ENCODERQUALITY, \
ENCODERVBRCBR, ENCODERLOSSLESS, DELETE_LOSSLESS_FILES, PROWL_ENABLED, PROWL_PRIORITY, PROWL_KEYS, PROWL_ONSNATCH, \ ENCODERVBRCBR, ENCODERLOSSLESS, DELETE_LOSSLESS_FILES, PROWL_ENABLED, PROWL_PRIORITY, PROWL_KEYS, PROWL_ONSNATCH, \
PUSHOVER_ENABLED, PUSHOVER_PRIORITY, PUSHOVER_KEYS, PUSHOVER_ONSNATCH, MIRRORLIST, \ PUSHOVER_ENABLED, PUSHOVER_PRIORITY, PUSHOVER_KEYS, PUSHOVER_ONSNATCH, MIRRORLIST, \
MIRROR, CUSTOMHOST, CUSTOMPORT, CUSTOMSLEEP, HPUSER, HPPASS, XBMC_ENABLED, XBMC_HOST, XBMC_USERNAME, XBMC_PASSWORD, XBMC_UPDATE, \ MIRROR, CUSTOMHOST, CUSTOMPORT, CUSTOMSLEEP, HPUSER, HPPASS, XBMC_ENABLED, XBMC_HOST, XBMC_USERNAME, XBMC_PASSWORD, XBMC_UPDATE, \
@@ -405,7 +406,8 @@ def initialize():
INTERFACE = check_setting_str(CFG, 'General', 'interface', 'default') INTERFACE = check_setting_str(CFG, 'General', 'interface', 'default')
FOLDER_PERMISSIONS = check_setting_str(CFG, 'General', 'folder_permissions', '0755') FOLDER_PERMISSIONS = check_setting_str(CFG, 'General', 'folder_permissions', '0755')
ENCODERFOLDER = check_setting_str(CFG, 'General', 'encoderfolder', '') ENCODERFOLDER = check_setting_str(CFG, 'General', 'encoderfolder', '')
ENCODER_PATH = check_setting_str(CFG, 'General', 'encoder_path', '')
ENCODER = check_setting_str(CFG, 'General', 'encoder', 'ffmpeg') ENCODER = check_setting_str(CFG, 'General', 'encoder', 'ffmpeg')
XLDPROFILE = check_setting_str(CFG, 'General', 'xldprofile', '') XLDPROFILE = check_setting_str(CFG, 'General', 'xldprofile', '')
BITRATE = check_setting_int(CFG, 'General', 'bitrate', 192) BITRATE = check_setting_int(CFG, 'General', 'bitrate', 192)
@@ -493,6 +495,18 @@ def initialize():
FOLDER_FORMAT = replace_all(FOLDER_FORMAT, folder_values) FOLDER_FORMAT = replace_all(FOLDER_FORMAT, folder_values)
CONFIG_VERSION = '2' CONFIG_VERSION = '2'
if CONFIG_VERSION == '2':
# Update the config to use direct path to the encoder rather than the encoder folder
if ENCODERFOLDER:
if ENCODER == "xld":
ENCODER_PATH = os.path.join(headphones.ENCODERFOLDER.encode(headphones.SYS_ENCODING), 'xld')
elif ENCODER == "ffmpeg":
ENCODER_PATH = os.path.join(headphones.ENCODERFOLDER.encode(headphones.SYS_ENCODING), 'ffmpeg')
elif ENCODER == "lame":
ENCODER_PATH = os.path.join(headphones.ENCODERFOLDER.encode(headphones.SYS_ENCODING), 'lame')
CONFIG_VERSION = '3'
if not LOG_DIR: if not LOG_DIR:
LOG_DIR = os.path.join(DATA_DIR, 'logs') LOG_DIR = os.path.join(DATA_DIR, 'logs')
@@ -749,7 +763,7 @@ def config_write():
new_config['General']['xldprofile'] = XLDPROFILE new_config['General']['xldprofile'] = XLDPROFILE
new_config['General']['bitrate'] = int(BITRATE) new_config['General']['bitrate'] = int(BITRATE)
new_config['General']['samplingfrequency'] = int(SAMPLINGFREQUENCY) new_config['General']['samplingfrequency'] = int(SAMPLINGFREQUENCY)
new_config['General']['encoderfolder'] = ENCODERFOLDER new_config['General']['encoder_path'] = ENCODER_PATH
new_config['General']['advancedencoder'] = ADVANCEDENCODER new_config['General']['advancedencoder'] = ADVANCEDENCODER
new_config['General']['encoderoutputformat'] = ENCODEROUTPUTFORMAT new_config['General']['encoderoutputformat'] = ENCODEROUTPUTFORMAT
new_config['General']['encoderquality'] = ENCODERQUALITY new_config['General']['encoderquality'] = ENCODERQUALITY
+15 -8
View File
@@ -85,15 +85,22 @@ def encode(albumPath):
musicTemp = os.path.normpath(os.path.splitext(music)[0] + '.' + encoderFormat) musicTemp = os.path.normpath(os.path.splitext(music)[0] + '.' + encoderFormat)
musicTempFiles.append(os.path.join(tempDirEncode, musicTemp)) musicTempFiles.append(os.path.join(tempDirEncode, musicTemp))
if XLD: if headphones.ENCODER_PATH:
if headphones.ENCODERFOLDER: encoder = headphones.ENCODER_PATH.encode(headphones.SYS_ENCODING)
encoder = os.path.join(headphones.ENCODERFOLDER.encode(headphones.SYS_ENCODING), 'xld') else:
else: if XLD:
encoder = os.path.join('/Applications', 'xld') encoder = os.path.join('/Applications', 'xld')
elif headphones.ENCODER=='lame': elif headphones.ENCODER =='lame':
encoder=os.path.join(headphones.ENCODERFOLDER.encode(headphones.SYS_ENCODING),'lame') if headphones.SYS_PLATFORM == "win32":
elif headphones.ENCODER=='ffmpeg': ## NEED THE DEFAULT LAME INSTALL ON WIN!
encoder=os.path.join(headphones.ENCODERFOLDER.encode(headphones.SYS_ENCODING),'ffmpeg') encoder = "C:/Program Files/lame/lame.exe"
else:
encoder="lame"
elif headphones.ENCODER =='ffmpeg':
if headphones.SYS_PLATFORM == "win32":
encoder = "C:/Program Files/ffmpeg/ffmpeg.exe"
else:
encoder="ffmpeg"
i=0 i=0
for music in musicFiles: for music in musicFiles:
+2 -2
View File
@@ -626,7 +626,7 @@ class WebInterface(object):
"encoder": headphones.ENCODER, "encoder": headphones.ENCODER,
"xldprofile": headphones.XLDPROFILE, "xldprofile": headphones.XLDPROFILE,
"bitrate": int(headphones.BITRATE), "bitrate": int(headphones.BITRATE),
"encoderfolder": headphones.ENCODERFOLDER, "encoderfolder": headphones.ENCODER_PATH,
"advancedencoder": headphones.ADVANCEDENCODER, "advancedencoder": headphones.ADVANCEDENCODER,
"encoderoutputformat": headphones.ENCODEROUTPUTFORMAT, "encoderoutputformat": headphones.ENCODEROUTPUTFORMAT,
"samplingfrequency": headphones.SAMPLINGFREQUENCY, "samplingfrequency": headphones.SAMPLINGFREQUENCY,
@@ -770,7 +770,7 @@ class WebInterface(object):
headphones.XLDPROFILE = xldprofile headphones.XLDPROFILE = xldprofile
headphones.BITRATE = int(bitrate) headphones.BITRATE = int(bitrate)
headphones.SAMPLINGFREQUENCY = int(samplingfrequency) headphones.SAMPLINGFREQUENCY = int(samplingfrequency)
headphones.ENCODERFOLDER = encoderfolder headphones.ENCODER_PATH = encoderfolder
headphones.ADVANCEDENCODER = advancedencoder headphones.ADVANCEDENCODER = advancedencoder
headphones.ENCODEROUTPUTFORMAT = encoderoutputformat headphones.ENCODEROUTPUTFORMAT = encoderoutputformat
headphones.ENCODERVBRCBR = encodervbrcbr headphones.ENCODERVBRCBR = encodervbrcbr