MeetingGoldsmithsDec2011 » History » Version 1
Chris Cannam, 2012-03-01 03:57 PM
1 | 1 | Chris Cannam | h1. AudioDB Meeting, Goldsmiths Dec 2011 |
---|---|---|---|
2 | 1 | Chris Cannam | |
3 | 1 | Chris Cannam | MC, CR, CC, LF |
4 | 1 | Chris Cannam | |
5 | 1 | Chris Cannam | *Current state* |
6 | 1 | Chris Cannam | |
7 | 1 | Chris Cannam | * Library |
8 | 1 | Chris Cannam | ** Mainline code in trunk works OK |
9 | 1 | Chris Cannam | ** Library API is "quite good" |
10 | 1 | Chris Cannam | ** Error handling is a very weak point |
11 | 1 | Chris Cannam | |
12 | 1 | Chris Cannam | * Indexing |
13 | 1 | Chris Cannam | ** LSH should be in a separate library, but it has no clear interface yet |
14 | 1 | Chris Cannam | ** There are contortions between e.g. query.c and query-indexed.c |
15 | 1 | Chris Cannam | ** There is no introspection, e.g. no way to say "is there an index that satisfies this query?" -- only to say "satisfy this query" and fail |
16 | 1 | Chris Cannam | |
17 | 1 | Chris Cannam | * Tools |
18 | 1 | Chris Cannam | ** Currently we have a library, and a command-line binary which does not use the library API but instead uses some of the same .o files directly |
19 | 1 | Chris Cannam | ** Some functions are not properly library-ized, for example the command-line tool is the only way to create an index at the moment |
20 | 1 | Chris Cannam | ** Old fftExtract binary is still in use in some places with a new latent feature separation front-end |
21 | 1 | Chris Cannam | |
22 | 1 | Chris Cannam | * Bindings |
23 | 1 | Chris Cannam | ** Lisp, Python: Quite good |
24 | 1 | Chris Cannam | ** pd: broken-ish |
25 | 1 | Chris Cannam | ** Some additional interfaces e.g. SOAP that predate the stable API and are pretty horrible now |
26 | 1 | Chris Cannam | ** Bindings are not built automatically |
27 | 1 | Chris Cannam | |
28 | 1 | Chris Cannam | * Documentation |
29 | 1 | Chris Cannam | ** Essentially none |
30 | 1 | Chris Cannam | ** Public header has some rather cryptic stuff |
31 | 1 | Chris Cannam | |
32 | 1 | Chris Cannam | * Licence |
33 | 1 | Chris Cannam | ** Currently all GPL |
34 | 1 | Chris Cannam | |
35 | 1 | Chris Cannam | *Actions* |
36 | 1 | Chris Cannam | |
37 | 1 | Chris Cannam | * Philosophy: Project should be a set of modules -- not so much a database, as libraries with tools that make use of them |
38 | 1 | Chris Cannam | * Discard broken / ancient interfaces e.g. SOAP |
39 | 1 | Chris Cannam | * Refactor API so that the (existing) "world object" concept is carried through in order to retain error condition state |
40 | 1 | Chris Cannam | * Document API |
41 | 1 | Chris Cannam | * Rebuild command-line utility in either C C++ or Python using the API only, and augment API if there are things it needs that don't exist there yet |
42 | 1 | Chris Cannam | * Document command-line utility |
43 | 1 | Chris Cannam | * (Keep bindings in same repo, don't spin them out) |
44 | 1 | Chris Cannam | * Try to build module API for LSH so that alternative implementations could be introduced |
45 | 1 | Chris Cannam | * Licence: LGPL for library, BSD for bindings |