Commit Graph

192 Commits

Author SHA1 Message Date
Volker Fischer
70cfdfc94c use signal level meter class for meter calculation in the server (avoid doubling code), i.e., max calc and smoothing 2020-06-25 17:38:25 +02:00
Volker Fischer
d60b538ce6 some cleanup with the level meter signal processing 2020-06-24 17:54:35 +02:00
Volker Fischer
04bb03c2f4 clip indicator improvements (do not show clipping too early) 2020-06-23 19:51:53 +02:00
Volker Fischer
f3eb0b3baa added SRR_NOT_FULFILL_REQIREMENTS server registration status 2020-06-23 17:51:47 +02:00
Volker Fischer
5f579d7b96 added new server registration result: SRR_VERSION_TOO_OLD 2020-06-23 17:22:01 +02:00
Volker Fischer
b7b39ba6f2 some fixes for headless mode 2020-06-20 17:26:52 +02:00
Volker Fischer
e73b198f92 the local pan middle position is no longer attenuated in Mono-in/Stereo-out mode (#353) 2020-06-18 19:16:31 +02:00
Hector Martin
1651a8d065 Add a "headless" build type which does not depend on QtGui/QtWidgets 2020-06-18 00:29:56 +09:00
Peter L Jones
ed10faea6d Define and send recorder state 2020-06-14 22:03:14 +01:00
Peter L Jones
c7080afd0f Define protocol message for server jam recorder state publishing 2020-06-14 19:42:36 +01:00
Volker Fischer
b078bfd7b8 further preparation for #356 2020-06-13 08:51:05 +02:00
Volker Fischer
4c94633c1a clean up the reverberation and panning code in the client 2020-06-12 18:26:34 +02:00
Volker Fischer
cf7a01d231 add new "slim channel" skin, intended for large ensembles (#339) 2020-06-11 16:42:50 +02:00
Volker Fischer
44e883900b fixed Free Software Foundation address (see #341) 2020-06-08 22:58:11 +02:00
Volker Fischer
b1c97c2d36 avoid showing IP address if no name in the musician profile is given #316 2020-06-05 14:22:44 +02:00
Volker Fischer
8552863493 introduce global INVALID_INDEX for more consistent code 2020-05-26 09:56:46 +02:00
Volker Fischer
d26aba788c added an additional central server list -> split rock/jazz in separate servers 2020-05-23 21:23:20 +02:00
Volker Fischer
92548290cd change server list genres, fix German translations 2020-05-22 09:48:58 +02:00
Volker Fischer
4708c204f3 some cleanup for the server list selection 2020-05-22 06:25:38 +02:00
Volker Fischer
75b8a05257 introduce genre-based server lists (Ticket #139), adjust some values in global.h to adjust to heavier usage of Jamulus 2020-05-17 11:00:56 +02:00
Volker Fischer
fc2b7a76e2 changed function name to make it clearer what the function does 2020-05-16 11:28:05 +02:00
Volker Fischer
6977a17156 some central server address clean up 2020-05-16 11:24:50 +02:00
Volker Fischer
53d16462c4 remove compatibility to Qt4 2020-05-14 21:12:06 +02:00
Volker Fischer
61f36c1723 added tr() for some strings in the code, added spanish translation file 2020-05-06 19:33:27 +02:00
Volker Fischer
51e1edfad5 link to docs from application Help menu (Ticket #90) 2020-05-02 08:24:01 +02:00
Volker Fischer
fc3a33dc42 merge the fixes from the feature_sndcrdmixer branch 2020-04-30 16:16:59 +02:00
Volker Fischer
664429b309 added GetCategory to CInstPictures class 2020-04-26 16:39:55 +02: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
Volker Fischer
65583e3451 some code cleanup 2020-04-19 12:23:25 +02:00
Peter L Jones
8ca0635fea Log server registration flow 2020-04-19 10:14:18 +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
d9562ea525 fixed audio fade-in counter for 64 samples frame size 2020-04-13 18:13:42 +02:00
Volker Fischer
90620b8da3 small cleanup 2020-04-13 12:05:56 +02:00
Peter L Jones
84a95686bb Tidy away local port in CServerCoreInfo etc 2020-04-12 14:25:26 +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
Volker Fischer
1d4342bb7c move country flag function in new class CLocale 2020-04-11 10:31:26 +02:00
Volker Fischer
631c473acc CreateLevelsForAllConChannels shall call CStereoSignalLevelMeter::CalcLogResult 2020-04-10 16:56:45 +02:00
Peter L Jones
bc04ff2fb2 Use server internal address in server list 2020-04-10 12:26:07 +01:00
Volker Fischer
c7dcfe855e bug fix for server 64 samples support 2020-04-07 22:09:29 +02:00
root
ead042a301 patch provided by jkohnert, see Ticket #63 Fix compiler warnings on Linux 2020-03-29 12:12:13 +02:00
Volker Fischer
53f50070a7 some more work for 64 samples frame size support 2020-03-28 16:27:45 +01:00
Volker Fischer
791d600634 2019->2020 2020-01-01 15:41:43 +01:00
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