Browse Source

Fix engine real-time notification (was broken since ??).

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1939 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.71
sletz 17 years ago
parent
commit
d3df789445
3 changed files with 9 additions and 5 deletions
  1. +4
    -0
      ChangeLog
  2. +1
    -1
      common/JackChannel.h
  3. +4
    -4
      common/JackEngine.cpp

+ 4
- 0
ChangeLog View File

@@ -19,6 +19,10 @@ Nedko Arnaudov
Jackdmp changes log Jackdmp changes log
--------------------------- ---------------------------


2008-03-11 Stephane Letz <letz@grame.fr>
* Fix engine real-time notification (was broken since ??).

2008-03-10 Stephane Letz <letz@grame.fr> 2008-03-10 Stephane Letz <letz@grame.fr>
* Nedko Arnaudov log patch. * Nedko Arnaudov log patch.


+ 1
- 1
common/JackChannel.h View File

@@ -201,7 +201,7 @@ class JackServerNotifyChannelInterface
virtual void Close() virtual void Close()
{} {}


virtual void ClientNotify(int refnum, int notify, int value1, int value2)
virtual void ClientNotify(int refnum, int notify, int value)
{} {}


}; };


+ 4
- 4
common/JackEngine.cpp View File

@@ -134,7 +134,7 @@ void JackEngine::ProcessNext(jack_time_t callback_usecs)
{ {
fLastSwitchUsecs = callback_usecs; fLastSwitchUsecs = callback_usecs;
if (fGraphManager->RunNextGraph()) // True if the graph actually switched to a new state if (fGraphManager->RunNextGraph()) // True if the graph actually switched to a new state
fChannel->ClientNotify(ALL_CLIENTS, kGraphOrderCallback, 0, 0);
fChannel->ClientNotify(ALL_CLIENTS, kGraphOrderCallback, 0);
fSignal->SignalAll(); // Signal for threads waiting for next cycle fSignal->SignalAll(); // Signal for threads waiting for next cycle
} }


@@ -191,12 +191,12 @@ void JackEngine::CheckXRun(jack_time_t callback_usecs) // REVOIR les conditions


if (status != NotTriggered && status != Finished) { if (status != NotTriggered && status != Finished) {
jack_error("JackEngine::XRun: client = %s was not run: state = %ld", client->GetClientControl()->fName, status); jack_error("JackEngine::XRun: client = %s was not run: state = %ld", client->GetClientControl()->fName, status);
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0, 0); // Notify all clients
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0); // Notify all clients
} }


if (status == Finished && (long)(finished_date - callback_usecs) > 0) { if (status == Finished && (long)(finished_date - callback_usecs) > 0) {
jack_error("JackEngine::XRun: client %s finished after current callback", client->GetClientControl()->fName); jack_error("JackEngine::XRun: client %s finished after current callback", client->GetClientControl()->fName);
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0, 0); // Notify all clients
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0); // Notify all clients
} }
} }
} }
@@ -272,7 +272,7 @@ void JackEngine::NotifyXRun(jack_time_t callback_usecs)
{ {
// Use the audio thread => request thread communication channel // Use the audio thread => request thread communication channel
fEngineControl->ResetFrameTime(callback_usecs); fEngineControl->ResetFrameTime(callback_usecs);
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0, 0);
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0);
} }


void JackEngine::NotifyXRun(int refnum) void JackEngine::NotifyXRun(int refnum)


Loading…
Cancel
Save