Commit Graph

1176 Commits

Author SHA1 Message Date
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