Adrian Sampson
938563e287
echonest: get audio_summary in search ( fix #481 )
2013-12-18 12:35:31 -08:00
Adrian Sampson
6ab0abfa90
detect missing echonest fingerprints ( fix #477 )
2013-12-17 17:18:16 -08:00
Adrian Sampson
d0e53d48b3
echonest: tiny py26 fix
2013-12-12 15:50:08 -08:00
Adrian Sampson
4ea5ed9eed
echonest: always flatten results to dict
...
This avoids the need for two cases (song object or dict) in parts of the code.
2013-11-29 12:58:46 -08:00
Adrian Sampson
5e08c178e6
echonest: fix codegen/identify
...
I broke two things:
- forgot to return the fingerprint! oops
- need to handle raw Exception raised by pyechonest
2013-11-29 10:09:09 -08:00
Adrian Sampson
9bcd7aecae
echonest: clean up FFmpeg-based audio conversion
...
subprocess.check_call helps a lot here.
--HG--
extra : amend_source : 009a79de8f97407fc60b62aa6b7bd23856286082
2013-11-27 19:09:54 -08:00
Adrian Sampson
a0056afeaf
echonest: clean up analyze workflow
...
- handle the right exceptions
- add duration to from_track dict
2013-11-27 18:57:29 -08:00
Adrian Sampson
6b54514c65
echonest: simplify fingerprinting strategy
...
mostly expunging exception-based control flow
2013-11-27 18:35:21 -08:00
Adrian Sampson
d5dd68af24
echonest: sort analysis methods by priority
...
These are now ordered in the code in the same sequence that we try them:
- profile (ID)
- search (metadata)
- identify (fingerprint)
- analyze (upload)
2013-11-27 18:26:44 -08:00
Adrian Sampson
78688cc3f1
echonest: simplify ID-based lookup ("profile")
...
- don't use generic Exceptions for control flow
- extraneous .get() calls
2013-11-27 18:18:25 -08:00
Adrian Sampson
1ae2894a01
echonest: simplify method-aggregator loop
2013-11-26 18:20:25 -08:00
Adrian Sampson
4ad9635043
echonest: use pipeline stage
...
In addition to the performance benefit of running in our own thread, this also
obviates the need for the _songs dict to pass stuff between stages.
2013-11-26 18:11:14 -08:00
Adrian Sampson
d367bc31d4
echonest: don't needlessly write during import
...
On the import hook, the config['import']['write'] check (and writing at all)
is not necessary, since this will be taken care of later in the program.
2013-11-26 17:58:02 -08:00
Adrian Sampson
8fe254f086
echo nest: top-level code review pass
...
General Python/beets style changes:
- "x is None" can generally be replaced with "not x"
- prefer iteration over repetitive lines
- config[foo].get(bool) can be replaced with config[foo] in conditions
- removed extraneous "return None", which is what Python functions do
automatically if you don't return anything
- 79-column wrap
2013-11-26 15:20:18 -08:00
Peter Schnebel
8068e6b522
bugfix: honor the auto config option
2013-11-01 13:12:27 +01:00
Peter Schnebel
dab7ec219d
fixed log message
2013-10-27 12:04:58 +01:00
Peter Schnebel
538aa457e0
removed echonest_ prefix
2013-10-27 08:52:54 +01:00
Peter Schnebel
315522aafa
fix inverted conditional when fingerprinting (@pedros)
2013-10-26 17:32:30 +02:00
Peter Schnebel
f6613ee31c
added similarity finder plugin
2013-10-26 11:33:34 +02:00
Peter Schnebel
428302b45c
add echonest_id to debug output
2013-10-26 10:33:29 +02:00
Peter Schnebel
5e0bac8ab5
be a little less picky when judging matches
2013-10-26 10:30:42 +02:00
Peter Schnebel
e4792df50f
bugfix: don't use limit here
2013-10-26 10:29:21 +02:00
Peter Schnebel
a755fbcf53
workaround: also double check after profile
2013-10-26 10:28:11 +02:00
Peter Schnebel
c8c3c4ae66
workaround: onetime after analyze, the wrong song was returned. double check that. fall back to track data.
2013-10-26 10:26:55 +02:00
Peter Schnebel
9ac89b350c
bugfix: extract duration from track
2013-10-26 09:39:24 +02:00
Peter Schnebel
03f5f71732
show the artist / title as received from EchoNest
2013-10-26 09:09:00 +02:00
Peter Schnebel
1324498f29
bugfix
2013-10-26 09:06:47 +02:00
Peter Schnebel
c4445df8af
bugfix
2013-10-26 09:03:20 +02:00
Peter Schnebel
2d1788e595
bugfix
2013-10-26 08:58:39 +02:00
Peter Schnebel
a5be1648f9
new proposal
2013-10-26 08:56:56 +02:00
Peter Schnebel
6f5d4d1328
new proposal
2013-10-26 08:56:18 +02:00