updated .po files, including new cs versions for libs/ardour and libs/gtkmm2ext
[ardour.git] / libs / ardour / source_factory.cc
index a2e93ee61b9711efb8bdedebdd63f212e7382136..da5980599d989f3530224de70d47b10ba4e967ef 100644 (file)
 #include "ardour/source_factory.h"
 #include "ardour/sndfilesource.h"
 #include "ardour/silentfilesource.h"
-#include "ardour/rc_configuration.h"
 #include "ardour/smf_source.h"
 #include "ardour/session.h"
 
 #ifdef  HAVE_COREAUDIO
-#define USE_COREAUDIO_FOR_FILES
-#endif
-
-#ifdef USE_COREAUDIO_FOR_FILES
 #include "ardour/coreaudiosource.h"
 #endif
 
@@ -55,8 +50,8 @@ using namespace std;
 using namespace PBD;
 
 PBD::Signal1<void,boost::shared_ptr<Source> > SourceFactory::SourceCreated;
-Glib::Cond* SourceFactory::PeaksToBuild;
-Glib::StaticMutex SourceFactory::peak_building_lock = GLIBMM_STATIC_MUTEX_INIT;
+Glib::Threads::Cond SourceFactory::PeaksToBuild;
+Glib::Threads::Mutex SourceFactory::peak_building_lock;
 std::list<boost::weak_ptr<AudioSource> > SourceFactory::files_with_peaks;
 
 static void
@@ -70,7 +65,7 @@ peak_thread_work ()
 
          wait:
                if (SourceFactory::files_with_peaks.empty()) {
-                       SourceFactory::PeaksToBuild->wait (SourceFactory::peak_building_lock);
+                       SourceFactory::PeaksToBuild.wait (SourceFactory::peak_building_lock);
                }
 
                if (SourceFactory::files_with_peaks.empty()) {
@@ -92,10 +87,8 @@ peak_thread_work ()
 void
 SourceFactory::init ()
 {
-       PeaksToBuild = new Glib::Cond();
-
        for (int n = 0; n < 2; ++n) {
-               Glib::Thread::create (sigc::ptr_fun (::peak_thread_work), false);
+               Glib::Threads::Thread::create (sigc::ptr_fun (::peak_thread_work));
        }
 }
 
@@ -108,9 +101,9 @@ SourceFactory::setup_peakfile (boost::shared_ptr<Source> s, bool async)
 
                if (async) {
 
-                       Glib::Mutex::Lock lm (peak_building_lock);
+                       Glib::Threads::Mutex::Lock lm (peak_building_lock);
                        files_with_peaks.push_back (boost::weak_ptr<AudioSource> (as));
-                       PeaksToBuild->broadcast ();
+                       PeaksToBuild.broadcast ();
 
                } else {
 
@@ -155,12 +148,13 @@ SourceFactory::create (Session& s, const XMLNode& node, bool defer_peaks)
 
                        try {
                                boost::shared_ptr<AudioPlaylistSource> ap (new AudioPlaylistSource (s, node));
-
+                               
                                if (setup_peakfile (ap, true)) {
                                        return boost::shared_ptr<Source>();
                                }
 
                                ap->check_for_analysis_data_on_disk ();
+
                                SourceCreated (ap);
                                return ap;
 
@@ -187,7 +181,7 @@ SourceFactory::create (Session& s, const XMLNode& node, bool defer_peaks)
 
                        catch (failed_constructor& err) {
 
-#ifdef USE_COREAUDIO_FOR_FILES
+#ifdef HAVE_COREAUDIO
 
                                /* this is allowed to throw */
 
@@ -251,7 +245,7 @@ SourceFactory::createReadable (DataType type, Session& s, const string& path,
                        }
 
                        catch (failed_constructor& err) {
-#ifdef USE_COREAUDIO_FOR_FILES
+#ifdef HAVE_COREAUDIO
 
                                Source* src = new CoreAudioSource (s, path, chn, flags);
 #ifdef BOOST_SP_ENABLE_DEBUG_HOOKS
@@ -349,7 +343,7 @@ SourceFactory::createWritable (DataType type, Session& s, const std::string& pat
 }
 
 boost::shared_ptr<Source>
-SourceFactory::createFromPlaylist (DataType type, Session& s, boost::shared_ptr<Playlist> p, const ID& orig, const std::string& name,
+SourceFactory::createFromPlaylist (DataType type, Session& s, boost::shared_ptr<Playlist> p, const PBD::ID& orig, const std::string& name,
                                   uint32_t chn, frameoffset_t start, framecnt_t len, bool copy, bool defer_peaks)
 {
        if (type == DataType::AUDIO) {