Commit graph

1125 commits

Author SHA1 Message Date
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
Volker Fischer
7ee9fc2a67 fixed a compiler warning 2014-01-12 09:44:41 +00:00
Volker Fischer
02e88840e9 added a TODO comment 2014-01-12 07:42:43 +00:00
Volker Fischer
80883715e3 fix for optional "CHighPrioSocket" -> still does not compile... 2014-01-10 20:00:45 +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
d98ac1b2af fixed a warning 2014-01-06 16:49:19 +00:00
Volker Fischer
efdd10fc13 const correctness 2014-01-06 16:06:04 +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
91b4823d37 code style 2014-01-06 15:33:53 +00:00
Volker Fischer
81b4416a6f only fire message for starting the server if the server is not running at the moment 2014-01-06 13:04:26 +00:00
Volker Fischer
215be703a7 increase the thread priority of the real time timer 2014-01-06 12:53:54 +00:00
Volker Fischer
27f0e540b6 make the "ParseMessageBody" signal/slot mechanism the default since in the future we will need to use different threads at some point 2014-01-06 12:52:53 +00:00
Volker Fischer
7c81775232 small change in example code (in the comment) 2014-01-06 12:51:06 +00:00
Volker Fischer
90cbb22993 added a "const" 2014-01-05 20:47:35 +00:00
Volker Fischer
4baf2c5ef5 replaced global "MUL_COL_LED_*" definitions by actual enum definitions in the multicolor LED class 2014-01-05 18:26:38 +00:00
Volker Fischer
c0a67a9884 update to 2014 2014-01-05 16:52:38 +00:00
Volker Fischer
f26301ae75 next try to fix corrupt file 2014-01-05 16:13:00 +00:00
Volker Fischer
3f7d434144 the file in the CVS seems to be corrupt 2014-01-05 15:45:53 +00:00
Volker Fischer
06ca70ef10 added a TODO comment 2014-01-05 15:33:08 +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
e9a5962ef1 some cleanup: remove unnecessary GUI messages (they are not used because we only have callback based sound interfaces right now) 2014-01-02 20:11:56 +00:00
Volker Fischer
2980c195a4 update to a new version of STK reverb (inserting comb filters for more realistic reverberation effect) 2014-01-02 10:47:11 +00:00
Volker Fischer
ac10994d5c Support for a true stereo reverberation effect 2014-01-01 21:31:22 +00:00
Volker Fischer
715041effe in the most recent Ubuntu distribution the QTime did not work for the ping times anymore (the ping time was always 0 ms) 2013-12-27 16:04:46 +00:00
Volker Fischer
d3fce3fe62 code style 2013-12-27 16:01:35 +00:00
Volker Fischer
5fdaea0e55 fix compilation errors on Linux and MacOS 2013-12-24 10:20:24 +00:00
Volker Fischer
ada419c5bb simplify the vector class (remove unnecessary derived member variables) 2013-12-24 10:06:03 +00:00
Volker Fischer
ac83592f08 some small speed optimizations 2013-12-24 10:00:45 +00:00
Volker Fischer
bc3098ab79 use std copy function instead of a while loop 2013-12-24 09:59:27 +00:00
Volker Fischer
3fc6ccc8aa introduce GetInOutLatencyMs to query the actual latency from the sound interface 2013-12-17 20:52:38 +00:00
Volker Fischer
d089e7d308 use std max function for signal level meter update instead of if condition 2013-12-16 21:15:42 +00:00
Volker Fischer
4f91d59a96 fix compile error on MacOS 2013-12-16 20:41:09 +00:00
Volker Fischer
cbaefb32da speed optimization 2013-12-16 20:36:48 +00:00
Volker Fischer
379a3e9f9d speed optimzation: avoid some unnecessary conversions from short to double 2013-12-15 12:46:09 +00:00
Volker Fischer
9a2efd25fe bug fix: support for correct utf-8 storage of names in the ini-file 2013-12-15 10:54:17 +00:00
Volker Fischer
d4be4bc038 code style and changed reverb decay to 1.1 seconds 2013-12-14 22:11:24 +00:00
Volker Fischer
1f3c716163 code style 2013-12-14 22:10:38 +00:00
Volker Fischer
6034dab1b3 introduce functions for ToBase64 and FromBase64 for cleaner code 2013-12-14 22:09:59 +00:00
Volker Fischer
b66e22379a the solo state of a mixer fader is not exclusive any more and the solo state is preserved if the number of mixer faders changes 2013-09-10 16:24:55 +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
762a6283c6 code style 2013-09-07 20:29:29 +00:00
Volker Fischer
8ae66fd1a5 store window positions and visability state 2013-08-26 19:59:18 +00:00
Volker Fischer
584db6def8 code style 2013-08-26 19:58:59 +00:00
Volker Fischer
3012f20fce added instrument picture "Streamer", update for "Listener" picture 2013-08-25 18:13:13 +00:00
Volker Fischer
5224f90f5d added instrument picture "Listener" and fixed file name of "Recorder" picture 2013-08-25 17:49:21 +00:00
Volker Fischer
f87e8ef790 added instrument picture "Recorder" 2013-08-25 16:53:27 +00:00
Volker Fischer
3feb43054f added some more comments 2013-08-23 15:36:37 +00:00
Volker Fischer
395dd25c07 small fix in comment 2013-08-23 14:34:36 +00:00
Volker Fischer
89a1ab3de9 speed optimzation which leads to less audio drop outs if the connection dialog is opened during a connection 2013-08-18 20:53:31 +00:00
Volker Fischer
e8b65b6c0d disable the "socket in separate thread" code again since it does not perform the way it was intended to 2013-08-18 18:08:08 +00:00
Volker Fischer
f85115d548 added missing protocol messages 2013-08-18 18:05:28 +00:00
Volker Fischer
0d93612214 bug fix for the server (fixed a dead lock) 2013-08-18 15:22:18 +00:00
Volker Fischer
dcc4f0596f code cleanup 2013-08-18 07:42:32 +00:00
Volker Fischer
9d05436964 enable the experimental "threaded socket" code since one outstanding issue is now fixed :"fix for the "Multiple socket notifiers for same socket" error if threaded socket is used" 2013-08-18 07:41:30 +00:00
Volker Fischer
84c93bbbe5 fix for the "Multiple socket notifiers for same socket" error if threaded socket is used 2013-08-18 07:40:34 +00:00
Volker Fischer
c22c264123 Support for three audio quality settings (a new high quality rate is introduced) 2013-08-15 19:15:01 +00:00
Volker Fischer
2856626523 added formula 2013-06-09 06:42:33 +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
b8e9fcc4a3 cleanup (removed unnecessary variable) 2013-05-10 19:46:59 +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
8e95b548cb clean up the socket so that we do not have direct calls to e.g. protocol messages 2013-05-10 19:34:55 +00:00
Volker Fischer
21707b0e17 added some more comment 2013-05-10 07:57:21 +00:00
Volker Fischer
386ade7cae code style 2013-05-08 07:35:15 +00:00
Volker Fischer
424532a162 disable new feature for connection setup shown during an active connection for now since it does not work reliably... 2013-05-04 19:24:36 +00:00
Volker Fischer
c942a2757c code style 2013-05-04 19:14:02 +00:00
Volker Fischer
dc22883150 the connection setup dialog can now be opened during a connection 2013-05-03 19:11:01 +00:00
Volker Fischer
f157bd0d2a jamulus.dyndns.org is now active 2013-03-24 15:46:07 +00:00
Volker Fischer
ddbc1d3d8d get rid of "Llcon" 2013-03-24 15:42:23 +00:00
Volker Fischer
28defb82cb get rid of "Llcon" 2013-03-24 11:38:00 +00:00
Volker Fischer
0841ec12a4 file renaming 2013-03-24 11:24:43 +00:00
Volker Fischer
196f0ff477 get rid of the name "llcon" 2013-03-24 10:49:25 +00:00
Volker Fischer
4ed34f5509 removed llcon from file names 2013-03-24 10:34:39 +00:00
Volker Fischer
06b485b231 exchanged llcon by Jamulus in almost all places except the Sourceforge download path and the llcon.dyndns.org server 2013-03-24 09:20:19 +00:00
Volker Fischer
a130b1425c add the version number in the qt project file rather than in the global.h 2013-03-24 08:54:11 +00:00
Volker Fischer
70ebf16ceb code style 2013-03-22 18:50:05 +00:00
Volker Fischer
cbb18ebc03 a more realistic calculation of the network stream rate 2013-03-10 17:32:33 +00:00
Volker Fischer
ccadb45f11 fixed loud noise on initialial connection (caused by weird OPUS PLC effect) 2013-03-10 09:27:25 +00:00
Volker Fischer
961ae0f396 fix for loud noise at the beginning of a connection when a new server (supporting OPUS) is connected -> Still some noise left because of weird PLC effects of the OPUS codec 2013-03-10 08:19:41 +00:00
Volker Fischer
cf0c9d192d - removed OPUS_EXPECTED_PACKET_LOSS_PERC because it seems not to be used in the CELT decoder (just for SILK)
- fix for loud noise at the beginning of a connection when a new server (supporting OPUS) is connected -> Still some noise left because of weird PLC effects of the OPUS codec
2013-03-10 08:17: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
2f0eb9a7f0 removed iNumInvalidElements method since this does not work fine with OPUS PLC 2013-03-06 16:48:11 +00:00
Volker Fischer
1a67c9a66d enable OPUS codec 2013-03-06 16:46:15 +00:00
Volker Fischer
2b6e97bb83 change packet loss expected amount for OPUS decoder (to be optimized) 2013-03-06 16:45:35 +00:00
Volker Fischer
089c60c9cd fix a compile warning 2013-03-04 16:23:05 +00:00
Volker Fischer
a023af7961 small fixes like window icon, title 2013-03-04 16:20:32 +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
48708ba00c fix 2013-03-03 21:42:13 +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
478fd285be added command line argument --showanalyzerconsole to enable the analyzer console 2013-03-02 19:52:13 +00:00
Volker Fischer
f9b13ec2f6 bug fix: IP address was not shown on empty name tag 2013-03-01 17:15:29 +00:00
Volker Fischer
797a991417 support for storing fader tags/levels in settings file 2013-02-28 20:54:47 +00:00
Volker Fischer
b8759620ef fixed the outstanding bug 2013-02-28 20:50:09 +00:00
Volker Fischer
471fb0c6ae support for storing fader levels on a reconnect -> not yet finished, there is a known bug which has to be fixed! 2013-02-27 21:28:38 +00:00
Volker Fischer
9a9ca7c1c4 return the old value (removed entry) of the list 2013-02-27 21:20:14 +00:00
Volker Fischer
f79d8e410c new version number 2013-02-24 09:59:51 +00:00
Volker Fischer
ee358b3680 prepare for release 2013-02-24 09:05:47 +00:00
Volker Fischer
bffbe17abf started work on "storing fader gains" request 2013-02-24 09:03:57 +00:00
Volker Fischer
4727a0b45b added some test code (not enabled) 2013-02-24 09:03:33 +00:00
Volker Fischer
b83f14a2eb iMaxElements is not required for function AddStringFiFoWithCompare 2013-02-23 21:09:14 +00:00
Volker Fischer
4bffd4edcd added analyzerconsole 2013-02-23 20:15:48 +00:00
Volker Fischer
509ce2c32f added function OnGainValueChanged 2013-02-23 20:15:22 +00:00
Volker Fischer
096d3a39d2 added AddStringFiFoWithCompare function 2013-02-23 20:13:43 +00:00
Volker Fischer
7dcd612879 code cleanup 2013-02-23 20:12:09 +00:00
Volker Fischer
92bb9c253a code style 2013-02-23 17:51:34 +00:00
Volker Fischer
e58976901d added analyzerconsole 2013-02-23 17:49:44 +00:00
Volker Fischer
88a38a41a2 added analyzerconsole 2013-02-23 17:36:49 +00:00
Volker Fischer
44f4da79b9 small fix in comment 2013-02-20 18:31:25 +00:00
Volker Fischer
badf158653 there are still loud artifacts in the audio when dropouts occur, disable OPUS again 2013-02-20 18:29:33 +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
75c121b866 fix in About text 2013-02-19 21:27:07 +00:00
Volker Fischer
5562410594 changed name from llcon to Jamulus 2013-02-19 21:20:15 +00:00
Volker Fischer
744a9a70e7 removed llcon 2013-02-18 18:21:57 +00:00
Volker Fischer
066f08b88e set window title for server 2013-02-18 18:20:37 +00:00
Volker Fischer
57fe038978 replaced llcon by APP_NAME 2013-02-18 18:20:02 +00:00
Volker Fischer
ee8524aa11 set correct window title 2013-02-17 21:26:29 +00:00
Volker Fischer
d4f00da713 use APP_NAME define instead of writing llcon directly in the code 2013-02-17 21:14:19 +00:00
Volker Fischer
b4069f93f9 some code cleanup 2013-02-17 10:33:01 +00:00
Volker Fischer
c106f8f9c7 disable OPUS for now, the PLC seems not to be correct... 2013-02-16 21:08:02 +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
dcbfba2fd9 added enum for OPUS codec 2013-02-16 18:17:12 +00:00
Volker Fischer
eb277e3a96 support for OPUS codec 2013-02-16 18:16:12 +00:00
Volker Fischer
0c4f22eaa2 support for OPUS codec 2013-02-16 18:06:18 +00:00
Volker Fischer
7bed33dab4 added a "OPUS supported" message 2013-02-16 18:01:51 +00:00
Volker Fischer
26ef64e1c8 update for new OPUS codec 2013-02-16 18:00:08 +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
25321dec2a fix for compiler warning 2013-02-13 18:25:56 +00:00
Volker Fischer
ebd0882d52 file renaming 2013-02-13 16:41:24 +00:00
Volker Fischer
37f79f4e72 added comment 2013-02-12 15:34:53 +00:00
Volker Fischer
0bc4bae2a6 reset network transport properties on disconnect of the channel (so that network transport properties must be received for successful decoding) 2013-02-12 15:34:26 +00:00
Volker Fischer
8921fed34c added ResetNetworkTransportProperties() function 2013-02-12 15:33:28 +00:00
Volker Fischer
1c2bbbb009 use CELT_MINIMUM_NUM_BYTES to check protocol for network transport message 2013-02-12 15:32:43 +00:00
Volker Fischer
400095b3dc added CELT_MINIMUM_NUM_BYTES 2013-02-12 15:32:05 +00:00
Volker Fischer
7c52b81287 increase default maximum number of server channels from 6 to 7 2013-02-12 14:40:50 +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
3f937e80a5 fixed tab stops 2013-02-11 18:47:50 +00:00
Volker Fischer
1ec3fbc485 added new instruments 2013-02-11 17:56:38 +00:00
Volker Fischer
64c647a2a3 bug fix 2013-02-11 17:55:36 +00:00
Volker Fischer
bf29e47764 added instrument pictures 2013-02-11 17:55:14 +00:00
Volker Fischer
c7127727d0 new instrument pictures 2013-02-11 17:54:41 +00:00
Volker Fischer
e037a90bcf Added Support for instrument picture on fader tag 2013-02-11 15:53:52 +00:00
Volker Fischer
cc3547676b Added Support for instrument picture on fader tag 2013-02-11 15:36:47 +00:00
Volker Fischer
0f976c4c4c Added Support for instrument picture on fader tag 2013-02-11 15:21:53 +00:00
Volker Fischer
ead6092b56 code style changes 2013-02-11 15:06:00 +00:00
Volker Fischer
9e575960da added instrument pictures 2013-02-11 14:59:27 +00:00
Volker Fischer
1d72847365 added files for instruments 2013-02-11 14:58:52 +00:00
Volker Fischer
cf84538b78 added CChannelAdditionalInfo 2013-02-10 08:52:19 +00:00
Volker Fischer
c6346fd875 update links in about dialog 2013-02-10 08:51:22 +00:00
Volker Fischer
ac8a93d9ea added protocol message for additional client infos for client list 2013-02-10 08:50:43 +00:00
Volker Fischer
553beb64b5 code style 2013-02-10 08:44:47 +00:00
Volker Fischer
969b91da99 prepared everything for showing instrument picture together with the name text on the fader label 2013-02-10 08:44:01 +00:00
Volker Fischer
43d3225936 bug fix: the command line argument "-c" did not work anymore 2013-02-09 21:23:10 +00:00
Volker Fischer
a7895f88ea update year to 2013 2013-01-23 10:41:13 +00:00
Volker Fischer
674881d7be rename onjam.xcf to banner.xcf 2013-01-23 08:58:29 +00:00
Volker Fischer
4449f8b90a new name 2013-01-23 07:58:51 +00:00
Volker Fischer
03a2940cfe fix for utf-8 strings in protocol (it used to be just ACSII coded strings which is not according to the specification of the protocol) 2013-01-13 19:56:50 +00:00
Volker Fischer
2b5297fcdc moved fix with "NOMINMAX" in the project file 2013-01-13 14:20:53 +00:00
Volker Fischer
dd1b97319f qmake is now the one and only supported environment 2013-01-09 09:28:15 +00:00
Volker Fischer
f9ca26af0c fixes for Qt5 2013-01-08 20:29:11 +00:00
Volker Fischer
547dbf8e9a qt5 fixes 2013-01-08 19:26:05 +00:00
Volker Fischer
87aabee220 changed the qt includes to regular ones (without the .h) 2013-01-02 20:41:04 +00:00
Volker Fischer
ac5066066c fix for Ubuntu compilation 2012-12-31 12:45:28 +00:00
Volker Fischer
2f153b6a8e new cvs version 2012-07-15 14:23:36 +00:00
Volker Fischer
03694697c7 release version number 2012-07-15 08:00:19 +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
046cb18253 lower slave server register time (15 minutes) 2012-07-09 12:58:35 +00:00
Volker Fischer
fa52276fef support for slave server messages to keep NAT port open 2012-07-09 12:53:40 +00:00
Volker Fischer
8a167d844b - bug fix for endless ping message loop causing a lot of network traffic
- implementation of empty message sending in slave server to keep NAT port open
2012-07-09 12:52:23 +00:00
Volker Fischer
b625a77521 small fix for initialization of host address in case not actual address could be obtained 2012-07-09 12:49:47 +00:00
Volker Fischer
d0b017df54 code style change 2012-07-09 12:48:29 +00:00
Volker Fischer
7cf53d7099 added some code for debugging purpose 2012-07-09 07:24:35 +00:00
Volker Fischer
3b539351b1 code style 2012-07-07 15:50:07 +00:00
Volker Fischer
69f4ef837d bug fix with unchecking the register server in the server dialog -> it seems that after the time out, the server was registered anyway because the timer was not disabled (fix is not yet tested...) 2012-07-06 16:54:50 +00:00
Volker Fischer
458310e4a2 we also have to send pings to slave servers which have the same port as the default llcon port (since the router has not translated the port number to a new one) 2012-06-17 18:04:43 +00:00
Volker Fischer
fa30a903a3 support for sending ping messages to servers in the server list to keep to port open in the NAT of the slave server 2012-06-05 06:25:19 +00:00
Volker Fischer
e32d80b9db code style changes 2012-05-11 15:10:13 +00:00
Volker Fischer
ddfa045419 lower block error rate bound for auto jitter buffer to increase audio quality (note that the delay will be slightly higher) 2012-02-25 17:54:47 +00:00
Volker Fischer
b268609c8d new version 2012-02-02 19:36:12 +00:00
Volker Fischer
58caa12914 new version number 2012-02-02 18:50:36 +00:00
Volker Fischer
9976292bc5 fix for old Qt version on Mac 2012-01-30 19:08:40 +00:00
Volker Fischer
3f75913dca better handling of sound card reinits 2012-01-28 11:51:14 +00:00
Volker Fischer
e2c98e2384 Clients -> Musicians 2012-01-27 16:17:04 +00:00
Volker Fischer
4dabebbd4f different column sizes since the label has changed 2012-01-27 16:14:29 +00:00
Volker Fischer
e50abe3a67 fix for bad audio under Mac for some USB sound cards 2012-01-23 21:01:18 +00:00