-MIDI::Port *default_mmc_port = 0;
-MIDI::Port *default_mtc_port = 0;
-MIDI::Port *default_midi_port = 0;
-
-Change ARDOUR::StartChanged = ARDOUR::new_change ();
-Change ARDOUR::LengthChanged = ARDOUR::new_change ();
-Change ARDOUR::PositionChanged = ARDOUR::new_change ();
-Change ARDOUR::NameChanged = ARDOUR::new_change ();
-Change ARDOUR::BoundsChanged = Change (0); // see init(), below
-
-compute_peak_t ARDOUR::compute_peak = 0;
-find_peaks_t ARDOUR::find_peaks = 0;
-apply_gain_to_buffer_t ARDOUR::apply_gain_to_buffer = 0;
-mix_buffers_with_gain_t ARDOUR::mix_buffers_with_gain = 0;
-mix_buffers_no_gain_t ARDOUR::mix_buffers_no_gain = 0;
-
-#ifdef HAVE_LIBLO
-static int
-setup_osc ()
-{
- /* no real cost to creating this object, and it avoids
- conditionals anywhere that uses it
- */
-
- osc = new OSC (Config->get_osc_port());
-
- if (Config->get_use_osc ()) {
- return osc->start ();
- } else {
- return 0;
- }
-}
-#endif
-
-int
-ARDOUR::setup_midi (AudioEngine& engine)
-{
- std::map<string,Configuration::MidiPortDescriptor*>::iterator i;
- int nports;
-
- if ((nports = Config->midi_ports.size()) == 0) {
- warning << _("no MIDI ports specified: no MMC or MTC control possible") << endmsg;
- return 0;
- }
-
- MIDI::Manager::instance()->set_api_data(engine.jack());
-
- for (i = Config->midi_ports.begin(); i != Config->midi_ports.end(); ++i) {
- Configuration::MidiPortDescriptor* port_descriptor;
-
- port_descriptor = (*i).second;
-
- MIDI::PortRequest request (port_descriptor->device,
- port_descriptor->tag,
- port_descriptor->mode,
- port_descriptor->type);
-
- if (request.status != MIDI::PortRequest::OK) {
- error << string_compose(_("MIDI port specifications for \"%1\" are not understandable."), port_descriptor->tag) << endmsg;
- continue;
- }
-
- MIDI::Manager::instance()->add_port (request);
-
- nports++;
- }
-
- if (nports > 1) {
-
- /* More than one port, so try using specific names for each port */
-
- map<string,Configuration::MidiPortDescriptor *>::iterator i;