diff system/System.h @ 150:4b2ea82fd0ed

* Reorganising code base. This revision probably should compile once more.
author Chris Cannam
date Mon, 31 Jul 2006 14:05:22 +0000
parents
children 04baa690f90d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/system/System.h	Mon Jul 31 14:05:22 2006 +0000
@@ -0,0 +1,88 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
+
+/*
+    Sonic Visualiser
+    An audio file viewer and annotation editor.
+    Centre for Digital Music, Queen Mary, University of London.
+    This file copyright 2006 Chris Cannam.
+    
+    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 the Free Software Foundation; either version 2 of the
+    License, or (at your option) any later version.  See the file
+    COPYING included with this distribution for more information.
+*/
+
+#ifndef _SYSTEM_H_
+#define _SYSTEM_H_
+
+#ifdef _WIN32
+
+#include <windows.h>
+#include <malloc.h>
+#include <process.h>
+
+#define MLOCK(a,b)   1
+#define MUNLOCK(a,b) 1
+#define MUNLOCK_SAMPLEBLOCK(a) 1
+
+#define DLOPEN(a,b)  LoadLibrary((a).toStdWString().c_str())
+#define DLSYM(a,b)   GetProcAddress((HINSTANCE)(a),(b))
+#define DLCLOSE(a)   FreeLibrary((HINSTANCE)(a))
+#define DLERROR()    ""
+
+#define PLUGIN_GLOB  "*.dll"
+#define PATH_SEPARATOR ';'
+#define DEFAULT_VAMP_PATH "%ProgramFiles%\\Vamp Plugins"
+
+#define getpid _getpid
+
+extern "C" {
+void usleep(unsigned long usec);
+void gettimeofday(struct timeval *p, void *tz);
+}
+
+#else
+
+#include <sys/mman.h>
+#include <dlfcn.h>
+
+#define MLOCK(a,b)   ::mlock((a),(b))
+#define MUNLOCK(a,b) (::munlock((a),(b)) ? (::perror("munlock failed"), 0) : 0)
+#define MUNLOCK_SAMPLEBLOCK(a) do { if (!(a).empty()) { const float &b = *(a).begin(); MUNLOCK(&b, (a).capacity() * sizeof(float)); } } while(0);
+
+#define DLOPEN(a,b)  dlopen((a).toStdString().c_str(),(b))
+#define DLSYM(a,b)   dlsym((a),(b))
+#define DLCLOSE(a)   dlclose((a))
+#define DLERROR()    dlerror()
+
+#define PATH_SEPARATOR ':'
+
+#ifdef __APPLE__
+
+#define PLUGIN_GLOB  "*.dylib"
+#define DEFAULT_VAMP_PATH "/Library/Audio/Plug-Ins/Vamp/:$HOME/Library/Audio/Plug-Ins/Vamp"
+
+#else 
+
+#define PLUGIN_GLOB  "*.so"
+#define DEFAULT_VAMP_PATH "/usr/local/lib/vamp:/usr/lib/vamp:$HOME/vamp:$HOME/.vamp"
+
+#endif /* __APPLE__ */
+
+#endif /* ! _WIN32 */
+
+enum ProcessStatus { ProcessRunning, ProcessNotRunning, UnknownProcessStatus };
+extern ProcessStatus GetProcessStatus(int pid);
+
+#include <cmath>
+
+extern double mod(double x, double y);
+extern float modf(float x, float y);
+
+extern double princarg(double a);
+extern float princargf(float a);
+
+#endif /* ! _SYSTEM_H_ */
+
+