Commit graph

1612 commits

Author SHA1 Message Date
Volker Fischer
00b11ee06a try to fix Misconfigured ASIO4ALL config can't be corrected #117 2020-04-20 19:57:21 +02:00
Volker Fischer
ee014bbd83 small merge fixes 2020-04-20 16:57:00 +02:00
Stanislas Michalak
f0e73cf81b
Explicitly set htons to 0
Also fix a typo.
2020-04-20 09:20:00 +02:00
Stanislas Michalak
4efe081084 Allow client to bind on a random port 2020-04-20 00:00:22 +02:00
corrados
95c5832554
Merge pull request #113 from doloopuntil/improved_mac_deployment
Improve installer packaging mechanism for macOS
2020-04-19 20:48:46 +02:00
Volker Fischer
36b7e058fd make the registration status outputs a bit nicer 2020-04-19 20:31:04 +02:00
Volker Fischer
af2c04bd32 make sure the description text on console is shown before any server list registration infos 2020-04-19 20:29:44 +02:00
Volker Fischer
8f4684878b Merge branch 'master' of https://github.com/corrados/jamulus 2020-04-19 19:58:49 +02:00
Volker Fischer
116f156022 fix: Build issue on Ubuntu: qInfo() undefined in serverList.cpp #112 2020-04-19 19:58:34 +02:00
Jonathan
a12fe60315
Removing as agreed
As per #107
2020-04-19 15:49:24 +01:00
Daniel Masato
10f65f1ee2 Improve packaging mechanism for macOS
This change automates the creation of an installer image for macOS containing both a client and server version for Jamulus.
2020-04-19 14:21:08 +01:00
Volker Fischer
ad6bcc2317 fixed: if you select server list filter all text and delete, the filter is not updated 2020-04-19 15:17:06 +02:00
Volker Fischer
65583e3451 some code cleanup 2020-04-19 12:23:25 +02:00
Volker Fischer
6f962aae4f merge fixes 2020-04-19 12:15:36 +02:00
Daniel Masato
8411debb39 Build Jamulus client and server for macOS 2020-04-19 11:03:36 +01:00
Peter L Jones
8ca0635fea Log server registration flow 2020-04-19 10:14:18 +01:00
Volker Fischer
a4350f4f17 store Show All Musicians setting in the ini-file 2020-04-19 10:04:19 +02:00
Volker Fischer
6b1dac7ac8 bug fix for server list filter, reported by pljones 2020-04-19 09:39:58 +02:00
Volker Fischer
8e86908d92 restrict server name/city to max allowed length if given as a command line argument, see #91 2020-04-19 07:31:14 +02:00
mirabilos
1204109bdf
fix spelling
detected by Debian’s static analyser tool lintian
2020-04-19 03:25:21 +02:00
Volker Fischer
8c39810fcf small fix, see https://github.com/corrados/jamulus/pull/87#issuecomment-615905987 2020-04-18 19:27: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
372333c08f update manual for new setting Enable Small Network Buffers 2020-04-18 09:28:25 +02:00
Volker Fischer
9b2b84fef6 use colors for server registration status label 2020-04-18 09:20:05 +02:00
Volker Fischer
4edb160a0a small merge fixes 2020-04-18 08:39:08 +02:00
corrados
9161853a9d
Merge pull request #87 from pljones/feature/55-server-registration-status
Allow central server to confirm registration
2020-04-18 06:51:03 +02:00
Volker Fischer
79c0047bb3 added Enable Small Network Buffers switch 2020-04-17 21:21:37 +02:00
Volker Fischer
752b38e4e6 changed fader level range from -50..0 to -35..0 since for the Jamulus case the smaller range is better suited for live situations as we have in our jam sessions 2020-04-17 19:43:43 +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
f6123abaed make the ping times reported in the server list more stable 2020-04-16 22:22:53 +02:00
Volker Fischer
a76491c3e6 bug fix: avoid hard clipping for Mute Stream 2020-04-16 20:08:54 +02:00
Volker Fischer
07bf588ba4 fix for auto jitter buffer for 64 samples frame size 2020-04-16 18:40:29 +02:00
Volker Fischer
ad3e4e0587 support Mute button for own audio #75 2020-04-16 17:54:45 +02:00
Volker Fischer
b82f29f2e3 finished: increased LED luminance (Ticket #71) 2020-04-15 20:17:28 +02:00
Volker Fischer
01a23cdeb3 modify round LEDs of increased LED luminance (Ticket #71) 2020-04-15 19:18:09 +02:00
Volker Fischer
e4752f4d96 use 128 samples frame size as the default if software starts up for the first time 2020-04-15 15:39:03 +02:00
Volker Fischer
b335321950 rename SYSTEM_FRAME_SIZE_SAMPLES_SMALL to SYSTEM_FRAME_SIZE_SAMPLES 2020-04-15 15:29:43 +02:00
Volker Fischer
f51dd662c4 some cleanup 2020-04-15 15:21:58 +02:00
Volker Fischer
83e95c3a7b small fix 2020-04-14 17:58:01 +02:00
Volker Fischer
33c7b03e75 added whats this help 2020-04-14 17:41:21 +02:00
Volker Fischer
a0f7ee4627 added a "Show All Musicians" check box in the server list 2020-04-14 17:23:53 +02:00
Volker Fischer
514bd25fee added support for filter the server list 2020-04-14 16:51:44 +02:00
Volker Fischer
9cbcbb1471 the unit of the mixer faders is now dB using the range -50 dB to 0 dB 2020-04-13 21:00:26 +02:00
Volker Fischer
c8c0b17fc7 bug fix for server audio fade-in 2020-04-13 19:47:47 +02:00
Volker Fischer
c5d9b29aaa finished: support for 64 samples OPUS packets in the client (if a sound card buffer size larger or equal than 128 samples is chosen, the legacy 128 samples OPUS packets are used) 2020-04-13 19:26:15 +02:00
Volker Fischer
e0c9ea5b6d fixes the network data rate indicator and the time-out counter of the channel 2020-04-13 18:46:04 +02:00
Volker Fischer
d9562ea525 fixed audio fade-in counter for 64 samples frame size 2020-04-13 18:13:42 +02:00
Volker Fischer
5f85660cde WIP: support 64 samples frame size in the client 2020-04-13 16:01:25 +02:00
Volker Fischer
f6ea80ca81 fixes Text colour contrast fails accessibility guidelines #65 2020-04-13 15:35:48 +02:00
Volker Fischer
90620b8da3 small cleanup 2020-04-13 12:05:56 +02:00
Volker Fischer
5d63aa590f bug fix: the welcome message may appear twice if a list item of the server list was double clicked 2020-04-13 07:46:28 +02:00
Volker Fischer
765cb7d266 preparations for using OPUS64 in the client 2020-04-12 22:10:53 +02:00
Volker Fischer
9b07cbeb5f implement the OPUS coder calls similar to what we have in the server (leading to cleaner code) 2020-04-12 21:36:50 +02:00
Volker Fischer
af32867216 fix compatibility issue with Qt4 (Ticket #62) 2020-04-12 21:19:41 +02:00
Volker Fischer
b4eae44b7c update a TODO comment in the code 2020-04-12 19:54:47 +02:00
Volker Fischer
eca43c849a show "trying to connect" in the mixer board title if no fader information is yet received 2020-04-12 18:56:58 +02:00
Volker Fischer
0c59a805fe small merge fix 2020-04-12 16:03:38 +02:00
corrados
a5fd9129a2
Merge pull request #61 from pljones/feature/27-local-server-in-server-list-2
Tidy away local port in CServerCoreInfo etc
2020-04-12 15:53:22 +02:00
Volker Fischer
b2014e09bf small fix for --showallservers implementation 2020-04-12 15:34:43 +02:00
Peter L Jones
84a95686bb Tidy away local port in CServerCoreInfo etc 2020-04-12 14:25:26 +01:00
Volker Fischer
8fd59dd93f split country names by upper case latters by inserting a space 2020-04-12 14:54:28 +02:00
Volker Fischer
a98e98f2a9 refresh the server list if Central Server type is changed 2020-04-12 12:33:50 +02:00
Volker Fischer
ce66f844d1 bug fix: compatiblity to old server versions were incorrect for the server list 2020-04-11 19:52:53 +02:00
Volker Fischer
fc4463330b revert back: code did not work correctly 2020-04-11 18:48:40 +02:00
Volker Fischer
61e1a73f67 try to fix an issue that people do not see their server on the same PC anymore 2020-04-11 18:35:49 +02:00
Volker Fischer
b080378c06 change "Register My Server in the Server List at the Central Server" to "Make My Server Public (Register My Server in the Server List)" 2020-04-11 18:31:21 +02: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
339457298c more mixer faders settings to store, define North America port number as 22224 2020-04-11 10:03:23 +02:00
Volker Fischer
d0c0a4722a integrated the essential changes from emlynmac from https://github.com/corrados/jamulus/pull/44 2020-04-10 20:29:14 +02:00
Volker Fischer
854d5a128f link to the Github Contributors list in the Readme and About dialog 2020-04-10 20:06:32 +02:00
Peter L Jones
a78ac71798 Pass frame size to frame handlers 2020-04-10 18:36:13 +01:00
Peter L Jones
ec2673eaa1 Pass frame size to Reaper project from recorder 2020-04-10 18:36:13 +01:00
Peter L Jones
e4ac2f472d Use variable frame size in Reaper project 2020-04-10 18:36:13 +01:00
Peter L Jones
a80b437858 Pass frame size to recorder 2020-04-10 18:36:13 +01:00
Peter L Jones
3831e83535 Migrate off ConsoleWriterFactory 2020-04-10 18:36:13 +01:00
Volker Fischer
631c473acc CreateLevelsForAllConChannels shall call CStereoSignalLevelMeter::CalcLogResult 2020-04-10 16:56:45 +02:00
Volker Fischer
9503630c4a Merge branch 'master' of https://github.com/corrados/jamulus
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2020-04-10 16:28:28 +02:00
Volker Fischer
4fb9e14669 fixed column widths are slightly too narrow for "Ping Time" and "Musicians" and typos 2020-04-10 16:24:53 +02:00
Peter L Jones
942bdde3a5 Tune IP look up code 2020-04-10 12:26:07 +01:00
Peter L Jones
2d59e869bc CHostAddr operator== does the job 2020-04-10 12:26:07 +01:00
Peter L Jones
4c286d8f43 Resolve casts to target types 2020-04-10 12:26:07 +01:00
Peter L Jones
bc04ff2fb2 Use server internal address in server list 2020-04-10 12:26:07 +01:00
Volker Fischer
ed46357ac4 added command line argument for new 64 samples server mode 2020-04-10 12:28:50 +02: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
32e8eb7e94 support correct auto jitter buffer settings for 64 and 128 samples frame size 2020-04-09 21:26:40 +02:00
Volker Fischer
cd946a9950 moved servermanual.md to correct place 2020-04-09 15:55:46 +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
Volker Fischer
e7bb2ad1c6 fix audio issue with licence dialog 2020-04-08 14:48:33 +02:00
Volker Fischer
c7dcfe855e bug fix for server 64 samples support 2020-04-07 22:09:29 +02:00
Volker Fischer
0eedcd8061 fixed Mac compilation error 2020-04-07 19:45:28 +02:00
Volker Fischer
ac21104cd0 only show level meters if the server actually supports it and sends network packets with levels to the client 2020-04-07 00:20:32 +02:00
Volker Fischer
70c499a82a fix for #71 Increase "stability" of Connection Setup server list 2020-04-06 23:06:28 +02:00
Volker Fischer
0011f6686a minor cleanup 2020-04-06 22:03:35 +02:00
Peter L Jones
c6b702cabe Update user manual for channel level meters.
Also includes a number of minor wording changes elsewhere.
2020-04-06 18:58:50 +01:00
Peter L Jones
a97ac9aa4e Server processing for channel levels 2020-04-06 18:58:50 +01:00
Peter L Jones
95f48eb17e Add server-side handling for channel level preference 2020-04-06 18:58:50 +01:00
Peter L Jones
30c4e006b6 Add client-side handling for channel levels 2020-04-06 18:58:50 +01:00
Peter L Jones
36e54f4da7 Add a preference for the Channel Levels 2020-04-06 18:58:50 +01:00
Peter L Jones
8db54e8616 Add channel level LED bar 2020-04-06 18:58:50 +01:00
Peter L Jones
a7a1549fe5 Define new protocol messages 2020-04-06 18:58:50 +01:00
Peter L Jones
70480cd626 Expose and rename CMultiColorLEDBar defines 2020-04-06 18:54:56 +01:00
Volker Fischer
321f286a6d re-introduce PROTMESSID_OPUS_SUPPORTED message to support older client versions 2020-04-06 17:17:49 +02:00
Volker Fischer
d12877dc8c should fix "low-res icon issue #28" 2020-04-05 22:12:53 +02:00
Volker Fischer
e805cff4ea prepare simple conversion buffer for other way around 2020-04-05 20:56:05 +02:00
Volker Fischer
fc9970f837 fixed Linux compilation error 2020-04-05 18:57:28 +02:00
Volker Fischer
a3b0215128 I reduced the number of stored fader settings to avoid having the ini file being too large 2020-04-05 17:57:39 +02:00
corrados
e89b871326
Merge pull request #37 from doloopuntil/save_mute_settings
Store mute settings for faders.
2020-04-05 17:48:12 +02: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
c310aa16cd WIP 64 samples frame size support in the server, not yet working 2020-04-05 08:13:53 +02:00
Daniel Masato
83fb9d47b5 Store mute settings for faders.
Also increase stored fader settings capacity to 200, since up to 50 clients are now supported.
2020-04-04 21:27:35 +01: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
5a05bf6a2f only use low complexity OPUS processing for 128 samples frame size, see https://sourceforge.net/p/llcon/discussion/533517/thread/bdb3fe2195 2020-04-04 12:40:13 +02:00
Volker Fischer
b9c6d87766 bug fix: server list ping times may not be accurate and client list may not be retrieved 2020-04-03 21:45:36 +02:00
Volker Fischer
6b26cb02b4 use 3 seconds audio fade-in at the server instead of just 2 seconds 2020-04-01 21:47:49 +02:00
Volker Fischer
ee48000b34 fix the MAX_SIZE_BYTES_NETW_BUF, change the --showallservers to include the server list index and do not sort by ping 2020-04-01 21:16:44 +02:00
Volker Fischer
63d8d58767 bug fix for Qt style sheets for main window 2020-04-01 18:41:59 +02:00
Volker Fischer
bef3506a38 added a scroll area to the mixer board so that a large number of clients can be supported, thanks to doloopuntil for his example code 2020-03-30 19:53:30 +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
4cfd54b21b audio fade-in at the server if new client connects 2020-03-29 18:03:24 +02:00
Volker Fischer
3eaec8363a changed the maximum number of clients from 20 to 40 2020-03-29 16:14:29 +02:00
Volker Fischer
15bad6738e slight audio quality improvement for 64 samples stereo high quality mode 2020-03-29 12:58:45 +02:00
Volker Fischer
29f8e843a9 Merge remote-tracking branch 'origin/linuxfixesbyjkohnert' 2020-03-29 12:18:04 +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
366aaee9ab use "normal" audio quality as the default when first startup of Jamulus after installation 2020-03-29 12:00:36 +02:00
Volker Fischer
eed07615e5 fix the IIR filter lambdas for 64 samples frame size 2020-03-28 21:02:55 +01:00
Volker Fischer
ede92ac25e fix https://sourceforge.net/p/llcon/bugs/30 2020-03-28 18:51:25 +01:00
Volker Fischer
53f50070a7 some more work for 64 samples frame size support 2020-03-28 16:27:45 +01:00
Jonathan
7bc89f2d1a
Remove server section
And corrected a couple of typos.
2020-03-28 15:01:31 +00:00
Volker Fischer
beb3255b26 tested the numbers and they work fine 2020-03-28 09:41:31 +01:00
Volker Fischer
fbef9556a4 prepare OPUS rates for 64 samples, not yet tested 2020-03-28 09:17:13 +01:00
Volker Fischer
5e5637670d increase the maximum number of servers in the server list from 100 to 200 2020-03-24 22:23:49 +01:00
Daniel Masato
adbb850a2f Merge remote-tracking branch 'upstream/master' 2020-03-23 19:45:03 +00:00
Daniel Masato
26ccef90fc Fix server bug preventing recording directory from being recognised after successful creation
When a recording directory doesn't exist, the server creates it successfully but the QFileInfo
object holding the directory information is not updated as the information is cached by default.
The server then exits unexpectedly as the check on the directory existence incorrectly fails.
Disable caching to resolve the issue.
2020-03-23 19:31:38 +00:00
Volker Fischer
4cac0e935b code style changes 2020-03-22 20:24:30 +01: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
Peter L Jones
f20d7feab1 Accept number of items and days as arguments 2020-03-21 22:19:29 +00:00
Peter L Jones
f04eb1e7ed Move history defines to global.h 2020-03-21 22:19:29 +00:00
Peter L Jones
2f06553b0b Resize points to avoid overlap 2020-03-21 22:18:23 +00:00
Volker Fischer
fccbb4144c some small cleanups 2020-03-21 10:27:31 +01:00
Volker Fischer
f55c669e5e code style changes 2020-03-21 09:54:43 +01:00
corrados
f605c35935
Merge pull request #13 from pljones/feature/covid19-date-limit-on-historygraph
Enhance historygraph to allow size based on date
2020-03-21 09:34:24 +01:00
Peter L Jones
b55aa67496 Enhance historygraph to allow size based on date
Due to the increasing number of connections, the *number* of history
entries is no longer a good way to size the width of the graph.
In addition to adding a much larger FIFO, I have chosen to add
a date constraint.  This means I do not have to keep making the FIFO
bigger daily and, when numbers fall, the graph will not change
shape.
2020-03-20 23:03:56 +00:00
Volker Fischer
1a45d6b095 added a comment 2020-01-04 15:01:48 +01:00
Volker Fischer
791d600634 2019->2020 2020-01-01 15:41:43 +01:00
Volker Fischer
b153d83654 moved ParseMIDIMessage function to the bottom of the file 2019-09-28 13:24:48 +02:00
Volker Fischer
81b5cf7861 added command line argument for disabling auto jack connection (Ticket #49) 2019-09-22 20:13:08 +02:00
Volker Fischer
e10eb4a512 use a separate markdown file for the manual 2019-08-24 09:32:17 +02: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
96777cbab2 add support for IPv6 for ParseNetworkAddress 2019-07-08 17:02:05 +02:00
Volker Fischer
b7df71e596 - Linux server start script: removed welcome message, fix in server info
- removed command line outputs for Svg/Jpeg modes used
- use the default country if no country is given in the command line options
2019-06-20 11:41:29 +02:00
corrados
05dc96845f
Update vstsound.h
code style changes
2019-06-16 11:31:46 +02:00
corrados
e295a6d063
Update vstmain.h
code style changes
2019-06-16 11:31:09 +02:00
corrados
2c9d0f5910
Update vstmain.cpp
code style changes
2019-06-16 11:30:30 +02:00
Volker Fischer
021e8e58bd moved file 2019-06-16 10:08:49 +02:00
Volker Fischer
b9749b5722 moved file 2019-06-16 10:07:14 +02:00
Volker Fischer
fdfabebecc added homepage image files 2019-06-16 10:05:58 +02:00
corrados
1aa48ce8d5
Add files via upload 2019-06-16 09:01:11 +02:00
Volker Fischer
706a196b5f per default expand list view items in the server list which have connected clients 2019-05-30 18:12:55 +02:00
Volker Fischer
89e5f04e8a jamulus.desktop file was moved 2019-05-30 09:51:29 +02:00
Volker Fischer
b3f21c80fd updated some texts 2019-05-27 18:07:52 +02:00
Volker Fischer
d605ef6f9b code style changes 2019-05-27 18:04:24 +02:00
Peter L Jones
4dffa9615a Add (C) and GPL2 banners 2019-05-26 19:23:13 +01:00
Peter L Jones
78897e0995 Reduce to single history graph source 2019-05-26 19:16:45 +01:00
Peter L Jones
ea022759b2 Reduce to single history graph header 2019-05-26 19:00:09 +01:00
Peter L Jones
450fe4b530 Fix alignment of markers to axes 2019-05-26 18:43:11 +01:00
Peter L Jones
c6a43dbffa Fix unsigned usage in signed contexts 2019-05-26 18:42:46 +01:00
Peter L Jones
331de68e86 Refactor, refactor, refactor 2019-05-20 21:06:09 +01:00
Peter L Jones
387a34132c Minor fixes 2019-05-19 14:01:30 +01:00
Peter L Jones
50f69ec7e4 SVG history graph 2019-05-19 12:20:34 +01:00
Volker Fischer
fa0f122638 fixed warnings shown in QtCreator 2019-05-17 22:55:46 +02:00
Volker Fischer
6f12d8395a remove PROTMESSID_OPUS_SUPPORTED since it is not required anymore 2019-05-17 22:16:19 +02:00
Volker Fischer
6466a4aaf7 cleanup some 'COMPATIBILITY OLD VERSION, TO BE REMOVED' 2019-05-17 22:06:48 +02:00
Peter L Jones
e3025e5492 Fix wave file header lengths 2019-04-21 22:13:07 +01:00
Volker Fischer
1d2a240eec fix some texts 2019-04-13 12:52:44 +02:00
Volker Fischer
0d9c98f9be mention pljones in the About dialog and README 2019-04-12 19:01:21 +02:00
Volker Fischer
b1874d193f small fixes 2019-04-12 18:55:43 +02:00
Volker Fischer
a6a10d537e take old code again 2019-04-12 18:49:49 +02:00
Volker Fischer
aa036a08e3 small fixes 2019-04-12 18:48:20 +02:00
Volker Fischer
4a86ccda4f I fear a memory leak -> better solution required... 2019-04-12 18:48:06 +02:00
Volker Fischer
53fb06b137 "compress" the keyPressEvent a bit :-) 2019-04-12 18:42:05 +02:00
Volker Fischer
3348056253 move ConsoleWriterFactory implementation in util.cpp 2019-04-12 18:24:35 +02:00
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
Volker Fischer
0dbef268a3 added GPL headers 2019-04-10 20:00:54 +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
3609332754 use the given MIDI channel number of filtering input MIDI messages (channel number 0 means that we listen to all channels) 2019-01-22 16:11:41 +00:00
Volker Fischer
2a73d6878e fix for Behringer X-Touch 2019-01-21 15:59:25 +00:00
Volker Fischer
4e1b39236d implement MIDI controller parsing (first version, not yet tested) 2019-01-19 08:19:31 +00:00
Volker Fischer
9434a208ce first MIDI controller implementation: TD-20 Hi-Hat control can set fader level of first audio channel 2019-01-12 15:29:45 +00:00
Volker Fischer
d36cd17815 preparation for MIDI controller audio fader level support 2019-01-12 14:32:41 +00:00
Volker Fischer
91642b0c2e use integer for the fader level message 2019-01-12 12:59:16 +00:00
Volker Fischer
ea24503fdc preparation for MIDI controller audio fader level support 2019-01-12 12:45:08 +00:00
Volker Fischer
29332269c9 support native Jack support under Windows using the CONFIG switch "jackonwindows" 2018-03-22 20:50:05 +00:00
Volker Fischer
5c3bc50764 fixed a compiler warning 2018-03-22 20:47:08 +00:00
Volker Fischer
aaa766a659 make sure we do not get a too long horizontal scroll bar 2018-03-20 17:10:25 +00:00
Volker Fischer
8bfdc7347a 2017 -> 2018 2018-03-09 21:13:02 +00:00
Volker Fischer
a75670944a possible fix for a crash on MacOS High Sierra (reported in the Jamulus forum) 2018-03-08 20:03:07 +00:00
Volker Fischer
6c8362ea3a fix compiplation error on MacOS 2018-02-25 08:50:58 +00:00
Volker Fischer
b0d37c86e7 2016 -> 2017 2017-08-11 21:08:54 +00:00
Volker Fischer
492ae88fb2 new Qt URL 2017-05-25 20:06:59 +00:00
Volker Fischer
9c1ddbba64 added support for jackonmac 2016-07-31 08:02:32 +00:00
Volker Fischer
fd69efb060 bug fix with the history graph plotting (an invalid point was added to the graph) 2016-03-06 10:39:59 +00:00
Volker Fischer
403bf81f2a removed some unnecessary code 2016-03-06 10:09:41 +00:00
Volker Fischer
600d5f6832 fixed bug: #25 No client list in connection dialog for server which is full 2016-03-05 13:38:31 +00:00
Volker Fischer
5096e3208a added some more help text 2016-02-20 19:16:51 +00:00
Volker Fischer
1b29d8034c show server name in the server list in bold font if it is a permanent server 2016-02-15 17:35:49 +00:00
Volker Fischer
4e497d3f99 remove old CELT library 2016-02-14 16:19:14 +00:00
Volker Fischer
be63533c82 automatic server setting for permanent server flag in the protocol 2016-02-09 16:09:59 +00:00
Volker Fischer
9ab7164d05 the Musicians value in the server list shows a warning if the server is full 2016-02-09 15:05:06 +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
4dd24a9173 avoid buffer length of one for the auto jitter buffer detection 2016-01-30 18:22:19 +00:00
Volker Fischer
f66db79b8b store more fader levels in the ini file 2016-01-06 09:16:32 +00:00
Volker Fischer
bf89e072eb update the copyright text 2015-12-31 13:22:18 +00:00
Volker Fischer
ca73117279 update the copyright 2015-12-31 13:14:09 +00:00
Volker Fischer
60a3f82912 show the number of connected clients in the MacOS task bar 2015-12-18 20:17:31 +00:00
Volker Fischer
2866e40a03 show an icon and some more text for the clients in the server list 2015-12-10 15:52:29 +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
932e802eb6 fixes 2015-12-09 16:34:21 +00:00
Volker Fischer
33c6e77c68 on request show the names of the connected clients in the server list 2015-12-09 15:50:30 +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
89c22f685b small fixes in the comments 2015-12-06 15:20:40 +00:00
Volker Fischer
826866fe3e increase the maximum number of sound card channels supported by Jamulus 2015-11-25 15:55:05 +00:00
Volker Fischer
7ace26f23e added a new client fader level setting 2015-11-25 15:52:00 +00:00
Volker Fischer
1aa990b262 update in the comments 2015-11-22 17:56:42 +00:00
Volker Fischer
62af55929f more debug output 2015-11-20 12:09:16 +00:00
Volker Fischer
3d647400db add support for channel selection for MacOS 2015-11-19 19:36:47 +00:00
Volker Fischer
e674b21c0c nogui option is also supported for the client 2015-10-24 14:34:05 +00:00
Volker Fischer
b63a625ffa changed the default central server URL 2015-10-18 19:07:43 +00:00
Volker Fischer
b5bae73ab3 added support for server disconnection 2015-10-17 15:37:58 +00:00
Volker Fischer
c17413afe3 revert back to original URL 2015-10-10 09:41:58 +00:00
Volker Fischer
e3675e1b40 changed central server URL to jamulus.no-ip.org 2015-10-10 06:45:30 +00:00
Volker Fischer
12889fbea5 fixed a buffer overrun problem in the Mac audio interface if the sound card has a lot of input and output channels 2015-07-05 12:00:54 +00:00
Volker Fischer
a46ea26cd8 support client operation without using a GUI frontend 2015-03-25 20:29:52 +00:00
Volker Fischer
79c83a4c13 another improvement of auto jitter buffer detection in very bad network conditions 2015-03-21 11:48:27 +00:00
Volker Fischer
0691ed7910 lowered green and yellow LED threshold for the overall delay 2015-03-21 11:46:25 +00:00
Volker Fischer
bb4402ed98 allow that the automatic jitter buffer size detection can use a size of 1 2015-03-20 16:21:33 +00:00
Volker Fischer
c9b92728fa support older QT versions 2015-03-16 16:17:31 +00:00
Volker Fischer
4b43210eb8 If the actual ASIO buffer delay is not one of the 128, 256 or 512 samples, you do not see the number in the GUI. Add a info text on what buffer size is actually used. 2015-03-15 06:59:30 +00:00
Volker Fischer
16f170c030 improvement of auto jitter buffer detection in bad network conditions 2015-03-14 16:54:36 +00:00
Volker Fischer
af4e972bfd update in comments 2015-03-14 07:08:15 +00:00
Volker Fischer
8321fc1e25 adjust the weighting factor for overall delay calculation of the jitter buffers 2015-03-13 21:36:12 +00:00
Volker Fischer
8f3637d4a4 adjust the limit for the green LED 2015-03-13 21:29:14 +00:00
Volker Fischer
d924380262 fix overall delay calculation 2015-03-13 21:18:09 +00:00
Volker Fischer
115d9cefe0 added a TODO comment 2015-03-13 21:14:41 +00:00
Volker Fischer
04634e4195 added debug code for measuring the timer jitter 2015-03-13 17:15:48 +00:00
Volker Fischer
403d3820bf added class CTimingMeas 2015-03-13 17:10:30 +00:00
Volker Fischer
583a61081b added test code for debugging the soundcard timing jitter 2015-03-13 17:09:49 +00:00
Volker Fischer
4de2d7ac44 fixed a compiler warning 2015-02-15 08:44:49 +00:00
Volker Fischer
33e5a07cf7 change all 2014 to 2015 2015-02-04 18:17:23 +00:00
Volker Fischer
a26fc768bf fixed alignment problems in the dialog 2015-02-04 18:12:50 +00:00
Volker Fischer
f4820f6c0f changed the color of the skill level beginner 2015-02-04 18:11:58 +00:00
Volker Fischer
8c3773442e added colors for the skill level 2015-02-04 16:08:13 +00:00
Volker Fischer
ff901be7fa define the GUI RGB colors for each skill level 2015-02-04 16:07:21 +00:00
Volker Fischer
941d9132d0 added new instrument picture for "Guitar+Vocal" 2015-02-04 07:06:56 +00:00
Volker Fischer
01d087e416 added new instrument category 2015-02-04 07:02:40 +00:00
Volker Fischer
5a04e91835 fix for Qt4 2015-02-04 06:59:28 +00:00
Volker Fischer
31766ceab2 rename button of profile dialog from OK to Close and remove Default property 2015-01-31 10:04:59 +00:00
Volker Fischer
c9c1f78c3f removed fader tag edit, country and instrument buttons (since this is done in the profile dialog now) 2015-01-31 10:04:15 +00:00
Volker Fischer
e02947ba97 set fader tag background color depending on the skill level 2015-01-31 08:58:19 +00:00
Volker Fischer
09cbb9d2ab profile window management 2015-01-31 08:18:17 +00:00
Volker Fischer
928cf8196e profile window scales better 2015-01-31 08:16:30 +00:00
Volker Fischer
bae2672ff2 added variables for storing the window position of the profile window 2015-01-31 08:15:56 +00:00
Volker Fischer
1ed74b44e2 store some profile settings and also the window position of the profile window 2015-01-31 08:14:52 +00:00
Volker Fischer
88eed0d627 implementation of a musician profile dialog 2015-01-30 20:58:49 +00:00
Volker Fischer
a62ca5d064 added a tool tip of the complete musician profile on the fader tag label 2015-01-30 20:53:43 +00:00
Volker Fischer
71856d5488 the two optional pictures should be above each other, the text is next to the pictures 2015-01-25 09:57:13 +00:00
Volker Fischer
cad2da0d2a - a minimum size for the fader label text must be given, otherwise it could be too small which is not desired
- decrease the spacing between the icon buttons since the horizontal space is limited
2015-01-25 09:54:20 +00:00
Volker Fischer
183d651801 removed some very small countries from the country flag list to make the popup menu smaller 2015-01-24 18:54:39 +00:00
Volker Fischer
5a3693f6ae the compatible code to old Qt versions did not work, therefore we now use a table which definitely works for all Qt versions 2015-01-24 18:11:28 +00:00
Volker Fischer
b4f81ffaf1 added support for older QT versions 2015-01-24 17:05:21 +00:00
Volker Fischer
290f121e3c support for a country flag icon on the fader tag 2015-01-24 15:47:32 +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
1d21bb84b1 added support for country flag icon 2015-01-23 21:38:24 +00:00
Volker Fischer
bc17803f15 added acknowledgement for the country flags 2015-01-23 21:35:49 +00:00
Volker Fischer
837749cc6c fixed path to flags 2015-01-23 21:34:55 +00:00
Volker Fischer
9c7aab4fd3 added country flags 2015-01-23 20:14:13 +00:00
Volker Fischer
5df4991542 added country flag pictures 2015-01-23 20:06: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
a6cd448ca9 update of the help text 2015-01-23 19:34:10 +00:00
Volker Fischer
815098a41d added new PROTMESSID_LICENCE_REQUIRED message 2015-01-18 21:23:47 +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
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
7f96942b62 bug fix 2014-07-26 10:31:27 +00:00
Volker Fischer
7615e2a996 This file was provided by Christopher Meng, thanks! 2014-07-26 06:29:30 +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
afa2f0e812 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 05:58:01 +00:00
Volker Fischer
9438ff535b fixed a typo 2014-07-15 19:22:08 +00:00
Volker Fischer
e9c431cda9 fixed a compiler warning on the newest Mac XCode compiler: The init function of the buffer class was set to virtual but the derived function had a different number of funciton parameters. So the intention was actually NOT to be virtual. Therefore I removed the virtual from the functions and the warning is gone now. 2014-06-15 19:33:27 +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
461650d4e2 increase the default used number channels for server 2014-03-11 19:39:44 +00:00
Volker Fischer
f92b363df9 fix tab order 2014-02-25 21:10:40 +00:00
Volker Fischer
3b94fb9382 since we only have one settings dialog, it is nonsense to write "General Settings" but we should write just "Settings" 2014-02-25 15:50:09 +00:00
Volker Fischer
598017e47f Remove the connection LED because it is not actually required. If the connection is successful, the mixer fader appears and shows the connection. If the connection fails, no fader is visible or the fader disappears after a while. In both cases it is clearly seen that the connection is lost and therefore the connection LED is not required. 2014-02-25 15:38:11 +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
5b2d256bc2 removed the "open chat on new message" mechanism since nobody actually uses this, now simply the window automatically opens on a new message if it is not already open, otherwise do nothing 2014-02-25 14:38:12 +00:00
Volker Fischer
121a0b4d69 small fix: put combo boxes in another layout so that it looks nicer 2014-02-24 20:23:19 +00:00
Volker Fischer
292cf13a21 finished #43 Hybrid Mono/Stereo mode 2014-02-24 19:51:57 +00:00
Volker Fischer
c8f0a376ab added support for the mon-in/stereo-out mode in the signal processing class (client.cpp) 2014-02-23 20:55:42 +00:00
Volker Fischer
5811b1f9d4 preparations for "mono in/stereo out" mode 2014-02-23 20:01:17 +00:00
Volker Fischer
4dca2d1c93 fix for #17 Default central server flag seems not to work in server GUI 2014-02-23 18:17:46 +00:00
Volker Fischer
17b5bb6dd9 introduce macro ENABLE_CLIENT_VERSION_AND_OS_DEBUGGING for enabling the version and OS query in the client (for debugging reasons) 2014-02-23 09:46:25 +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
d080c568a3 bug fix 2014-02-21 21:16:45 +00:00
Volker Fischer
4fbe460041 fix shutdown issue on Mac OS 2014-02-18 19:36:09 +00:00
Volker Fischer
3f61c348f7 small fix for Windows 2014-02-17 18:34:39 +00:00
Volker Fischer
14c8df9ee4 fix for shutdown on Linux (an error message was shown on shutdown) 2014-02-17 18:24:32 +00:00
Volker Fischer
e004ed6964 small improvement for the mutexes 2014-02-16 20:04:22 +00:00
Volker Fischer
9e4dbd861a bug fix 2014-02-16 09:28:34 +00:00
Volker Fischer
d214f9976d bug fix for the shutdown of the server 2014-02-16 09:01:08 +00:00
Volker Fischer
b8930b5232 removed unused function 2014-02-16 08:27:26 +00:00
Volker Fischer
887f5cd5b9 ParseConnectionLessMessageWithFrame 2014-02-16 08:21:40 +00:00
Volker Fischer
2ac7a92eaf finished implementation of a separate socket high priority thread 2014-02-16 08:20:07 +00:00
Volker Fischer
2e5f7781ce finished implementation of a separate socket high priority thread 2014-02-16 08:12:07 +00:00
Volker Fischer
bde026b06b make IsConnectionLessMessageID static 2014-02-16 07:17:48 +00:00
Volker Fischer
85fef28e24 added a missing include 2014-02-16 07:16:48 +00:00
Volker Fischer
d078730aeb make some functions static 2014-02-14 22:00:42 +00:00
Volker Fischer
42d0cdca59 small fix and added a comment 2014-02-14 22:00:31 +00:00
Volker Fischer
51db9e742a take care of NewConnection message in the socket context 2014-02-13 21:03:33 +00:00
Volker Fischer
033e3adca4 - take care of NewConnection message in the socket context
- some changes in the Mutexs
2014-02-13 21:03:08 +00:00
Volker Fischer
4837dc88d4 increase the probability of valid instrument picture 2014-02-13 21:01:15 +00:00
Volker Fischer
bab6152f8c some cleanup and implemented a nice socket thread exit on shutdown (fixed Qt warnings on shutdown of the software) 2014-02-13 18:38:25 +00:00
Volker Fischer
7c37d6d018 fixes issues for Linux compilation 2014-02-11 20:39:07 +00:00
Volker Fischer
a9c0e243dd fix compilation errors under Linux 2014-02-11 20:21:32 +00:00
Volker Fischer
1c1e07bd24 fix a compiler warning 2014-02-11 17:47:48 +00:00
Volker Fischer
9ca6df618f separate socket thread works now fine under Windows (only for Windows right now) 2014-02-11 17:35:39 +00:00
Volker Fischer
2ad0890bf2 Do a test where we use waitforreadyread instead of event driven -> this seems to solve the thread priority issue with the GUI but we get a crash in the Socket (mutex/thread-save issue). 2014-02-01 15:14:47 +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
2c515ae6c1 column sizes for Android must be larger 2014-01-30 08:54:58 +00:00
Volker Fischer
e5aedf6998 fix for high prio socket 2014-01-29 16:06:52 +00:00
Volker Fischer
4b83fa6fe0 avoid allocating memory in time critical routines 2014-01-23 20:33:55 +00:00
Volker Fischer
403f3a52f2 bug fix: the ping time LED was not reset if the connection was stopped 2014-01-21 21:19:51 +00:00
Volker Fischer
d7a41b5076 some fixes for Android 2014-01-21 17:25:46 +00:00
Volker Fischer
e76ce47cd6 added some android code 2014-01-20 20:42:58 +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
7320b0a4cc CVector<bool> does not work -> implement a workaround with int type 2014-01-19 15:02:25 +00:00
Volker Fischer
180837f70b store fader solo state 2014-01-19 10:51:31 +00:00
Volker Fischer
27c5f29b1a #16 If solo is enabled, the fader does not work anymore 2014-01-18 07:49:47 +00:00
Volker Fischer
2c443c7aef avoid allocating memory in the server real-time processing routine 2014-01-12 09:48:49 +00:00