Commit Graph

199 Commits

Author SHA1 Message Date
Volker Fischer
9398d80bfb added a missing header for Windows 2019-07-09 09:16:38 +02:00
Volker Fischer
11938e960b use #pragma once 2019-07-09 08:52:38 +02:00
Volker Fischer
fa0f122638 fixed warnings shown in QtCreator 2019-05-17 22:55:46 +02:00
Volker Fischer
6466a4aaf7 cleanup some 'COMPATIBILITY OLD VERSION, TO BE REMOVED' 2019-05-17 22:06:48 +02:00
Volker Fischer
3348056253 move ConsoleWriterFactory implementation in util.cpp 2019-04-12 18:24:35 +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
5c3bc50764 fixed a compiler warning 2018-03-22 20:47: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
8e33e34350 fixed the issue #19 Issues with the ping time measurement 2016-02-07 14:02:30 +00:00
Volker Fischer
ca73117279 update the copyright 2015-12-31 13:14:09 +00:00
Volker Fischer
2ad6eb1600 finished: show the names of the connected clients in the server list 2015-12-09 17:11:16 +00:00
Volker Fischer
62af55929f more debug output 2015-11-20 12:09:16 +00:00
Volker Fischer
c9b92728fa support older QT versions 2015-03-16 16:17:31 +00:00
Volker Fischer
403d3820bf added class CTimingMeas 2015-03-13 17:10:30 +00:00
Volker Fischer
33e5a07cf7 change all 2014 to 2015 2015-02-04 18:17:23 +00:00
Volker Fischer
f4820f6c0f changed the color of the skill level beginner 2015-02-04 18:11:58 +00:00
Volker Fischer
ff901be7fa define the GUI RGB colors for each skill level 2015-02-04 16:07:21 +00:00
Volker Fischer
01d087e416 added new instrument category 2015-02-04 07:02:40 +00:00
Volker Fischer
88eed0d627 implementation of a musician profile dialog 2015-01-30 20:58:49 +00:00
Volker Fischer
5c909dc176 support for a country flag icon on the fader tag 2015-01-24 15:38:39 +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
f56d59fdeb added server licence type enum 2015-01-18 21:20:41 +00:00
Volker Fischer
ecfc92207f added licence dialog 2015-01-17 16:53:54 +00:00
Volker Fischer
6b1541b622 bug fix: on Mac with newest Qt version the ping time was always 0 2014-06-12 19:28:39 +00:00
Volker Fischer
5811b1f9d4 preparations for "mono in/stereo out" mode 2014-02-23 20:01:17 +00:00
Volker Fischer
5cfdf988d4 fix a compiler warning 2014-02-21 21:33:25 +00:00
Volker Fischer
de667b66a6 fix compilation error on Linux 2014-02-21 21:29:33 +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
90467df03c go back to original version since it did not compile under Linux and MacOS 2014-01-19 15:03:11 +00:00
Volker Fischer
180837f70b store fader solo state 2014-01-19 10:51:31 +00:00
Volker Fischer
efdd10fc13 const correctness 2014-01-06 16:06:04 +00:00
Volker Fischer
91b4823d37 code style 2014-01-06 15:33:53 +00:00
Volker Fischer
90cbb22993 added a "const" 2014-01-05 20:47:35 +00:00
Volker Fischer
c0a67a9884 update to 2014 2014-01-05 16:52:38 +00:00
Volker Fischer
2980c195a4 update to a new version of STK reverb (inserting comb filters for more realistic reverberation effect) 2014-01-02 10:47:11 +00:00
Volker Fischer
ac10994d5c Support for a true stereo reverberation effect 2014-01-01 21:31:22 +00:00
Volker Fischer
715041effe in the most recent Ubuntu distribution the QTime did not work for the ping times anymore (the ping time was always 0 ms) 2013-12-27 16:04:46 +00:00
Volker Fischer
5fdaea0e55 fix compilation errors on Linux and MacOS 2013-12-24 10:20:24 +00:00
Volker Fischer
ada419c5bb simplify the vector class (remove unnecessary derived member variables) 2013-12-24 10:06:03 +00:00
Volker Fischer
cbaefb32da speed optimization 2013-12-16 20:36:48 +00:00
Volker Fischer
379a3e9f9d speed optimzation: avoid some unnecessary conversions from short to double 2013-12-15 12:46:09 +00:00
Volker Fischer
d4be4bc038 code style and changed reverb decay to 1.1 seconds 2013-12-14 22:11:24 +00:00
Volker Fischer
c22c264123 Support for three audio quality settings (a new high quality rate is introduced) 2013-08-15 19:15:01 +00:00
Volker Fischer
386ade7cae code style 2013-05-08 07:35:15 +00:00
Volker Fischer
ddbc1d3d8d get rid of "Llcon" 2013-03-24 15:42:23 +00:00
Volker Fischer
28defb82cb get rid of "Llcon" 2013-03-24 11:38:00 +00:00
Volker Fischer
797a991417 support for storing fader tags/levels in settings file 2013-02-28 20:54:47 +00:00
Volker Fischer
9a9ca7c1c4 return the old value (removed entry) of the list 2013-02-27 21:20:14 +00:00
Volker Fischer
b83f14a2eb iMaxElements is not required for function AddStringFiFoWithCompare 2013-02-23 21:09:14 +00:00
Volker Fischer
096d3a39d2 added AddStringFiFoWithCompare function 2013-02-23 20:13:43 +00:00
Volker Fischer
b4069f93f9 some code cleanup 2013-02-17 10:33:01 +00:00
Volker Fischer
dcbfba2fd9 added enum for OPUS codec 2013-02-16 18:17:12 +00:00
Volker Fischer
25321dec2a fix for compiler warning 2013-02-13 18:25:56 +00:00
Volker Fischer
e037a90bcf Added Support for instrument picture on fader tag 2013-02-11 15:53:52 +00:00
Volker Fischer
cf84538b78 added CChannelAdditionalInfo 2013-02-10 08:52:19 +00:00
Volker Fischer
a7895f88ea update year to 2013 2013-01-23 10:41:13 +00:00
Volker Fischer
2b5297fcdc moved fix with "NOMINMAX" in the project file 2013-01-13 14:20:53 +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
d0b017df54 code style change 2012-07-09 12:48:29 +00:00
Volker Fischer
08c16748a8 bug fix for a crash in the jitter buffer, patch from pljones 2011-06-28 19:07:24 +00:00
Volker Fischer
0cc8c203fa added test code for better dealing with error rate statistic initialization phase 2011-06-18 12:01:36 +00:00
Volker Fischer
0e04086d37 removed Cycle Time Variance measurement since it is not required anymore 2011-06-16 11:43:28 +00:00
Volker Fischer
e58f2d37a2 added math functions for non-linear IIR filtering and hysteresis 2011-06-16 11:25:38 +00:00
Volker Fischer
9fbe334d8a memory optimization 2011-06-11 18:18:46 +00:00
Volker Fischer
d571f5328b backup checkin, including lots of test code... 2011-06-11 05:19:48 +00:00
Volker Fischer
b12ee5c104 some fixes and added some test code 2011-06-01 18:29:07 +00:00
Volker Fischer
037cdeaf83 added two buttons on the main window 2011-05-28 20:07:57 +00:00
Volker Fischer
d0fc1353f4 some code cleanup -> removed code which is not used right now 2011-05-18 06:55:43 +00:00
Volker Fischer
dfa5296de0 add local port number in server registering struct to allow a connection to the local host server with different port than the default one 2011-05-04 18:18:31 +00:00
Volker Fischer
23d79c5f85 the number of connected clients are now not managed with the server list but by the connection less ping time message 2011-04-25 10:51:57 +00:00
Volker Fischer
02762d6e00 special procedure for local host addresses 2011-04-22 11:00:13 +00:00
Volker Fischer
a49ef5c6bc server list entry work (colors), some code cleanup 2011-04-18 20:42:37 +00:00
Volker Fischer
a238cd9569 first working initial server list implementation 2011-04-14 06:46:21 +00:00
Volker Fischer
79e0982ff0 some more server list implementations, some code cleanup 2011-04-09 19:42:30 +00:00
Volker Fischer
c4a578c85a support for creating server list message 2011-04-02 19:00:11 +00:00
Volker Fischer
53e8cabdbe we need more server list classes with slightly different properties 2011-04-02 18:25:13 +00:00
Volker Fischer
81b310713d added creation of server info protocol message, some cleanup 2011-03-31 20:05:55 +00:00
Volker Fischer
c8731e6be6 same fixes, some cleanup, some server list implementation 2011-03-31 18:25:14 +00:00
Volker Fischer
d470a0bb68 use units in constants (e.g. HZ, MS), some more work on server list 2011-03-31 07:10:43 +00:00
Volker Fischer
f0a3e97b96 update of copyright 2011-02-22 18:56:52 +00:00
Volker Fischer
1b6a83d8ea added download link in help menu, changed labels 2011-02-10 21:17:39 +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
69290835b8 fixes for compiler warnings 2010-02-28 12:28:02 +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
ca945124cf improved jitter buffer correction algorithm 2010-01-03 13:29:42 +00:00
Volker Fischer
c0685e9b78 fix unix2dos issue with some files 2009-10-24 12:24:44 +00:00
Volker Fischer
abb6051d00 unix2dos, time variance update returns value now 2009-09-19 15:11:16 +00:00
Volker Fischer
1474ca5ced added fancy GUI design 2009-09-19 08:28:24 +00:00
Volker Fischer
1a42d2bf0e use network base frame size in protocol instead of acutal network packet size 2009-08-15 15:14:47 +00:00
Volker Fischer
e354d985bc implement new value bound for time variance measurement class 2009-08-15 14:16:51 +00:00
Volker Fischer
9eb7bb9e1f some GUI work 2009-08-02 17:44:45 +00:00
Volker Fischer
31efe7e92d removed channel set class and moved resulting code in server class -> not yet compilable 2009-07-26 20:12:22 +00:00