Commit graph

169 commits

Author SHA1 Message Date
Volker Fischer
7d10fb13cd update 2020-06-28 15:10:26 +02:00
Volker Fischer
b5230c3420 merge fixes 2020-06-28 15:03:23 +02:00
Peter L Jones
d3059b608a Move the source 2020-06-28 08:48:48 +01:00
Peter L Jones
40b699e0a5 Save the source 2020-06-28 08:48:48 +01:00
Adam Sampson
7ee8f6264a Clean up custom Opus objects in ~CClient/~CServer.
This avoids a harmless memory leak for each.
2020-06-21 14:29:32 +01:00
Volker Fischer
b7b39ba6f2 some fixes for headless mode 2020-06-20 17:26:52 +02:00
Volker Fischer
db7a7599b6 bug fixes for OMP implementation 2020-06-19 21:29:09 +02:00
Peter L Jones
ed10faea6d Define and send recorder state 2020-06-14 22:03:14 +01:00
Volker Fischer
e883a51db9 support for storing/recovering the server window positions (#357) 2020-06-14 08:49:58 +02:00
Volker Fischer
2285148cb8 Reference HTML file for welcome message #361 2020-06-13 18:15:52 +02:00
Volker Fischer
44e883900b fixed Free Software Foundation address (see #341) 2020-06-08 22:58:11 +02:00
Volker Fischer
efc24ffdbe improvement: only send channel levels if they are different from the previous ones 2020-06-07 12:09:30 +02:00
Peter L Jones
d33612721e #228 Enable/Disable recording from command line 2020-05-30 18:04:55 +01:00
Volker Fischer
f6e5120095 New Client Level now also applies if you enter a server 2020-05-26 17:28:44 +02:00
Peter L Jones
7977413bb6 Review comment changes 2020-05-25 21:56:40 +01:00
Peter L Jones
0f8d15f343 Initial Recording GUI
Issue #228.

Display the recorder state and latest recording directory and
allow a new recording to be requested.
2020-05-25 21:56:40 +01:00
Volker Fischer
4b8c7de166 WIP: backup checkin of new feature "show mute state of others" 2020-05-21 11:47:39 +02:00
Tarmo Johannes
2f200f5b12 Merge remote-tracking branch 'upstream/master' into panning 2020-05-16 20:39:16 +03:00
Peter L Jones
4bf5176e6a Request new recording on SIGUSR1 2020-05-15 21:52:33 +01:00
Peter L Jones
d5c754b580 Expanded signal handling 2020-05-15 20:05:04 +01:00
Volker Fischer
53d16462c4 remove compatibility to Qt4 2020-05-14 21:12:06 +02:00
Tarmo Johannes
49245e6118 Merge branch 'master' into panning 2020-05-13 15:28:23 +03:00
Volker Fischer
599306156d new command line option -d to disconnect all clients on shutdown of the server (Ticket #161) 2020-05-12 22:40:59 +02:00
Peter L Jones
db357ae2bc Review comment fixes 2020-05-11 20:12:16 +01:00
Peter L Jones
b60c3cab7b Handle server application closure more cleanly 2020-05-10 18:20:57 +01:00
Tarmo Johannes
764ed82ccb Implemented panning for channels. 2020-04-26 01:55:28 +03:00
Volker Fischer
471d1df835 add support for level meter bars for normal skin (fancy skin still uses LEDs) 2020-04-22 21:19:55 +02:00
Daniel Masato
77fdfcaa0c Refactor signal to slot connections using recursive templates
This change allows the maximum number of supported clients to be adjusted in a single place rather than in multiple places.
Note that this change requires Qt5's new signal/slot syntax (https://wiki.qt.io/New_Signal_Slot_Syntax), but is still backwards compatible with Qt4.
Code bloat will be eventually reduced by removing support for Qt4.
2020-04-18 12:17:43 +01:00
Volker Fischer
4edb160a0a small merge fixes 2020-04-18 08:39:08 +02:00
Peter L Jones
e031cc409f Allow central server to confirm registration
Also display this state in the server UI.
2020-04-17 17:16:43 +01:00
Volker Fischer
82f5ad18f4 added support for Central Server (North America) (Ticket #50), small bug fix for the Mac audio interface 2020-04-11 14:27:50 +02:00
Peter L Jones
bc04ff2fb2 Use server internal address in server list 2020-04-10 12:26:07 +01:00
Volker Fischer
dca678c83c support 128 frame size if server operates in 64 frame size 2020-04-10 12:07:23 +02:00
Volker Fischer
a0934ee8b8 some more work for 64 samples support in the server 2020-04-08 18:51:51 +02:00
Volker Fischer
5824855252 added show licence switch in the server GUI 2020-04-08 15:30:32 +02:00
Peter L Jones
a97ac9aa4e Server processing for channel levels 2020-04-06 18:58:50 +01:00
Volker Fischer
bd111c3abc some code cleanup 2020-04-05 17:35:40 +02:00
Volker Fischer
a761f9bf9e some code cleanup and small fix for audio compression (should not access the info outside the mutex because it might have changed by another thread) 2020-04-05 09:34:00 +02:00
Volker Fischer
57f203502c WIP on support of 64/128 samples frame size in the server 2020-04-04 19:03:19 +02:00
Volker Fischer
40dd2e8980 changed the maximum number of clients from 40 to 50 2020-03-29 21:35:09 +02:00
Volker Fischer
3eaec8363a changed the maximum number of clients from 20 to 40 2020-03-29 16:14:29 +02:00
Peter L Jones
eca8eff4c9 Revert --histitems argument 2020-03-22 17:45:00 +00:00
Peter L Jones
32e56ff0c6 Pass number of items and days 2020-03-21 22:20:18 +00:00
Volker Fischer
791d600634 2019->2020 2020-01-01 15:41:43 +01:00
Volker Fischer
11938e960b use #pragma once 2019-07-09 08:52:38 +02:00
Volker Fischer
b1874d193f small fixes 2019-04-12 18:55:43 +02:00
Volker Fischer
aa036a08e3 small fixes 2019-04-12 18:48:20 +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