// wait for announce reply from nsm server
for ( i = 0; i < 5000; ++i) {
nsm->check ();
+
Glib::usleep (i);
- if (nsm->is_active())
+ if (nsm->is_active()) {
break;
}
}
*/
-
- // 'std::isinf()' and 'std::isnan()' are not available in MSVC.
+#ifdef COMPILER_MSVC
+#include <float.h>
- #else
- using std::isnan;
- using std::isinf;
++/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
+#define isinf(val) !((bool)_finite((double)val))
+#define isnan(val) (bool)_isnan((double)val)
+#endif
+
#include <cmath>
#include <climits>
#include <vector>
*/
-
- // 'std::isinf()' and 'std::isnan()' are not available in MSVC.
+#ifdef COMPILER_MSVC
+#include <float.h>
- #else
- using std::isnan;
- using std::isinf;
++/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
+#define isinf(val) !((bool)_finite((double)val))
+#define isnan(val) (bool)_isnan((double)val)
+#endif
+
#include "plugin_eq_gui.h"
#include "fft.h"
namespace PBD {
namespace DEBUG {
- extern uint64_t MidiSourceIO;
- extern uint64_t MidiPlaylistIO;
- extern uint64_t MidiDiskstreamIO;
- extern uint64_t SnapBBT;
- extern uint64_t Configuration;
- extern uint64_t Latency;
- extern uint64_t Peaks;
- extern uint64_t Processors;
- extern uint64_t ProcessThreads;
- extern uint64_t Graph;
- extern uint64_t Destruction;
- extern uint64_t MTC;
- extern uint64_t LTC;
- extern uint64_t Transport;
- extern uint64_t Slave;
- extern uint64_t SessionEvents;
- extern uint64_t MidiIO;
- extern uint64_t MackieControl;
- extern uint64_t MidiClock;
- extern uint64_t Monitor;
- extern uint64_t Solo;
- extern uint64_t AudioPlayback;
- extern uint64_t Panning;
- extern uint64_t LV2;
- extern uint64_t CaptureAlignment;
- extern uint64_t PluginManager;
- extern uint64_t AudioUnits;
- extern uint64_t ControlProtocols;
- extern uint64_t CycleTimers;
- extern uint64_t MidiTrackers;
- extern uint64_t Layering;
- extern uint64_t TempoMath;
- extern uint64_t TempoMap;
- extern uint64_t OrderKeys;
- extern uint64_t Automation;
- extern uint64_t WiimoteControl;
- extern uint64_t Ports;
+ LIBARDOUR_API extern uint64_t MidiSourceIO;
+ LIBARDOUR_API extern uint64_t MidiPlaylistIO;
+ LIBARDOUR_API extern uint64_t MidiDiskstreamIO;
+ LIBARDOUR_API extern uint64_t SnapBBT;
+ LIBARDOUR_API extern uint64_t Configuration;
+ LIBARDOUR_API extern uint64_t Latency;
++ LIBARDOUR_API extern uint64_t Peaks;
+ LIBARDOUR_API extern uint64_t Processors;
+ LIBARDOUR_API extern uint64_t ProcessThreads;
+ LIBARDOUR_API extern uint64_t Graph;
+ LIBARDOUR_API extern uint64_t Destruction;
+ LIBARDOUR_API extern uint64_t MTC;
+ LIBARDOUR_API extern uint64_t LTC;
+ LIBARDOUR_API extern uint64_t Transport;
+ LIBARDOUR_API extern uint64_t Slave;
+ LIBARDOUR_API extern uint64_t SessionEvents;
+ LIBARDOUR_API extern uint64_t MidiIO;
+ LIBARDOUR_API extern uint64_t MackieControl;
+ LIBARDOUR_API extern uint64_t MidiClock;
+ LIBARDOUR_API extern uint64_t Monitor;
+ LIBARDOUR_API extern uint64_t Solo;
+ LIBARDOUR_API extern uint64_t AudioPlayback;
+ LIBARDOUR_API extern uint64_t Panning;
+ LIBARDOUR_API extern uint64_t LV2;
+ LIBARDOUR_API extern uint64_t CaptureAlignment;
+ LIBARDOUR_API extern uint64_t PluginManager;
+ LIBARDOUR_API extern uint64_t AudioUnits;
+ LIBARDOUR_API extern uint64_t ControlProtocols;
+ LIBARDOUR_API extern uint64_t CycleTimers;
+ LIBARDOUR_API extern uint64_t MidiTrackers;
+ LIBARDOUR_API extern uint64_t Layering;
+ LIBARDOUR_API extern uint64_t TempoMath;
+ LIBARDOUR_API extern uint64_t TempoMap;
+ LIBARDOUR_API extern uint64_t OrderKeys;
+ LIBARDOUR_API extern uint64_t Automation;
+ LIBARDOUR_API extern uint64_t WiimoteControl;
+ LIBARDOUR_API extern uint64_t Ports;
}
}
#ifndef __ardour_directory_names_h__
#define __ardour_directory_names_h__
+#include "ardour/libardour_visibility.h"
+
namespace ARDOUR {
-extern const char* const old_sound_dir_name;
-extern const char* const sound_dir_name;
-extern const char* const midi_dir_name;
-extern const char* const midi_patch_dir_name;
-extern const char* const video_dir_name;
-extern const char* const dead_dir_name;
-extern const char* const interchange_dir_name;
-extern const char* const peak_dir_name;
-extern const char* const export_dir_name;
-extern const char* const export_formats_dir_name;
-extern const char* const templates_dir_name;
-extern const char* const route_templates_dir_name;
-extern const char* const surfaces_dir_name;
-extern const char* const ladspa_dir_name;
-extern const char* const user_config_dir_name;
-extern const char* const panner_dir_name;
-extern const char* const backend_dir_name;
+ LIBARDOUR_API extern const char* const old_sound_dir_name;
+ LIBARDOUR_API extern const char* const sound_dir_name;
++ LIBARDOUR_API extern const char* const ladspa_dir_name;
+ LIBARDOUR_API extern const char* const midi_dir_name;
+ LIBARDOUR_API extern const char* const midi_patch_dir_name;
+ LIBARDOUR_API extern const char* const video_dir_name;
+ LIBARDOUR_API extern const char* const dead_dir_name;
+ LIBARDOUR_API extern const char* const interchange_dir_name;
+ LIBARDOUR_API extern const char* const peak_dir_name;
+ LIBARDOUR_API extern const char* const export_dir_name;
+ LIBARDOUR_API extern const char* const export_formats_dir_name;
+ LIBARDOUR_API extern const char* const templates_dir_name;
+ LIBARDOUR_API extern const char* const route_templates_dir_name;
+ LIBARDOUR_API extern const char* const surfaces_dir_name;
+ LIBARDOUR_API extern const char* const user_config_dir_name;
+ LIBARDOUR_API extern const char* const panner_dir_name;
+ LIBARDOUR_API extern const char* const backend_dir_name;
};
boost::shared_ptr<Region> region;
-- SessionEvent (Type t, Action a, framepos_t when, framepos_t where, double spd, bool yn = false, bool yn2 = false, bool yn3 = false)
++ SessionEvent (Type t, Action a, framepos_t when, framepos_t where, double spd, bool yn = false, bool yn2 = false, bool yn3 = false)
: type (t)
, action (a)
, action_frame (when)
}
return true;
}
- pframes_t n = 0;
+
+void
+AudioBuffer::silence (framecnt_t len, framecnt_t offset) {
++
+ if (!_silent) {
+ assert(_capacity > 0);
+ assert(offset + len <= _capacity);
+ memset(_data + offset, 0, sizeof (Sample) * len);
+ if (len == _capacity) {
+ _silent = true;
+ }
+ }
+ _written = true;
+}
LocaleGuard lg (X_("POSIX"));
boost::shared_ptr<ChannelList> c = channels.reader();
- snprintf (buf, sizeof(buf), "%zd", c->size());
- snprintf (buf, sizeof(buf), "%d", c->size());
++ snprintf (buf, sizeof(buf), "%u", (unsigned int) c->size());
node.add_property ("channels", buf);
if (!capturing_sources.empty() && _session.get_record_enabled()) {
panner_search_path ()
{
Searchpath spath(user_config_directory ());
++
spath += ardour_dll_directory ();
spath.add_subdirectory_to_paths(panner_dir_name);
- <<<<<<< HEAD
- spath += SearchPath(Glib::getenv(panner_env_variable_name));
- =======
--
spath += Searchpath(Glib::getenv(panner_env_variable_name));
- >>>>>>> windows+cc
++
return spath;
}
def build(bld):
if bld.is_defined ('INTERNAL_SHARED_LIBS'):
obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources)
- obj.defines = [ 'LIBGTKMM2EXT_DLL_EXPORTS=1' ]
+ # defines for this library
++ obj.defines = [ 'LIBGTKMM2EXT_DLL_EXPORTS', 'ABSTRACT_UI_EXPORTS' ]
+ obj.cxxflags = [ '-fvisibility=hidden' ]
+ obj.cflags = [ '-fvisibility=hidden' ]
else:
obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=gtkmm2ext_sources)
obj.cxxflags = [ '-fPIC' ]
class Touchable;
template<typename RequestObject>
- class /*ABSTRACT_UI_API*/ AbstractUI : public BaseUI /* see notes in visibility.h about why this is not LIBPBD_API */
-class AbstractUI : public BaseUI
++class ABSTRACT_UI_API AbstractUI : public BaseUI
{
public:
AbstractUI (const std::string& name);
#
build_host_supports_sse = False
+
+ # Flags necessary for building
+ compiler_flags = [] # generic
+ c_flags = [] # C-specific
+ cxx_flags = [] # C++-specific
+ linker_flags = []
+
+ # Optimization flags (overridable)
optimization_flags = []
+
+ # Debugging flags
debug_flags = []
- u = os.uname ()
+ u = PLATFORM.uname ()
cpu = u[4]
platform = u[0].lower()
version = u[2]