ArchitecturalSummary » History » Version 1
  Chris Cannam, 2012-01-13 04:47 PM 
  
| 1 | 1 | Chris Cannam | h1. Sonic Visualiser: architectural summary | 
|---|---|---|---|
| 2 | 1 | Chris Cannam | |
| 3 | 1 | Chris Cannam | Sonic Visualiser is a substantial application written in C++ using the "Qt":http://qt.nokia.com user interface toolkit. | 
| 4 | 1 | Chris Cannam | |
| 5 | 1 | Chris Cannam | It is a cross-platform application that can be built on (at least) OS/X, Windows, Linux, and Solaris, but it has a substantial number of dependencies on third-party libraries which contribute to the complexity of the build process. The code also does not currently build with Visual C++; the Windows build is done using MinGW and g++. | 
| 6 | 1 | Chris Cannam | |
| 7 | 1 | Chris Cannam | The Sonic Visualiser code is provided as a number of separate libraries, with varying dependencies. These are managed in separate projects on this code site, and are as follows: | 
| 8 | 1 | Chris Cannam | |
| 9 | 1 | Chris Cannam | * "svcore":/projects/svcore -- Non-interactive code, without user interface or audio device I/O. This contains a number of submodules: | 
| 10 | 1 | Chris Cannam | ** *system* -- Some system-dependent code that Qt did not provide | 
| 11 | 1 | Chris Cannam | ** *base* -- Miscellaneous handy classes | 
| 12 | 1 | Chris Cannam | ** *data/fft* -- FFT code | 
| 13 | 1 | Chris Cannam | ** *data/fileio* -- Audio file import and export and related classes | 
| 14 | 1 | Chris Cannam | ** *data/midi* -- MIDI-related code | 
| 15 | 1 | Chris Cannam | ** *data/model* -- Data models used for Sonic Visualiser's internal representations. These include waveforms (including zoomed previews) as well as grids (spectrograms etc) and editable data (time/value plots, MIDI-style note tracks, text etc). | 
| 16 | 1 | Chris Cannam | ** *data/osc* -- OSC control |