refactor audioStreamer classes to be more OOP
* added audioStreamer::WinApi, audioStreamer::MacApi, audioStreamer::NixApi public enums
* added many audioStreamer::DEFAULT_ device default public constants
* added NINJAM constants namespace in constants.h
* added NINJAM::MAX_USER_NAME_LEN, NINJAM::MAX_CHANNEL_NAME_LEN,
NINJAM::MAX_DEVICE_NAME_LEN, NINJAM::HOST_CHARS, NINJAM::NICK_CHARS constants
* named the NJClient:: connection status enum (as NJClient::ConnectionStatus)
* added NJClient::ConnectionStatus, NJClient::SubscribeMode, NJClient::SaveMultitrack,
NJClient::SaveMixdown, NJClient::DebugLevel enums
* added NJClient::GetLocalChannelName() convienence method
* added create_audioStreamer_ALSA() override accepting explicit params
* moved all create_audioStreamer_ functions into audioStreamer class
and renamed as NewASIO, NewKS, NewDS, New,WAVE, NewCA, NewJACK, NewALSA
* added audiostream_njasiodrv.cpp (functinality extraced from njasiodrv_if.cpp)
* re-wrote njasiodrv_create_asio_streamer to accept explicit params
(renamed as NewASIO())
* re-wrote init_dll() and njasiodrv_avail()
(renamed as LoadNjasiodrvDll() and IsNjasiodrvAvailable())
* renamed pointer cas() to newASIO()
* added audioStreamer::ASIO_DLL_FILENAME, audioStreamer::ASIO_CONSTRUCTOR_NAME,
audioStreamer::ASIO_ARGS_FMT private constants
* added DsDevice struct and audioStreamer::DsDevices vector
* added audioStreamer::GetDsNames(), audioStreamer::GetDsNamesCSV(),
audioStreamer::GetDsGuids(), audioStreamer::GetDsGuidsCSV(),
audioStreamer::GetDsGuidByName(), audioStreamer::GetDsGuidIdx(),
audioStreamer::DsGuidToString(), audioStreamer::DsGuidFromString()
audioStreamer::DsEnumDo() public helpers
* added audioStreamer::LoadDsDevices(), audioStreamer::StoreDsDevice() private helpers
* added audioStreamer::getNInputChannels(), audioStreamer::getNOutputChannels(),
audioStreamer::getSampleRate(), audioStreamer::getBitDepth()
audioStreamer::GetASIODriverName() public getters
* added GCC pragmas to supress warnings in WDL/string.h and WDL/jnetlib/httpget.h
* removed (commented) unused functions in WDL/pcmfmtcvt.h
re: is_stereo - this essentially equates to is_pannable
re: config_savelocalaudio
semantics =>
win.ini("saveogg") == ogg mixdown
win.ini("savewave") == wav mixdown
win.ini("savelocal") == ogg? multitrack
win.ini("savelocalwav") == wav multitrack
algorhythm =>
config_savelocalaudio = 0
if win.ini("savelocal")
=> config_savelocalaudio |= 1
=> if win.ini "savelocalwav"
=> config_savelocalaudio |= 2
if win.ini("savewave")
=> config_savelocalaudio (no internal representation)
waveWrite = new WaveWriter(GetWorkDir() + "output.wav" , 24 , ... )
if win.ini("saveogg")
=> config_savelocalaudio (no internal representation)
SetOggOutFile(fopen(GetWorkDir() + "output.ogg" ,"ab") , ... , win.ini("saveoggbr"))
if config_savelocalaudio
SetLogFile(GetWorkDir() + "clipsort.log")
re: config_debug_level - handling of this seems a bit wonky
never prints to log
for reference - these are some of the older pre-reqs for gninjam binary package
* deb http://gehrignet.de/ubuntu/ jaunty/ # gninjam
* deb http://gehrignet.de/ubuntu/ hardy/ # libninjam
$ sudo apt-get install gninjam # with only jaunty repo
The following packages have unmet dependencies:
gninjam : Depends: libninjam-client (>= 0.02-7ubuntu2) but it is not installable
$ sudo apt-get install gninjam # with both repos
The following packages will be REMOVED:
jackd2 jackd2-firewire libjack-jackd2-0 libjack-jackd2-dev
The following NEW packages will be installed:
gninjam jackd1 jackd1-firewire libgconf2-4 libgconfmm-2.6-1c2 libjack0
libninjam-client libninjam-common libxcb-render-util0 libzita-alsa-pcmi0
libzita-resampler1
$ sudo apt-get build-dep gninjam
The following packages will be REMOVED:
jackd2 jackd2-firewire libjack-jackd2-0 libjack-jackd2-dev
The following NEW packages will be installed:
gir1.2-gtk-2.0 jackd1 libatk1.0-dev libatkmm-1.6-dev
libcairo-script-interpreter2 libcairo2-dev libcairomm-1.0-dev libgconf2-dev
libgconfmm-2.6-1c2 libgconfmm-2.6-dev libgdk-pixbuf2.0-dev libglibmm-2.4-dev
libgtk2.0-dev libgtkmm-2.4-dev libharfbuzz-dev libharfbuzz-gobject0 libjack0
libninjam-client libninjam-client-dev libninjam-common libninjam-common-dev
libpango1.0-dev libpangomm-1.4-dev libsigc++-2.0-dev libxcb-shm0-dev
libxcomposite-dev libxi-dev libxrandr-dev libzita-alsa-pcmi0
libzita-resampler1 x11proto-composite-dev
# NOTE: do not install - jackd1 libjack0 libninjam-client libninjam-client-dev libninjam-common libninjam-common-dev
$ sudo apt-get install gir1.2-gtk-2.0 libatk1.0-dev libatkmm-1.6-dev libcairo-script-interpreter2 libcairo2-dev libcairomm-1.0-dev libgconf2-dev libgconfmm-2.6-1c2 libgconfmm-2.6-dev libgdk-pixbuf2.0-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libharfbuzz-dev libharfbuzz-gobject0 libpango1.0-dev libpangomm-1.4-dev libsigc++-2.0-dev libxcb-shm0-dev libxcomposite-dev libxi-dev libxrandr-dev libzita-alsa-pcmi0 libzita-resampler1 x11proto-composite-dev
The following NEW packages will be installed:
gir1.2-gtk-2.0 libatk1.0-dev libatkmm-1.6-dev libcairo-script-interpreter2
libcairo2-dev libcairomm-1.0-dev libgconf2-dev libgconf2-doc
libgconfmm-2.6-1c2 libgconfmm-2.6-dev libgdk-pixbuf2.0-dev libglibmm-2.4-dev
libgtk2.0-dev libgtkmm-2.4-dev libharfbuzz-dev libharfbuzz-gobject0
libpango1.0-dev libpangomm-1.4-dev libsigc++-2.0-dev libxcb-shm0-dev
libxcomposite-dev libxi-dev libxrandr-dev libzita-alsa-pcmi0
libzita-resampler1 x11proto-composite-dev