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