comparison pyvamp-main.cpp @ 18:e9cf443b18f5

* Add duration support (Vamp 2.0)
author cannam
date Fri, 10 Jul 2009 15:14:24 +0000
parents 5b8167619b76
children a54850da8229
comparison
equal deleted inserted replaced
17:5b8167619b76 18:e9cf443b18f5
126 // useless on Windows 126 // useless on Windows
127 127
128 string pyver = Py_GetVersion(); 128 string pyver = Py_GetVersion();
129 int dots = 2; 129 int dots = 2;
130 string shortver; 130 string shortver;
131 for (int i = 0; i < pyver.length(); ++i) { 131 for (size_t i = 0; i < pyver.length(); ++i) {
132 if (pyver[i] == '.') { 132 if (pyver[i] == '.') {
133 if (--dots == 0) { 133 if (--dots == 0) {
134 shortver = pyver.substr(0, i); 134 shortver = pyver.substr(0, i);
135 break; 135 break;
136 } 136 }
146 pfxs.push_back("/usr/local/lib/"); 146 pfxs.push_back("/usr/local/lib/");
147 char buffer[5]; 147 char buffer[5];
148 148
149 // hahaha! grossness is like a brother to us 149 // hahaha! grossness is like a brother to us
150 #ifdef __APPLE__ 150 #ifdef __APPLE__
151 for (int pfxidx = 0; pfxidx < pfxs.size(); ++pfxidx) { 151 for (size_t pfxidx = 0; pfxidx < pfxs.size(); ++pfxidx) {
152 for (int minor = 8; minor >= 0; --minor) { 152 for (int minor = 8; minor >= 0; --minor) {
153 sprintf(buffer, "%d", minor); 153 sprintf(buffer, "%d", minor);
154 if (tryPreload(pfxs[pfxidx] + string("libpython") + shortver + ".dylib." + buffer)) return true; 154 if (tryPreload(pfxs[pfxidx] + string("libpython") + shortver + ".dylib." + buffer)) return true;
155 } 155 }
156 if (tryPreload(pfxs[pfxidx] + string("libpython") + shortver + ".dylib")) return true; 156 if (tryPreload(pfxs[pfxidx] + string("libpython") + shortver + ".dylib")) return true;
157 if (tryPreload(pfxs[pfxidx] + string("libpython.dylib"))) return true; 157 if (tryPreload(pfxs[pfxidx] + string("libpython.dylib"))) return true;
158 } 158 }
159 #else 159 #else
160 for (int pfxidx = 0; pfxidx < pfxs.size(); ++pfxidx) { 160 for (size_t pfxidx = 0; pfxidx < pfxs.size(); ++pfxidx) {
161 for (int minor = 8; minor >= 0; --minor) { 161 for (int minor = 8; minor >= 0; --minor) {
162 sprintf(buffer, "%d", minor); 162 sprintf(buffer, "%d", minor);
163 if (tryPreload(pfxs[pfxidx] + string("libpython") + shortver + ".so." + buffer)) return true; 163 if (tryPreload(pfxs[pfxidx] + string("libpython") + shortver + ".so." + buffer)) return true;
164 } 164 }
165 if (tryPreload(pfxs[pfxidx] + string("libpython") + shortver + ".so")) return true; 165 if (tryPreload(pfxs[pfxidx] + string("libpython") + shortver + ".so")) return true;