simon-r/dr14_t.meter

Dynamic Range Database no longer accepts dr14_t.meter log files as valid

Opened this issue · 9 comments

dnwe commented

Attempting to add a new entry on dr.loudness-war is being rejected as an invalid log file. This has previously worked, so I'm assuming this is them having tightened up their validation?

I've added this one:
http://dr.loudness-war.info/album/view/102321

Try to use the options:
dr14_tmeter -d -b

dnwe commented

Ah, I was only doing -d without the basic option

Maybe they have modified the validation.

Works for me.

I think it's trivial to compare formats… maybe I'll try it. If somebody else is still experiencing the issue.
Or maybe time to close it?

I've added this entry:
http://dr.loudness-war.info/album/view/124345

I can confirm that DRB complained for the -d version that the log wasn't valid. But it accepted gracefully the -d -b version.

Perhaps this should at least be documented for those who expect -d to work with DRB.

I've just added this entry:
http://dr.loudness-war.info/album/view/124362

And I think I found the issue with -d. It outputs:

 Album: Elgar - Enigma Variations
 Artist: LSO (Colin Davis)

Which seems to confuse DRD. I replaced this with:

 Analyzed folder:  LSO (Colin Davis) - Elgar - Enigma Variations

And the log passed validation. I suspect this is what needs to be fixed to make -d compatible with DRD.

kolen commented

Seems that -d option is not passed to WriteDr.

WriteDr itself has code that outputs single-line title if "loudness_war_db_compatible" options is turned on.

if self.get_loudness_war_db_compatible():
title = ""
if album_t == None:
title = " Analyzed folder: " + album_dir
else:
title = " Analyzed: " + album_t
if artist != None:
title = title + " / Artist: " + artist
tm.add_title(title)
else:
if album_t == None:
tm.add_title(" Analyzed folder: " + album_dir)
else:
tm.add_title(" Album: " + album_t)
if artist != None:
tm.add_title(" Artist: " + artist)

options just always have dr_database = False right after parse_args()

def main():

    options = parse_args()
    print(options)    # added this line
    sys.exit(1)       # added this line
~/items/dr14_t.meter % ./dr14_tmeter -d -r somedir
Namespace(append=False, basic_table=False, compress=None, disable_database=False, disable_multithread=False, dr_database=False, dump_database=False, dynamic_vivacity=False, enable_database=False, files_list=False, histogram=False, lev_histogram=False, out_dir=None, out_tables='t', path_name='somedir', plot_track=False, plot_track_dst=False, print_std_out=False, query=None, quiet=False, recursive=True, scan_file=False, skip_version_check=False, spectrogram=False, turn_off_out=False, version=False)
~/items/dr14_t.meter % ./dr14_tmeter --dr_database -r somedir
Namespace(append=False, basic_table=False, compress=None, disable_database=False, disable_multithread=False, dr_database=False, dump_database=False, dynamic_vivacity=False, enable_database=False, files_list=False, histogram=False, lev_histogram=False, out_dir=None, out_tables='t', path_name='somedir', plot_track=False, plot_track_dst=False, print_std_out=False, query=None, quiet=False, recursive=True, scan_file=False, skip_version_check=False, spectrogram=False, turn_off_out=False, version=False)

-d, --dr_database arg has store_false, most likely it's a bug and not intended logic

parser.add_argument("-d", "--dr_database",
action="store_false",
dest="dr_database",
help="Output file compatible with the DR database at http:///www.dr.loudness-war.info")

So, workaround is to not add -d command-line argument, and log file will be "loudness war database" compatible, example.

kolen commented

Fixed in master.