projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add OSX configuration script.
[ardour.git]
/
libs
/
surfaces
/
faderport
/
faderport.cc
diff --git
a/libs/surfaces/faderport/faderport.cc
b/libs/surfaces/faderport/faderport.cc
index 8e106c7948f9a73fd68b4c13507988f10371d4dd..72190c1e8a0370970723688de1d5f832d41ae39c 100644
(file)
--- a/
libs/surfaces/faderport/faderport.cc
+++ b/
libs/surfaces/faderport/faderport.cc
@@
-200,6
+200,7
@@
FaderPort::~FaderPort ()
if (_input_port) {
DEBUG_TRACE (DEBUG::FaderPort, string_compose ("unregistering input port %1\n", boost::shared_ptr<ARDOUR::Port>(_input_port)->name()));
if (_input_port) {
DEBUG_TRACE (DEBUG::FaderPort, string_compose ("unregistering input port %1\n", boost::shared_ptr<ARDOUR::Port>(_input_port)->name()));
+ Glib::Threads::Mutex::Lock em (AudioEngine::instance()->process_lock());
AudioEngine::instance()->unregister_port (_input_port);
_input_port.reset ();
}
AudioEngine::instance()->unregister_port (_input_port);
_input_port.reset ();
}
@@
-207,6
+208,7
@@
FaderPort::~FaderPort ()
if (_output_port) {
_output_port->drain (10000, 250000); /* check every 10 msecs, wait up to 1/4 second for the port to drain */
DEBUG_TRACE (DEBUG::FaderPort, string_compose ("unregistering output port %1\n", boost::shared_ptr<ARDOUR::Port>(_output_port)->name()));
if (_output_port) {
_output_port->drain (10000, 250000); /* check every 10 msecs, wait up to 1/4 second for the port to drain */
DEBUG_TRACE (DEBUG::FaderPort, string_compose ("unregistering output port %1\n", boost::shared_ptr<ARDOUR::Port>(_output_port)->name()));
+ Glib::Threads::Mutex::Lock em (AudioEngine::instance()->process_lock());
AudioEngine::instance()->unregister_port (_output_port);
_output_port.reset ();
}
AudioEngine::instance()->unregister_port (_output_port);
_output_port.reset ();
}
@@
-284,19
+286,12
@@
FaderPort::stop ()
void
FaderPort::thread_init ()
{
void
FaderPort::thread_init ()
{
- struct sched_param rtparam;
-
pthread_set_name (event_loop_name().c_str());
PBD::notify_event_loops_about_thread_creation (pthread_self(), event_loop_name(), 2048);
ARDOUR::SessionEvent::create_per_thread_pool (event_loop_name(), 128);
pthread_set_name (event_loop_name().c_str());
PBD::notify_event_loops_about_thread_creation (pthread_self(), event_loop_name(), 2048);
ARDOUR::SessionEvent::create_per_thread_pool (event_loop_name(), 128);
- memset (&rtparam, 0, sizeof (rtparam));
- rtparam.sched_priority = 9; /* XXX should be relative to audio (JACK) thread */
-
- if (pthread_setschedparam (pthread_self(), SCHED_FIFO, &rtparam) != 0) {
- // do we care? not particularly.
- }
+ set_thread_priority ();
}
void
}
void
@@
-379,7
+374,7
@@
FaderPort::button_handler (MIDI::Parser &, MIDI::EventTwoBytes* tb)
if (tb->value) {
gain->start_touch (now);
} else {
if (tb->value) {
gain->start_touch (now);
} else {
- gain->stop_touch (
true,
now);
+ gain->stop_touch (now);
}
}
}
}
}
}