Commit graph

151 commits

Author SHA1 Message Date
Volker Fischer
30b5833d3d - remove unnecessary command line argument (if directory is given, the recording is enabled automatically
- jamrecorder is not a pointer in the class but an object now
- only call jamrecorder functions if it is enabled
2019-04-11 22:25:36 +02:00
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
ea24503fdc preparation for MIDI controller audio fader level support 2019-01-12 12:45:08 +00: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
403bf81f2a removed some unnecessary code 2016-03-06 10:09:41 +00:00
Volker Fischer
ca73117279 update the copyright 2015-12-31 13:14:09 +00:00
Volker Fischer
e674b21c0c nogui option is also supported for the client 2015-10-24 14:34:05 +00:00
Volker Fischer
b5bae73ab3 added support for server disconnection 2015-10-17 15:37:58 +00:00
Volker Fischer
a46ea26cd8 support client operation without using a GUI frontend 2015-03-25 20:29:52 +00:00
Volker Fischer
33e5a07cf7 change all 2014 to 2015 2015-02-04 18:17:23 +00:00
Volker Fischer
72c5f4cc63 a licence agreement dialog can be requested by the server 2015-01-23 19:43:18 +00:00
Volker Fischer
e85b0f93ed remove "--disableleds" command line argument since disabling LEDs is not required anymore because we now have a separate socket thread and therefore a stable audio connection even in case the LEDs are used 2014-02-25 14:58:54 +00:00
Volker Fischer
76d8de72b6 lowering the GUI thread priority should not be necessary if the high priority socket thread is correctly implemented 2014-01-31 16:51:06 +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
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
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
478fd285be added command line argument --showanalyzerconsole to enable the analyzer console 2013-03-02 19:52:13 +00:00
Volker Fischer
a04438fdc5 support for server welcome message on connect (enabled via a command line argument) 2013-02-11 20:24: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
87aabee220 changed the qt includes to regular ones (without the .h) 2013-01-02 20:41:04 +00:00
Volker Fischer
aada1a912f introduce command line argument for enabling the ping of the slave servers in the list to keep the NAT port open (central server functionality only) 2012-07-14 16:18:09 +00:00
Volker Fischer
3b539351b1 code style 2012-07-07 15:50:07 +00:00
Volker Fischer
d4a6ea617f added a debugging command line argument so that the complete server list of registered servers can be seen 2011-11-19 21:24:03 +00:00
Volker Fischer
048d8d2e15 small fixes 2011-05-25 20:00:54 +00:00
Volker Fischer
41804bf223 fix for the issue: the settings file is not stored on Windows if the software is running and the operating system is shut down 2011-05-21 17:06:30 +00:00
Volker Fischer
aa0fd533e6 Store file name in settings class on creation and do not require it for each load and save call 2011-05-21 16:53:01 +00:00
Volker Fischer
793b21f9d9 the maximum number of channel can be set via command line now, added some test functions in the buffer 2011-05-13 18:23:00 +00:00
Volker Fischer
73dc8e1d77 support for auto start minimized on Windows (not yet finished) 2011-05-08 15:01:20 +00:00
Volker Fischer
9c78e71358 fix for window flags 2011-05-07 14:55:08 +00:00
Volker Fischer
e71166d96c support for setting predefined server in the server list by the command line arguments, bug fix with connection dialog if no country is given but a city, started work for unregistering server 2011-05-03 20:37:06 +00:00
Volker Fischer
50cf3e54dc fix for server GUI, connect dlg fix 2011-05-01 19:33:29 +00:00
Volker Fischer
29a185da97 fixes for the server GUI, set help text for server GUI, support for default central server address check box in the server GUI 2011-04-30 19:51:49 +00:00
Volker Fischer
c08fe59a68 support for the new GUI controls in the server, net yet finished (still buggy) 2011-04-30 13:01:26 +00:00
Volker Fischer
328dbd2b1c support for storing/recovering settings for the server in GUI mode 2011-04-25 16:16:31 +00:00
Volker Fischer
886251367b support for setting the server info parameters via the command line arguments 2011-04-25 13:25:33 +00:00
Volker Fischer
79e0982ff0 some more server list implementations, some code cleanup 2011-04-09 19:42:30 +00:00
Volker Fischer
8dbb1949db some more server list preparation work 2011-04-07 19:09:08 +00:00
Volker Fischer
1d4a7df6b5 give more flexibility with the client port numbers 2011-04-07 18:26:54 +00:00
Volker Fischer
1f1e36876e small change 2011-04-06 18:03:43 +00:00
Volker Fischer
c6068689d5 bug fix, exchanged std:string by QString, some code style changes 2011-04-06 18:02:44 +00:00
Volker Fischer
74ac1d075f added a command line argument, some code style changes 2011-04-05 18:34:34 +00:00
Volker Fischer
74b69cc2f9 small fix for main window layout, added some test code 2011-03-21 18:53:44 +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
a36d36d015 universal binaries on Mac, some cleanup, fix for click on Mac bundle for starting llcon 2010-03-12 20:25:30 +00:00
Volker Fischer
d56977ac5b fix for mac linking 2010-02-18 21:18:26 +00:00
Volker Fischer
769f02e5e7 updated copyright 2010-01-03 13:40:46 +00:00
Volker Fischer
cb951c92c2 - removed ALSA support, - added accessibility plugin 2009-11-29 12:05:19 +00:00
Volker Fischer
28592baf88 nicer output when no GUI mode is chosen 2009-08-11 15:38:06 +00:00
Volker Fischer
034530474c start work for supporting CELT codec, code does not compile at the moment (backup checkin) 2009-07-24 14:31:25 +00:00
Volker Fischer
355aca41be added command line argument and function to disable all LEDs on main window to save CPU on slow computers 2009-06-13 08:14:11 +00:00
Volker Fischer
37d826630d first fully version of history 2009-06-06 10:07:01 +00:00
Volker Fischer
c49434e3b6 added new command line argument for connecting on startup, fix for window title buttons on Ubuntu 2009-05-26 20:01:23 +00:00
Volker Fischer
280f0091f3 moved logging functionality in new class 2009-05-24 15:25:04 +00:00
Volker Fischer
9800baca21 finished axis grid/text for history plot 2009-05-24 14:11:22 +00:00
Volker Fischer
d17e9422f3 added server logging files 2009-05-24 11:22:12 +00:00
Volker Fischer
f5d33e8abc code style changes 2009-05-12 07:39:59 +00:00
Volker Fischer
0aed7822a0 change constructor of testbench 2009-05-12 07:33:11 +00:00
Volker Fischer
57c8677879 first working version of testbench 2009-05-09 20:55:25 +00:00
Volker Fischer
e7e158d630 support for testbench under Linux, added some lines in change log 2009-05-09 17:38:25 +00:00
Volker Fischer
fad28f4322 added testbench template 2009-05-09 12:24:33 +00:00
Volker Fischer
1f8549d00d fixed typo 2009-03-10 17:35:39 +00:00
Volker Fischer
70c1510c60 small change 2009-03-10 12:27:41 +00:00
Volker Fischer
382742460b plot out kbps, too 2009-03-10 12:10:28 +00:00
Volker Fischer
0278d83d4d bug fix, new command line parameter for maximum upload rate for server 2009-03-10 12:07:08 +00:00
Volker Fischer
d3c76269d2 removed some qDebug(), less number of possible audio block sizes, fix for auto jitter buffer -> still not ready 2009-03-08 07:26:01 +00:00
Volker Fischer
91071384d2 big changes on software structure, intermediate backup checkin -> NOT WORKING correctly right now 2009-03-01 11:17:35 +00:00
Volker Fischer
c077f6ecf8 code cleanup (removed tabs), 2008 -> 2009 2009-02-22 11:07:18 +00:00
Volker Fischer
8b985be34b small fix 2008-12-02 18:03:52 +00:00
Volker Fischer
810268a61c improved server logging functionality 2008-12-02 18:02:40 +00:00
Volker Fischer
8d77d11ff9 some fixes for selecting different ASIO soundcards 2008-10-31 20:27:55 +00:00
Volker Fischer
7824e1f758 added support for low upload data rate forcing command line switch (used for server with bad internet access) 2008-08-19 19:59:59 +00:00
Volker Fischer
c50dd2fc56 make it possible to select the local port number for client, too 2008-08-13 19:08:45 +00:00
Volker Fischer
839576d96f set min/max buttons to dialog window boarder 2008-08-13 16:45:35 +00:00
Volker Fischer
74d838999d add name for server in HTML status file 2008-08-09 07:55:27 +00:00
Volker Fischer
58243640e7 HTML status file -> more work 2008-08-08 18:51:25 +00:00
Volker Fischer
11fb1dbacd support for custom server port number selection 2008-07-22 15:17:19 +00:00
Volker Fischer
2ce29103c6 fix for error messages 2008-07-13 18:43:40 +00:00
Volker Fischer
a8ef2fabef some fixes 2008-01-27 10:05:15 +00:00
Volker Fischer
e53ded5b14 replaced current init-file code with XML init-file code (using native QT XML support) 2008-01-26 10:38:18 +00:00
Volker Fischer
23e9f8e3f4 some more QT4 fixes 2008-01-22 19:58:53 +00:00
Volker Fischer
1f54eb55ec added resources 2008-01-20 18:07:13 +00:00
Volker Fischer
fa759cefdf first QT4 version which can be compiled and linked without errors on Windows 2008-01-17 18:56:43 +00:00
Volker Fischer
8b0389c192 third attempt to port to QT4, not working, still a lot to do... 2008-01-15 22:54:04 +00:00
Volker Fischer
3ea7dc0424 small changes (mostly for debugging under Windows) 2008-01-02 22:16:38 +00:00
Volker Fischer
aedf6202bd better command line argument parsing, added command line argument to specify init file location 2007-09-09 09:50:22 +00:00
Volker Fischer
c6717bbfee added rudimental logging support 2007-05-06 12:27:41 +00:00
Volker Fischer
8b6fcff32a unix2dos ed files because they were edited with different editors 2006-12-18 14:39:33 +00:00
Volker Fischer
62cab9ec66 fixed audio resampler (we had a lot aliasing with the old resampler), insert spaces instead of tabs 2006-11-25 14:46:57 +00:00
Volker Fischer
cfc9255ef8 fix for text output in no GUI case, longer time out for channels 2006-02-18 13:36:55 +00:00
Volker Fischer
a79354dc99 server sleep 2006-02-18 12:19:27 +00:00
Volker Fischer
6d226d0a24 bug fix 2006-02-17 19:15:33 +00:00
Volker Fischer
ae4fe51982 make it possible to start server without using GUI 2006-02-17 19:07:10 +00:00
Volker Fischer
dd914c411c added new file for protocol (just template right now), new code style 2006-02-12 14:26:46 +00:00