Commit graph

199 commits

Author SHA1 Message Date
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
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
be63533c82 automatic server setting for permanent server flag in the protocol 2016-02-09 16:09:59 +00:00
Volker Fischer
f66db79b8b store more fader levels in the ini file 2016-01-06 09:16:32 +00:00
Volker Fischer
ca73117279 update the copyright 2015-12-31 13:14:09 +00:00
Volker Fischer
826866fe3e increase the maximum number of sound card channels supported by Jamulus 2015-11-25 15:55:05 +00:00
Volker Fischer
7ace26f23e added a new client fader level setting 2015-11-25 15:52:00 +00:00
Volker Fischer
b63a625ffa changed the default central server URL 2015-10-18 19:07:43 +00:00
Volker Fischer
c17413afe3 revert back to original URL 2015-10-10 09:41:58 +00:00
Volker Fischer
e3675e1b40 changed central server URL to jamulus.no-ip.org 2015-10-10 06:45:30 +00:00
Volker Fischer
12889fbea5 fixed a buffer overrun problem in the Mac audio interface if the sound card has a lot of input and output channels 2015-07-05 12:00:54 +00:00
Volker Fischer
33e5a07cf7 change all 2014 to 2015 2015-02-04 18:17:23 +00:00
Volker Fischer
461650d4e2 increase the default used number channels for server 2014-03-11 19:39:44 +00:00
Volker Fischer
17b5bb6dd9 introduce macro ENABLE_CLIENT_VERSION_AND_OS_DEBUGGING for enabling the version and OS query in the client (for debugging reasons) 2014-02-23 09:46:25 +00:00
Volker Fischer
388664e48e support for querying the server version and OS type for debugging purpose (not in the regular version available) 2014-02-21 21:25:26 +00:00
Volker Fischer
2ac7a92eaf finished implementation of a separate socket high priority thread 2014-02-16 08:20:07 +00:00
Volker Fischer
180837f70b store fader solo state 2014-01-19 10:51:31 +00:00
Volker Fischer
02e88840e9 added a TODO comment 2014-01-12 07:42:43 +00:00
Volker Fischer
4baf2c5ef5 replaced global "MUL_COL_LED_*" definitions by actual enum definitions in the multicolor LED class 2014-01-05 18:26:38 +00:00
Volker Fischer
c0a67a9884 update to 2014 2014-01-05 16:52:38 +00:00
Volker Fischer
6e49e4e92c 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
Volker Fischer
e9a5962ef1 some cleanup: remove unnecessary GUI messages (they are not used because we only have callback based sound interfaces right now) 2014-01-02 20:11:56 +00:00
Volker Fischer
ae874ae0b4 changed MAX_NUM_CHANNELS to 20 2013-09-08 20:15:21 +00:00
Volker Fischer
3feb43054f added some more comments 2013-08-23 15:36:37 +00:00
Volker Fischer
e8b65b6c0d disable the "socket in separate thread" code again since it does not perform the way it was intended to 2013-08-18 18:08:08 +00:00
Volker Fischer
9d05436964 enable the experimental "threaded socket" code since one outstanding issue is now fixed :"fix for the "Multiple socket notifiers for same socket" error if threaded socket is used" 2013-08-18 07:41:30 +00:00
Volker Fischer
6bdb82c65f Added support for putting the receive socket in a separate thread. Unfortunately the current code does not work as expected. Some Qt warnings appear and after a while the receive socket does not receive any more network packets. Therefore a global macro is introduced to enable/disable the new code. Default is: disabled. 2013-06-03 16:07:17 +00:00
Volker Fischer
f157bd0d2a jamulus.dyndns.org is now active 2013-03-24 15:46:07 +00:00
Volker Fischer
ddbc1d3d8d get rid of "Llcon" 2013-03-24 15:42:23 +00:00
Volker Fischer
196f0ff477 get rid of the name "llcon" 2013-03-24 10:49:25 +00:00
Volker Fischer
06b485b231 exchanged llcon by Jamulus in almost all places except the Sourceforge download path and the llcon.dyndns.org server 2013-03-24 09:20:19 +00:00
Volker Fischer
a130b1425c add the version number in the qt project file rather than in the global.h 2013-03-24 08:54:11 +00:00
Volker Fischer
b69e8a3028 removed OPUS_EXPECTED_PACKET_LOSS_PERC because it seems not to be used in the CELT decoder (just for SILK) 2013-03-10 08:15:15 +00:00
Volker Fischer
2b6e97bb83 change packet loss expected amount for OPUS decoder (to be optimized) 2013-03-06 16:45:35 +00:00
Volker Fischer
797a991417 support for storing fader tags/levels in settings file 2013-02-28 20:54:47 +00:00
Volker Fischer
f79d8e410c new version number 2013-02-24 09:59:51 +00:00
Volker Fischer
ee358b3680 prepare for release 2013-02-24 09:05:47 +00:00
Volker Fischer
bffbe17abf started work on "storing fader gains" request 2013-02-24 09:03:57 +00:00
Volker Fischer
44f4da79b9 small fix in comment 2013-02-20 18:31:25 +00:00
Volker Fischer
05a71cd572 fixes by Michael Gorbovitski (mickg100) for OPUS performance improvement -> Thank you! 2013-02-20 17:22:04 +00:00
Volker Fischer
5562410594 changed name from llcon to Jamulus 2013-02-19 21:20:15 +00:00
Volker Fischer
400095b3dc added CELT_MINIMUM_NUM_BYTES 2013-02-12 15:32:05 +00:00
Volker Fischer
7c52b81287 increase default maximum number of server channels from 6 to 7 2013-02-12 14:40:50 +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
ac5066066c fix for Ubuntu compilation 2012-12-31 12:45:28 +00:00
Volker Fischer
2f153b6a8e new cvs version 2012-07-15 14:23:36 +00:00
Volker Fischer
03694697c7 release version number 2012-07-15 08:00:19 +00:00
Volker Fischer
046cb18253 lower slave server register time (15 minutes) 2012-07-09 12:58:35 +00:00
Volker Fischer
fa30a903a3 support for sending ping messages to servers in the server list to keep to port open in the NAT of the slave server 2012-06-05 06:25:19 +00:00