projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into windows
[ardour.git]
/
libs
/
ardour
/
io.cc
diff --git
a/libs/ardour/io.cc
b/libs/ardour/io.cc
index c517defe1a0f8441cba69e260b279b8de4ef0126..ebd295411e9cdfaf3d5198e0c36f0a737cd86d92 100644
(file)
--- a/
libs/ardour/io.cc
+++ b/
libs/ardour/io.cc
@@
-19,6
+19,7
@@
#include <fstream>
#include <algorithm>
#include <cmath>
#include <fstream>
#include <algorithm>
#include <cmath>
+#include <vector>
#include <unistd.h>
#include <locale.h>
#include <unistd.h>
#include <locale.h>
@@
-395,7
+396,9
@@
IO::disconnect (void* src)
int
IO::ensure_ports_locked (ChanCount count, bool clear, bool& changed)
{
int
IO::ensure_ports_locked (ChanCount count, bool clear, bool& changed)
{
+#ifndef PLATFORM_WINDOWS
assert (!AudioEngine::instance()->process_lock().trylock());
assert (!AudioEngine::instance()->process_lock().trylock());
+#endif
boost::shared_ptr<Port> port;
boost::shared_ptr<Port> port;
@@
-466,7
+469,9
@@
IO::ensure_ports_locked (ChanCount count, bool clear, bool& changed)
int
IO::ensure_ports (ChanCount count, bool clear, void* src)
{
int
IO::ensure_ports (ChanCount count, bool clear, void* src)
{
+#ifndef PLATFORM_WINDOWS
assert (!AudioEngine::instance()->process_lock().trylock());
assert (!AudioEngine::instance()->process_lock().trylock());
+#endif
bool changed = false;
bool changed = false;
@@
-501,7
+506,9
@@
IO::ensure_ports (ChanCount count, bool clear, void* src)
int
IO::ensure_io (ChanCount count, bool clear, void* src)
{
int
IO::ensure_io (ChanCount count, bool clear, void* src)
{
+#ifndef PLATFORM_WINDOWS
assert (!AudioEngine::instance()->process_lock().trylock());
assert (!AudioEngine::instance()->process_lock().trylock());
+#endif
return ensure_ports (count, clear, src);
}
return ensure_ports (count, clear, src);
}
@@
-1373,20
+1380,20
@@
IO::build_legal_port_name (DataType type)
limit = name_size - AudioEngine::instance()->my_name().length() - (suffix.length() + 5);
limit = name_size - AudioEngine::instance()->my_name().length() - (suffix.length() + 5);
-
char buf1[name_size+1]
;
-
char buf2[name_size+1]
;
+
std::vector<char> buf1(name_size+1)
;
+
std::vector<char> buf2(name_size+1)
;
/* colons are illegal in port names, so fix that */
string nom = _name.val();
replace_all (nom, ":", ";");
/* colons are illegal in port names, so fix that */
string nom = _name.val();
replace_all (nom, ":", ";");
- snprintf (
buf1
, name_size+1, ("%.*s/%s"), limit, nom.c_str(), suffix.c_str());
+ snprintf (
&buf1[0]
, name_size+1, ("%.*s/%s"), limit, nom.c_str(), suffix.c_str());
- int port_number = find_port_hole (
buf1
);
- snprintf (
buf2, name_size+1, "%s %d", buf1
, port_number);
+ int port_number = find_port_hole (
&buf1[0]
);
+ snprintf (
&buf2[0], name_size+1, "%s %d", &buf1[0]
, port_number);
- return string (
buf2
);
+ return string (
&buf2[0]
);
}
int32_t
}
int32_t
@@
-1404,13
+1411,13
@@
IO::find_port_hole (const char* base)
*/
for (n = 1; n < 9999; ++n) {
*/
for (n = 1; n < 9999; ++n) {
-
char buf[jack_port_name_size()]
;
+
std::vector<char> buf (AudioEngine::instance()->port_name_size())
;
PortSet::iterator i = _ports.begin();
PortSet::iterator i = _ports.begin();
- snprintf (
buf
, jack_port_name_size(), _("%s %u"), base, n);
+ snprintf (
&buf[0]
, jack_port_name_size(), _("%s %u"), base, n);
for ( ; i != _ports.end(); ++i) {
for ( ; i != _ports.end(); ++i) {
- if (
i->name() == buf
) {
+ if (
string(i->name()) == string(&buf[0])
) {
break;
}
}
break;
}
}
@@
-1638,7
+1645,7
@@
IO::process_input (boost::shared_ptr<Processor> proc, framepos_t start_frame, fr
return;
}
return;
}
- _buffers.get_
jack
_port_addresses (_ports, nframes);
+ _buffers.get_
backend
_port_addresses (_ports, nframes);
if (proc) {
proc->run (_buffers, start_frame, end_frame, nframes, true);
}
if (proc) {
proc->run (_buffers, start_frame, end_frame, nframes, true);
}