jamulus/src
Peter L Jones 8c1deffda7 Add recording support with Reaper Project generation
Includes the following changes

* Initial .gitignore
Administrative

* Fix up warning message
* Not all Windows file systems are case insensitive
Bugfixes

* (Qt5) Use QCoreApplication for headless
Possible solution to get the application to run as a headless server but it loses the nice history graph, so not ideal.

* Avoid ESC closing chat
Because ESC shouldn't close the chat window. Or the main app window.

* Add console logging support for Windows
Whilst looking for the headless support, I found this idea for Windows logging.  New improved version.  This makes far fewer changes.

----

* Add recording support with Reaper Project generation
The main feature!
    * New -r option to enable recording of PCM files and conversion to Reaper RPP with WAV files
    * New -R option to set the directory in which to create recording sessions
    You need to specify the -R option, there's no default... so I guess -r and -R could be combined.
    * New -T option to convert a session directory with PCM files into a Reaper RPP with WAV files
    You can use -T on "failed" sessions, if the -r option captures the PCMs but the RPP converter doesn't run for some reaon. (It was useful during development, maybe less so once things seem stable.)

The recorder is implemented as a new thread with queuing from the main "real time" server thread.

When a new client connects or if its audio format changes (e.g. mono to stereo), a new RIFF WAVE file is started.  Each frame of decompressed audio for each client written out as LPCM to the file.  When the client disconnects, the RIFF WAVE headers are updated to reflect the file length.

Once all clients disconnect, the session is considered ended and a Reaper RPP file is written.
2019-04-03 18:12:45 +01:00
..
recorder Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
res added new instrument picture for "Guitar+Vocal" 2015-02-04 07:06:56 +00:00
aboutdlgbase.ui 2017 -> 2018 2018-03-09 21:13:02 +00:00
analyzerconsole.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
analyzerconsole.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
audiomixerboard.cpp use integer for the fader level message 2019-01-12 12:59:16 +00:00
audiomixerboard.h use integer for the fader level message 2019-01-12 12:59:16 +00:00
buffer.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
buffer.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
channel.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
channel.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
chatdlg.cpp Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
chatdlg.h Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
chatdlgbase.ui rename GUI controls according to new prefix definition 2011-05-08 20:13:26 +00:00
client.cpp use integer for the fader level message 2019-01-12 12:59:16 +00:00
client.h use integer for the fader level message 2019-01-12 12:59:16 +00:00
clientdlg.cpp Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
clientdlg.h Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
clientdlgbase.ui removed fader tag edit, country and instrument buttons (since this is done in the profile dialog now) 2015-01-31 10:04:15 +00:00
clientsettingsdlg.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
clientsettingsdlg.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
clientsettingsdlgbase.ui added a new client fader level setting 2015-11-25 15:52:00 +00:00
connectdlg.cpp make sure we do not get a too long horizontal scroll bar 2018-03-20 17:10:25 +00:00
connectdlg.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
connectdlgbase.ui on request show the names of the connected clients in the server list 2015-12-09 15:50:30 +00:00
global.h Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
main.cpp Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
multicolorled.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
multicolorled.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
multicolorledbar.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
multicolorledbar.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
protocol.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
protocol.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
resources.qrc added new instrument picture for "Guitar+Vocal" 2015-02-04 07:06:56 +00:00
server.cpp Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
server.h Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
serverdlg.cpp Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
serverdlg.h Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
serverdlgbase.ui change the mechanism of how the LEDs are updated -> no window event posts anymore to avoid blocking in the critical audio thread 2014-01-03 08:54:49 +00:00
serverlist.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
serverlist.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
serverlogging.cpp Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
serverlogging.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
settings.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
settings.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
socket.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
socket.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
soundbase.cpp use the given MIDI channel number of filtering input MIDI messages (channel number 0 means that we listen to all channels) 2019-01-22 16:11:41 +00:00
soundbase.h use the given MIDI channel number of filtering input MIDI messages (channel number 0 means that we listen to all channels) 2019-01-22 16:11:41 +00:00
testbench.h 2017 -> 2018 2018-03-09 21:13:02 +00:00
util.cpp 2017 -> 2018 2018-03-09 21:13:02 +00:00
util.h Add recording support with Reaper Project generation 2019-04-03 18:12:45 +01:00
vstmain.cpp update of copyright 2011-02-22 18:56:52 +00:00
vstmain.h update of copyright 2011-02-22 18:56:52 +00:00
vstsound.h same fixes, some cleanup, some server list implementation 2011-03-31 18:25:14 +00:00