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
4e497d3f99
remove old CELT library
2016-02-14 16:19:14 +00:00
Volker Fischer
ca73117279
update the copyright
2015-12-31 13:14:09 +00:00
Volker Fischer
932e802eb6
fixes
2015-12-09 16:34:21 +00:00
Volker Fischer
5d693d8ea4
on request show the names of the connected clients in the server list
2015-12-06 17:51:06 +00:00
Volker Fischer
b5bae73ab3
added support for server disconnection
2015-10-17 15:37:58 +00:00
Volker Fischer
04634e4195
added debug code for measuring the timer jitter
2015-03-13 17:15:48 +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
26ccd51546
make sure the OPUS encoder/decoder function is only called if the audio compression type is actually set to OPUS codec
2014-07-28 17:46:54 +00:00
Volker Fischer
7918416054
added configurations "CONFIG+=opus_shared_lib" for using OPUS as a shared lib and "CONFIG+=nocelt" to disable legacy support for the old CELT library
2014-07-26 06:07:50 +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
2c443c7aef
avoid allocating memory in the server real-time processing routine
2014-01-12 09:48:49 +00:00
Volker Fischer
33afb04f3f
- speed optimizations (removed some memory allocations in the processing routine)
...
- removed duplicate function
- clean up some code
2014-01-08 21:24:37 +00:00
Volker Fischer
f016e9e022
avoid allocating memory in time critical client thread -> improve socket send function in the channel
2014-01-06 15:57:40 +00:00
Volker Fischer
215be703a7
increase the thread priority of the real time timer
2014-01-06 12:53:54 +00:00
Volker Fischer
c0a67a9884
update to 2014
2014-01-05 16:52:38 +00:00
Volker Fischer
72f7c25d98
code style
2014-01-03 09:00:24 +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
ae874ae0b4
changed MAX_NUM_CHANNELS to 20
2013-09-08 20:15:21 +00:00
Volker Fischer
ef76866d6f
remove legacy ping time message (now very old versions of llcon do not get ping measurements from the server anymore)
2013-09-07 20:30:08 +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
72b24fedf3
clean up "new connection" mechanism for the server (which messages are fired, etc.)
2013-05-10 19:37:57 +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
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
3c790d28df
bug fix
2013-03-04 16:11:37 +00:00
Volker Fischer
f2d4cb3e17
next try...
2013-03-03 21:56:25 +00:00
Volker Fischer
f892dc6312
bug fix
2013-03-03 21:38:23 +00:00
Volker Fischer
91548aacf6
use better high precision timer for Linux
2013-03-03 21:32:42 +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
b4069f93f9
some code cleanup
2013-02-17 10:33:01 +00:00
Volker Fischer
694ee2fae2
bug fix: use OPUS custom interface instead of the normal one
2013-02-16 19:11:30 +00:00
Volker Fischer
eb277e3a96
support for OPUS codec
2013-02-16 18:16:12 +00:00
Volker Fischer
f0d46f4fc0
started OPUS integration by just creating the OPUS objects and do nothing with them right now
2013-02-16 10:54:40 +00:00
Volker Fischer
b518f0cd96
added a "cc6_" prior to all file names, functions and global variables
2013-02-15 20:09:10 +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
cc3547676b
Added Support for instrument picture on fader tag
2013-02-11 15:36:47 +00:00
Volker Fischer
a7895f88ea
update year to 2013
2013-01-23 10:41:13 +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
0e04086d37
removed Cycle Time Variance measurement since it is not required anymore
2011-06-16 11:43:28 +00:00
Volker Fischer
4325c54605
new function interface
2011-06-16 11:37:17 +00:00
Volker Fischer
d48c1ac3b4
retain compatibility to old versions in regards to the server and the old ping messages -> to be removed later on
2011-06-12 08:04:14 +00:00
Volker Fischer
d571f5328b
backup checkin, including lots of test code...
2011-06-11 05:19:48 +00:00
Volker Fischer
16f1bb0eb3
some fixes
2011-05-28 14:39:13 +00:00
Volker Fischer
0f46659fcb
some more fixes
2011-05-28 12:17:01 +00:00
Volker Fischer
439dd65b46
most of the work done for separate client/server jitter buffer settings but not yet finished (does not work as expected yet)
2011-05-27 20:29:37 +00:00
Volker Fischer
691e593e0b
fix for the "set jitter buffer message" lock up problem
2011-05-25 21:01:45 +00:00
Volker Fischer
49070c77c1
replaced normal ping messages with connection less ping message to avoid all the acknowledge messages
2011-05-24 19:40:57 +00:00
Volker Fischer
3b8a04a829
use different ping message for server list ping
2011-05-24 18:44:51 +00:00
Volker Fischer
b28daa079a
removed old disconnect message which only works with connected channels -> replaced by a connection less disconnect message
2011-05-23 19:06:02 +00:00
Volker Fischer
a770b75a06
added a connection less message for disconnect -> does not work yet since connection less messages are not evaluated for connected channels
2011-05-22 09:47:09 +00:00
Volker Fischer
56f528b13e
bug fix in server, added simulation mode in buffer base class, added deactivated test code for simulation buffer statistics, avoid audio drop outs when the jitter buffer size is changed
2011-05-17 15:39:33 +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
f5120f272a
add support for a system tray icon for the server
2011-05-06 20:18:20 +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
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
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
886251367b
support for setting the server info parameters via the command line arguments
2011-04-25 13:25:33 +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
81bc9e7aad
small fix in comment
2011-04-23 20:43:07 +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
7e1ff9c38a
create server list function
2011-04-09 11:12:32 +00:00
Volker Fischer
77a387ade4
attached one message to the server list
2011-04-09 10:53:34 +00:00
Volker Fischer
8dbb1949db
some more server list preparation work
2011-04-07 19:09:08 +00:00
Volker Fischer
24f707f2e7
removed connecion less channel class since it is not required
2011-04-06 19:01:39 +00:00
Volker Fischer
ab4775f6a0
support for some more connection less channel messages for the central server
2011-04-05 20:09:16 +00:00
Volker Fischer
36d13454b3
added a command line argument, some code style changes
2011-04-05 18:38:22 +00:00
Volker Fischer
74ac1d075f
added a command line argument, some code style changes
2011-04-05 18:34:34 +00:00
Volker Fischer
1e245e428e
increase maximum possible channels to 12
2011-04-01 20:06: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
9feff9057a
prepared everything for transmitting/receiving the first connection less ping time measurement
2011-03-30 07:55:43 +00:00
Volker Fischer
0cff6af6d8
connection less messages system requires the host address to always be available (not stored in channel object)
2011-03-29 20:11:03 +00:00
Volker Fischer
184b995904
support for server full message and parsing of connection less messages at the server
2011-03-27 16:13:44 +00:00
Volker Fischer
8926dec08b
some more work for connection less protocl mechanism
2011-03-27 08:56:24 +00:00
Volker Fischer
f0a3e97b96
update of copyright
2011-02-22 18:56:52 +00:00
Volker Fischer
7173108c77
preparations for stereo support
2010-03-21 20:46:53 +00:00
Volker Fischer
3fae9fb1cf
maybe bug fix for mac server logging problem, added zip for deploying on mac to include COPYING file
2010-03-14 15:51:22 +00:00
Volker Fischer
11b1c2b916
fix for server operation on Mac
2010-03-04 19:10:31 +00:00
Volker Fischer
3b4eb7f605
fix compiler warnings
2010-02-28 16:01:56 +00:00
Volker Fischer
5d174d7caf
server operation on a Mac requires to implement a separate high precision timer since QTimer is not working well
2010-02-21 09:38:14 +00:00
Volker Fischer
769f02e5e7
updated copyright
2010-01-03 13:40:46 +00:00
Volker Fischer
c0685e9b78
fix unix2dos issue with some files
2009-10-24 12:24:44 +00:00
Volker Fischer
6287a70e3d
bug fix: server was started on protocol messages which is not desired
2009-10-14 06:53:02 +00:00
Volker Fischer
10faecd5cc
do not start server and any protocol message but only on audio packet (to avoid server is restarted on disconnect message)
2009-10-11 09:50:58 +00:00
Volker Fischer
5df18595d2
bug fix in server: disconnect message lead to problem with server status and logging
2009-10-10 08:53:48 +00:00
Volker Fischer
44be809457
server bug fix: channel name was not reset on new connection leading to be the old name assigned to new client
2009-10-04 12:00:35 +00:00
Volker Fischer
39314610bb
buf fix: compatiblity issue
2009-09-17 19:38:29 +00:00
Volker Fischer
65d61f1c0e
implementation of channel name request message, required if server is restarted while client thinks it is still connected
2009-09-17 19:15:56 +00:00
Volker Fischer
a8a3ebd483
fix for jitter buffer message, added some TODO comment
2009-09-17 07:00:21 +00:00
Volker Fischer
e664b5769c
add parsing of old logging files for history graph (server)
2009-09-02 18:03:37 +00:00
Volker Fischer
7b633f88a1
added time to chat message, bug fix: if client is connected and server is restarted, the channel list has to resent to this client
2009-09-01 06:41:57 +00:00
Volker Fischer
8527f2bd01
use low complexity CELT encoder mode
2009-08-23 16:22:57 +00:00
Volker Fischer
dae4e63e3a
new version number, small fix for celt decoding
2009-08-21 05:53:54 +00:00
Volker Fischer
9b2c0b13aa
update in comments
2009-08-15 18:51:13 +00:00
Volker Fischer
94c27493c2
some renamings, store actual frame size factor
2009-08-13 18:59:14 +00:00
Volker Fischer
d7781e160f
bug fixes
2009-08-13 16:48:22 +00:00
Volker Fischer
af0b4816c3
bug fixes
2009-08-13 16:12:49 +00:00
Volker Fischer
f4f4f64fa1
bug fix, preparation for adding CELT sources
2009-08-12 18:26:00 +00:00
Volker Fischer
6bed7abc8d
fix for server timer
2009-08-11 13:13:48 +00:00
Volker Fischer
84f0a31a20
certain bug fixes and code cleanup
2009-08-11 09:10:23 +00:00
Volker Fischer
bfbda9eb73
some more work for the server
2009-08-03 07:29:00 +00:00
Volker Fischer
43eb897fd8
bug fix, some renamings of variables/functions, introduction of new signal in channel
2009-08-02 07:54:15 +00:00
Volker Fischer
35eb0fe4aa
some more CELT work
2009-08-01 09:37:39 +00:00
Volker Fischer
628c5e5b7f
implementation for high precision timer
2009-08-01 09:21:46 +00:00
Volker Fischer
eb0c8e3786
added class for high precision timer for server
2009-08-01 09:05:14 +00:00
Volker Fischer
3bd2999252
some initial work on server timer problem
2009-07-31 19:55:28 +00:00
Volker Fischer
bb7e32872f
even more work done
2009-07-28 20:31:23 +00:00
Volker Fischer
6768e0ebf9
some more work
2009-07-28 07:17:04 +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
Volker Fischer
f53d28fc11
make the source compilable under Windows, no working functionality yet
2009-07-24 20:17:01 +00:00
Volker Fischer
548c8df2c7
some updates
2009-07-24 16:00:47 +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
c7168206d0
some more work for multiple sample rate support
2009-07-05 07:07:30 +00:00
Volker Fischer
b21af7809b
some fixes, added test code
2009-06-13 07:47:05 +00:00
Volker Fischer
04da12c959
speed optimzation, remove normalization value (I guess it is not needed...)
2009-06-12 16:06:45 +00:00
Volker Fischer
37d826630d
first fully version of history
2009-06-06 10:07:01 +00:00
Volker Fischer
280f0091f3
moved logging functionality in new class
2009-05-24 15:25:04 +00:00
Volker Fischer
ac4e8a778d
server stop seems to work now for Windows (dont know the reason why) -> activate this feature
2009-04-07 07:00:40 +00:00
Volker Fischer
ffe0869129
improved variable type consistency -> changed unsigned char in uint8_t (removed TODO comments and copy operations)
2009-03-28 20:02:21 +00:00
Volker Fischer
25a34ae8c0
fix for server issue under Windows
2009-03-28 09:52:36 +00:00
Volker Fischer
9dd942bec6
bug fixes for timing variance calculation, new init parameters for CycleTime class, added CycleTime for channel estimating input network stream variance of timing
2009-03-17 06:50:00 +00:00
Volker Fischer
17e78fab95
do not attenuate that much in the server, more fair reduction of quality parameters in the server
2009-03-11 21:34:57 +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
db19ed48bc
bug fixes
2009-03-08 09:01:01 +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
f38aa17ca6
fix for setting sound card device
2009-03-07 20:45:00 +00:00
Volker Fischer
029719fd1d
created separate class for time response measurement
2009-03-07 10:52:06 +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
4e94893aa0
use high precision timer for server statistics, too
2009-02-10 18:15:27 +00:00
Volker Fischer
e42c3afb81
fixes for the client audio standard deviation measurement, added code for asio interface for using power of two size blocks (not enabled right now)
2009-02-08 22:44:18 +00:00
Volker Fischer
69e5e81aa6
fix in logging
2008-12-12 17:54:54 +00:00
Volker Fischer
336d8ef39c
fixes for the log file functionality
2008-12-03 17:32:39 +00:00
Volker Fischer
810268a61c
improved server logging functionality
2008-12-02 18:02:40 +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
c1e706e21f
finished implementation of different audio compression types: IMA-ADPCM (already available), MS-ADPCM (new), None (new)
2008-08-10 08:14:30 +00:00
Volker Fischer
74d838999d
add name for server in HTML status file
2008-08-09 07:55:27 +00:00
Volker Fischer
9d3793d0d8
small fix
2008-08-08 20:41:29 +00:00
Volker Fischer
58243640e7
HTML status file -> more work
2008-08-08 18:51:25 +00:00
Volker Fischer
5fe78dda7d
go back to original version
2008-08-05 20:59:01 +00:00
Volker Fischer
91f7ef489a
some work for HQ audio
2008-08-05 18:55:40 +00:00
Volker Fischer
11fb1dbacd
support for custom server port number selection
2008-07-22 15:17:19 +00:00