*** NEW CODING POLICY ***
[ardour.git] / libs / ardour / ardour / ardour.h
index fee6c601a2ebf1c1c390d5dc892e31e584ed4c28..7358a7bddbaf837c41fe05b2a738833246071e1b 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 1999 Paul Davis 
+    Copyright (C) 1999 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id$
 */
 
 #ifndef __ardour_ardour_h__
 #define __ardour_ardour_h__
 
-#include <limits.h>
+#include <map>
 #include <string>
+
+#include <limits.h>
 #include <signal.h>
 
-#include <pbd/error.h>
-#include <pbd/failed_constructor.h>
+#include "pbd/error.h"
+#include "pbd/failed_constructor.h"
 
-#include <ardour/configuration.h>
-#include <ardour/types.h>
+#include "ardour/configuration.h"
+#include "ardour/types.h"
+
+// #include <jack/jack.h> need this to inline jack_get_microseconds
 
 namespace MIDI {
        class MachineControl;
@@ -39,27 +42,26 @@ namespace MIDI {
 namespace ARDOUR {
 
        class AudioEngine;
-       class OSC;
-
-       extern OSC* osc;
 
-       static const jack_nframes_t max_frames = JACK_MAX_FRAMES;
+       static const nframes_t max_frames = JACK_MAX_FRAMES;
+       extern sigc::signal<void,std::string> BootMessage;
 
-       int init (AudioEngine&, bool with_vst, bool try_optimization, void (*sighandler)(int,siginfo_t*,void*) = 0);
+       int init (bool with_vst, bool try_optimization);
        int cleanup ();
 
-       
-       std::string get_user_ardour_path ();
-       std::string get_system_data_path ();
-       std::string get_system_module_path ();
+       std::string get_ardour_revision ();
 
-       std::string find_config_file (std::string name);
-       std::string find_data_file (std::string name, std::string subdir = "" );
+       void find_bindings_files (std::map<std::string,std::string>&);
 
        const layer_t max_layer = UCHAR_MAX;
 
-       id_t new_id();
-
+       microseconds_t get_microseconds ();
+/*     {
+        JACK has exported this functionality for a long time now 
+       but inlining this causes problems
+        return (microseconds_t) jack_get_time();
+       }
+*/
        Change new_change ();
 
        extern Change StartChanged;
@@ -74,13 +76,17 @@ namespace ARDOUR {
            const char* old;
        };
 
-};
+       static const double SHUTTLE_FRACT_SPEED1=0.48412291827; /* derived from A1,A2 */
 
-/* how do we make these be within the Ardour namespace? */
+       void setup_fpu ();
 
-extern MIDI::Port* default_mmc_port;
-extern MIDI::Port* default_mtc_port;
-extern MIDI::Port* default_midi_port;
+       extern MIDI::Port* default_mmc_port;
+       extern MIDI::Port* default_mtc_port;
+       extern MIDI::Port* default_midi_port;
+       extern MIDI::Port *default_midi_clock_port;
+       
+       int setup_midi ();
+}
 
 #endif /* __ardour_ardour_h__ */