summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-06-13 02:43:40 +0000
committerDavid Robillard <d@drobilla.net>2006-06-13 02:43:40 +0000
commitedc7a146f5f3c9facd97b3e8951e1607b5e9ec31 (patch)
tree3b5b467ee5643d1bff7c17c952ec52f7fd02500a /libs
parent27e00ec4e706ac1620a43c1fc1f27e25df546695 (diff)
Merged with trunk
git-svn-id: svn://localhost/ardour2/branches/midi@580 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/SConscript6
-rw-r--r--libs/ardour/ardour/audioengine.h8
-rw-r--r--libs/ardour/ardour/auditioner.h4
-rw-r--r--libs/ardour/ardour/diskstream.h2
-rw-r--r--libs/ardour/ardour/playlist.h6
-rw-r--r--libs/ardour/ardour/session.h36
-rw-r--r--libs/pbd3/pbd/ringbuffer.h4
-rw-r--r--libs/pbd3/pbd/ringbufferNPT.h4
8 files changed, 45 insertions, 25 deletions
diff --git a/libs/ardour/SConscript b/libs/ardour/SConscript
index a9d5daab1d..4f3fff3945 100644
--- a/libs/ardour/SConscript
+++ b/libs/ardour/SConscript
@@ -176,10 +176,13 @@ if conf.CheckCHeader('/System/Library/Frameworks/CoreMIDI.framework/Headers/Core
if conf.CheckCHeader('/System/Library/Frameworks/AudioToolbox.framework/Headers/ExtendedAudioFile.h'):
ardour.Append(CXXFLAGS="-DHAVE_COREAUDIO")
ardour.Append(LINKFLAGS="-framework AudioToolbox")
- #
+
+
+if env['CONFIG_ARCH'] == 'apple':
# this next line avoids issues with circular dependencies between libardour and libardour_cp.
# it is based on the (entirely reasonable) assumption that a system with CoreAudio is OS X
#
+ print 'APPLE CONFIG'
ardour.Append(LINKFLAGS='-undefined suppress -flat_namespace')
extra_sources += coreaudio_files
@@ -189,6 +192,7 @@ ardour.Merge ([
libraries['core'],
libraries['xml'],
libraries['sndfile'],
+ libraries['raptor'],
libraries['lrdf'],
libraries['samplerate'],
libraries['sigc2'],
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h
index 36dbbd1dbe..788ac679dd 100644
--- a/libs/ardour/ardour/audioengine.h
+++ b/libs/ardour/ardour/audioengine.h
@@ -237,10 +237,10 @@ class AudioEngine : public sigc::trackable
int connect_to_jack (std::string client_name);
- static void* _meter_thread (void* arg);
- void* meter_thread ();
- pthread_t meter_thread_id;
- void maybe_start_metering_thread ();
+ void meter_thread ();
+ void start_metering_thread ();
+ Glib::Thread* m_meter_thread;
+ mutable gint m_meter_exit;
};
}; /* namespace ARDOUR */
diff --git a/libs/ardour/ardour/auditioner.h b/libs/ardour/ardour/auditioner.h
index b79620eaa2..a21ba94ac6 100644
--- a/libs/ardour/ardour/auditioner.h
+++ b/libs/ardour/ardour/auditioner.h
@@ -58,8 +58,8 @@ class Auditioner : public AudioTrack
private:
AudioRegion *the_region;
jack_nframes_t current_frame;
- atomic_t _active;
- PBD::Lock lock;
+ mutable gint _active;
+ Glib::Mutex lock;
jack_nframes_t length;
void drop_ports ();
diff --git a/libs/ardour/ardour/diskstream.h b/libs/ardour/ardour/diskstream.h
index 8838177f14..9d2d336b02 100644
--- a/libs/ardour/ardour/diskstream.h
+++ b/libs/ardour/ardour/diskstream.h
@@ -320,7 +320,7 @@ class DiskStream : public Stateful, public sigc::trackable
uint32_t _n_channels;
id_t _id;
- atomic_t _record_enabled;
+ mutable gint _record_enabled;
AudioPlaylist* _playlist;
double _visible_speed;
double _actual_speed;
diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h
index c6cb65efc5..78e3353084 100644
--- a/libs/ardour/ardour/playlist.h
+++ b/libs/ardour/ardour/playlist.h
@@ -169,9 +169,9 @@ class Playlist : public Stateful, public StateManager {
RegionList regions;
string _name;
Session& _session;
- atomic_t block_notifications;
- atomic_t ignore_state_changes;
- mutable PBD::NonBlockingLock region_lock;
+ mutable gint block_notifications;
+ mutable gint ignore_state_changes;
+ mutable Glib::Mutex region_lock;
RegionList pending_removals;
RegionList pending_adds;
RegionList pending_bounds;
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 189cf77ac9..923a5101fb 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -993,12 +993,12 @@ class Session : public sigc::trackable, public Stateful
typedef void (Session::*process_function_type)(jack_nframes_t);
AudioEngine &_engine;
- atomic_t processing_prohibited;
+ mutable gint processing_prohibited;
process_function_type process_function;
process_function_type last_process_function;
jack_nframes_t _current_frame_rate;
int transport_sub_state;
- atomic_t _record_status;
+ mutable gint _record_status;
jack_nframes_t _transport_frame;
Location* end_location;
Location* start_location;
@@ -1155,14 +1155,14 @@ class Session : public sigc::trackable, public Stateful
bool pending_abort;
bool pending_auto_loop;
- Sample* butler_mixdown_buffer;
- float* butler_gain_buffer;
- pthread_t butler_thread;
- PBD::NonBlockingLock butler_request_lock;
- pthread_cond_t butler_paused;
- bool butler_should_run;
- atomic_t butler_should_do_transport_work;
- int butler_request_pipe[2];
+ Sample* butler_mixdown_buffer;
+ float* butler_gain_buffer;
+ pthread_t butler_thread;
+ Glib::Mutex butler_request_lock;
+ Glib::Cond butler_paused;
+ bool butler_should_run;
+ mutable gint butler_should_do_transport_work;
+ int butler_request_pipe[2];
struct ButlerRequest {
enum Type {
@@ -1402,12 +1402,21 @@ class Session : public sigc::trackable, public Stateful
static MultiAllocSingleReleasePool pool;
};
+<<<<<<< .working
//PBD::Lock midi_lock;
//pthread_t midi_thread;
//int midi_request_pipe[2];
atomic_t butler_active;
//RingBuffer<MIDIRequest*> midi_requests;
/*
+=======
+ Glib::Mutex midi_lock;
+ pthread_t midi_thread;
+ int midi_request_pipe[2];
+ mutable gint butler_active;
+ RingBuffer<MIDIRequest*> midi_requests;
+
+>>>>>>> .merge-right.r579
int start_midi_thread ();
void terminate_midi_thread ();
void poke_midi_thread ();
@@ -1603,10 +1612,17 @@ class Session : public sigc::trackable, public Stateful
int ensure_sound_dir (string, string&);
void refresh_disk_space ();
+<<<<<<< .working
atomic_t _playback_load;
atomic_t _capture_load;
atomic_t _playback_load_min;
atomic_t _capture_load_min;
+=======
+ mutable gint _playback_load;
+ mutable gint _capture_load;
+ mutable gint _playback_load_min;
+ mutable gint _capture_load_min;
+>>>>>>> .merge-right.r579
/* I/O Connections */
diff --git a/libs/pbd3/pbd/ringbuffer.h b/libs/pbd3/pbd/ringbuffer.h
index cca9cbfc01..d276d19086 100644
--- a/libs/pbd3/pbd/ringbuffer.h
+++ b/libs/pbd3/pbd/ringbuffer.h
@@ -116,8 +116,8 @@ class RingBuffer
protected:
T *buf;
size_t size;
- atomic_t write_ptr;
- atomic_t read_ptr;
+ mutable gint write_ptr;
+ mutable gint read_ptr;
size_t size_mask;
};
diff --git a/libs/pbd3/pbd/ringbufferNPT.h b/libs/pbd3/pbd/ringbufferNPT.h
index 2ff469dc12..ccfcae42a5 100644
--- a/libs/pbd3/pbd/ringbufferNPT.h
+++ b/libs/pbd3/pbd/ringbufferNPT.h
@@ -113,8 +113,8 @@ class RingBufferNPT
protected:
T *buf;
size_t size;
- atomic_t write_ptr;
- atomic_t read_ptr;
+ mutable gint write_ptr;
+ mutable gint read_ptr;
};
template<class T> size_t