canidae / locutus Goto Github PK
View Code? Open in Web Editor NEWMusic archive manager
Home Page: http://exent.net
License: MIT License
Music archive manager
Home Page: http://exent.net
License: MIT License
combining groups is fairly safe, and it increase amount of matched files. should be default set to true instead of false
change the name of this one too
currently we only support some few formats (mp3, ogg, flac, mpc), but taglib got support for several more formats.
we also need a better way to detect the format than just looking at extension
change name
musicbrainz occasionally remove albums (ie. merging two albums makes one disappear along with the unique musicbrainz ids), which leaves us with a sorted file that got no valid link to a track in the musicbrainz database.
most likely this is just to remove the musicbrainz ids (only from the database, not the file) and do a metadata search which hopefully should come up with a valid match.
currently it's not possible from the user interface to correct a file that's wrongly matched.
this is because of "track_id" not being set to null when we change eg. musicbrainz ids.
when we manually match tracks, but don't "force save" them they will disappear from the "matching" page and they will not be sorted.
this is probably a problem when we got "only save complete albums" and manually match every track in an incomplete album too.
this could be solved by "where file.filename like '<input_directory>%', but we'd still have problems with files in the output_directory that somehow lost their sortedness (album deleted from musicbrainz for some reason, or user moved file to output_directory manually)
some people may prefer just a simple database instead of setting up postgres
currently we check every file every time, that's quite an overkill. we're not using metatrack_cache_lifetime, and the idea behind that was to not check files which haven't been changed in x months...
probably need to think a bit around how to solve this
this is probably a bug in commoncpp. need to get this fixed, can't make locutus a daemon before this is in order
the documentation for the settings needs to be improved. some is updated, some just don't make sense for average joe
would be handy for samfundet, so we know which albums to (re)upload
while web gui is good for samfundet, it's not so good for average joe (come on, set up apache, perl, template toolkit, etc for a simple gui?).
let's throw together something in java that can be used on any computer!
in the tracknum field, only use numbers, text is useless there.
when fetching data from filename, exclude input/output/duplicate directory and the extension, but use the rest. currently we only use the filename, we may lose a great deal of information here
change name
currently it's very hard to know why a file wasn't sorted. this problem is however slightly difficult to resolve.
if the connection to the db goes down, for example when someone cuts the power (hrmph), locutus won't be able to reconnect as it only connects on startup
files where length mismatch usually shows:
in any case, user should do something about it
a file may lose connection to a track (ie. file was merged/deleted in musicbrainz). when that happens it'll remain in the output directory and the user probably want to know about it
tinyxml probably gives most of what i need for parsing xml. libcurl should give me what i need for communicating with the servers. tinyxml got zlib license, libcurl got mit license.
just change the name of this one so we got "lookup_genre" and "lookup_mbid"
don't know why this doesn't work.
currently we only use the most popular tag as genre. we should make this user customizable, for example two new settings:
we need to protect "<", ">", etc in metadata or it'll screw up the user interface.
it's about time we make locutus run on its own. we must however get the bug with lookups timing out fixed first.
other things that can be fixed in the meantime:
we need to simplify this code. there's a lot of legacy code that serves no purpose other than confusing the reader.
several classes can probably be simplified too, ie. Track, Artist, Album, Comparison, etc (no need for a cpp-file)
this really needs to be done now :p
it is pointless combining groups if we don't demand complete albums, because all files will be looked up anyways. the problem here is that the class that combines groups (Locutus) doesn't know whether we demand complete albums or not. possible solutions:
we might want to look more into this. currently we won't lookup files if we've compared the file with an album and the score is high enough when we demand complete albums. if we don't demand complete albums then we'll always look up the file.
is this sane? i think it is, the "only save complete albums" thingy sort of is the difference between "album matching" and "single file matching". it's possible this should be documented well somehow.
we should add a user-customizable "max_group_size" setting that simply ignores groups that are too large.
too large groups cause heavy memory and cpu usage (think of a group with 500 files from 500 different albums. it may load 500 albums (or lots more) which it needs to fuzzy match every file in the group with).
set the default value to 250 should be fairly safe. after all, we've been working on groups with more than 1000 random files.
sigh
the views are messy. first of all, there's a bunch of them, second their names are not very helpful and last, they pull out much more information than necessary.
the settings page is fairly difficult for the average user, and currently the settings is somewhere in the middle of "good for album based music archive" and "good for single track based archive". i think it's much better adjusting the settings to an album based archive. this is what most people got (or should have).
when we eg. select an album where we don't know what files are connected to then we need to clear the metadata.
also remember to update daemon at samfundet :p
currently we're using the name of the keys multiple times in Settings.java, this should rather be some public static final Strings
title says it all, long overdue
when we tell the album view to only list a given group it won't list tracks that don't have any files
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.