Commit graph

104 commits

Author SHA1 Message Date
Volker Fischer
feaea570f2 use the application pointer directly without the need of the define 2019-04-12 18:12:22 +02:00
Volker Fischer
05a0ac60a6 fixed warnings 2019-04-12 18:04:28 +02:00
Volker Fischer
8367ecc64f remove -T command line argument since it was only intended for debugging (see pull request from pljones). 2019-04-12 18:02:26 +02:00
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