Commit graph

23 commits

Author SHA1 Message Date
Peter L Jones
005a506b0d
Merge branch 'master' into feature/pljones-audio-stream-saving 2019-04-03 18:14:49 +01:00
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
Volker Fischer
e8096e48f0 2018 -> 2019 2019-03-24 09:30:30 +01:00
Volker Fischer
8bfdc7347a 2017 -> 2018 2018-03-09 21:13:02 +00:00
Volker Fischer
b0d37c86e7 2016 -> 2017 2017-08-11 21:08:54 +00:00
Volker Fischer
ca73117279 update the copyright 2015-12-31 13:14:09 +00:00
Volker Fischer
33e5a07cf7 change all 2014 to 2015 2015-02-04 18:17:23 +00:00
Volker Fischer
c0a67a9884 update to 2014 2014-01-05 16:52:38 +00:00
Volker Fischer
a7895f88ea update year to 2013 2013-01-23 10:41:13 +00:00
Volker Fischer
dd1b97319f qmake is now the one and only supported environment 2013-01-09 09:28:15 +00:00
Volker Fischer
547dbf8e9a qt5 fixes 2013-01-08 19:26:05 +00:00
Volker Fischer
87aabee220 changed the qt includes to regular ones (without the .h) 2013-01-02 20:41:04 +00:00
Volker Fischer
856bd35039 rename GUI controls according to new prefix definition 2011-05-08 20:13:26 +00:00
Volker Fischer
f0a3e97b96 update of copyright 2011-02-22 18:56:52 +00:00
Volker Fischer
741b408ef1 fix for Linux 2010-04-09 17:54:34 +00:00
Volker Fischer
016316236a make it possible to use qmake for Linux, too 2010-04-09 17:45:29 +00:00
Volker Fischer
09f9b3bb3c some preparations for Mac port and VST interface 2010-02-18 20:35:48 +00:00
Volker Fischer
769f02e5e7 updated copyright 2010-01-03 13:40:46 +00:00
Volker Fischer
7156763e4b added clear button to chat dialog, improvements for accessiblity for chat dialog 2009-11-30 22:16:31 +00:00
Volker Fischer
f3c5b69aba implement checks for string sizes 2009-10-26 21:10:14 +00:00
Volker Fischer
c077f6ecf8 code cleanup (removed tabs), 2008 -> 2009 2009-02-22 11:07:18 +00:00
Volker Fischer
70d368c9b7 first working version of chat functionality 2008-07-24 16:20:25 +00:00
Volker Fischer
466354c39d initial chat dialog work, no actual functionality added yet 2008-07-24 06:14:41 +00:00