full compilation and linking (coding not finished, will not run)
[ardour.git] / libs / ardour / ardour / jack_portengine.h
index 80e34f3c92aa9d7184f88f2e4557490f8aaed10a..bee87532d3e9cd0f5397bc1f57709f5dbb65ae89 100644 (file)
@@ -38,8 +38,8 @@ class JACKPortEngine : public PortEngine
 {
   public:
     JACKPortEngine (PortManager&, boost::shared_ptr<JackConnection>);
+    ~JACKPortEngine();
 
-    bool  connected() const;
     void* private_handle() const;
 
     const std::string& my_name() const;
@@ -48,10 +48,6 @@ class JACKPortEngine : public PortEngine
     std::string get_port_name (PortHandle) const;
     PortHandle* get_port_by_name (const std::string&) const;
 
-    std::string make_port_name_relative (const std::string& name) const;
-    std::string make_port_name_non_relative (const std::string& name) const;
-    bool        port_is_mine (const std::string& fullname) const;
-
     int get_ports (const std::string& port_name_pattern, DataType type, PortFlags flags, std::vector<std::string>&) const;
 
     DataType port_data_type (PortHandle) const;
@@ -62,19 +58,16 @@ class JACKPortEngine : public PortEngine
     bool  connected (PortHandle);
     bool  connected_to (PortHandle, const std::string&);
     bool  physically_connected (PortHandle);
-
     int   get_connections (PortHandle, std::vector<std::string>&);
-
     int   connect (PortHandle, const std::string&);
     int   disconnect (PortHandle, const std::string&);
     int   disconnect_all (PortHandle);
-
     int   connect (const std::string& src, const std::string& dst);
     int   disconnect (const std::string& src, const std::string& dst);
     
     /* MIDI */
 
-    void     midi_event_get (pframes_t& timestamp, size_t& size, uint8_t** buf, void* port_buffer, uint32_t event_index);
+    int      midi_event_get (pframes_t& timestamp, size_t& size, uint8_t** buf, void* port_buffer, uint32_t event_index);
     int      midi_event_put (void* port_buffer, pframes_t timestamp, const uint8_t* buffer, size_t size);
     uint32_t get_midi_event_count (void* port_buffer);
     void     midi_clear (void* port_buffer);
@@ -91,7 +84,8 @@ class JACKPortEngine : public PortEngine
     
     void          set_latency_range (PortHandle, bool for_playback, LatencyRange);
     LatencyRange  get_latency_range (PortHandle, bool for_playback);
-    LatencyRange  get_connected_latency_range (PortHandle, int dir);
+
+    /* Physical ports */
 
     bool      port_is_physical (PortHandle) const;
     void      get_physical_outputs (DataType type, std::vector<std::string>&);
@@ -99,9 +93,13 @@ class JACKPortEngine : public PortEngine
     ChanCount n_physical_outputs () const;
     ChanCount n_physical_inputs () const;
 
+    /* Getting access to the data buffer for a port */
+
     void* get_buffer (PortHandle, pframes_t);
 
-    framecnt_t last_frame_time () const;
+    /* Miscellany */
+
+    pframes_t sample_time_at_cycle_start ();
     
   private:
     boost::shared_ptr<JackConnection> _jack_connection;
@@ -110,10 +108,11 @@ class JACKPortEngine : public PortEngine
     static void _registration_callback (jack_port_id_t, int, void *);
     static void _connect_callback (jack_port_id_t, jack_port_id_t, int, void *);
 
-    int graph_order_callback ();
-
     void connect_callback (jack_port_id_t, jack_port_id_t, int);
 
+    ChanCount n_physical (unsigned long flags) const;
+    void get_physical (DataType type, unsigned long flags, std::vector<std::string>& phy) const;
+
 };
 
 } // namespace