Creating of multiple patch input/output ports
git-svn-id: http://svn.drobilla.net/lad@80 a436a847-0d15-0410-975c-d299462d15a1
This commit is contained in:
parent
eef1492730
commit
10c7c54e92
|
@ -45,8 +45,7 @@ AddPortEvent::AddPortEvent(CountedPtr<Responder> responder, const string& path,
|
|||
_data_type(DataType::UNKNOWN),
|
||||
_patch(NULL),
|
||||
_patch_port(NULL),
|
||||
_driver_port(NULL),
|
||||
_succeeded(true)
|
||||
_driver_port(NULL)
|
||||
{
|
||||
string type_str;
|
||||
if (type == "CONTROL" || type == "AUDIO")
|
||||
|
@ -118,8 +117,8 @@ AddPortEvent::execute(samplecount offset)
|
|||
void
|
||||
AddPortEvent::post_process()
|
||||
{
|
||||
if (!_succeeded) {
|
||||
const string msg = string("Could not create port - ").append(_path);// + " already exists.";
|
||||
if (!_patch_port) {
|
||||
const string msg = string("Could not create port - ").append(_path);
|
||||
m_responder->respond_error(msg);
|
||||
} else {
|
||||
m_responder->respond_ok();
|
||||
|
|
|
@ -172,10 +172,27 @@ OmFlowCanvas::destroy_selected()
|
|||
}
|
||||
|
||||
|
||||
string
|
||||
OmFlowCanvas::generate_port_name(const string& base) {
|
||||
string name = base;
|
||||
|
||||
char num_buf[5];
|
||||
for (uint i=1; i < 9999; ++i) {
|
||||
snprintf(num_buf, 5, "%d", i);
|
||||
name = base + "_";
|
||||
name += num_buf;
|
||||
if (!m_patch_controller->patch_model()->get_port(name))
|
||||
break;
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
OmFlowCanvas::menu_add_port(const string& name, const string& type, bool is_output)
|
||||
{
|
||||
const Path& path = m_patch_controller->path().base_path() + name;
|
||||
const Path& path = m_patch_controller->path().base_path() + generate_port_name(name);
|
||||
Controller::instance().create_port(path, type, is_output);
|
||||
|
||||
char temp_buf[16];
|
||||
|
@ -184,6 +201,8 @@ OmFlowCanvas::menu_add_port(const string& name, const string& type, bool is_outp
|
|||
snprintf(temp_buf, 16, "%d", m_last_click_y);
|
||||
Controller::instance().set_metadata(path, "module-y", temp_buf);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
void
|
||||
OmFlowCanvas::menu_add_audio_input()
|
||||
|
|
|
@ -53,6 +53,7 @@ public:
|
|||
{ m_menu->popup(event->button.button, event->button.time); }
|
||||
|
||||
private:
|
||||
string generate_port_name(const string& base);
|
||||
void menu_add_port(const string& name, const string& type, bool is_output);
|
||||
/*void menu_add_audio_input();
|
||||
void menu_add_audio_output();
|
||||
|
|
|
@ -3022,14 +3022,14 @@
|
|||
|
||||
<widget class="GtkAboutDialog" id="about_win">
|
||||
<property name="destroy_with_parent">True</property>
|
||||
<property name="name" translatable="yes">OmGtk</property>
|
||||
<property name="name" translatable="yes">Ingenuity</property>
|
||||
<property name="copyright" translatable="yes">Copyright (C) 2005-2006 Dave Robillard</property>
|
||||
<property name="comments" translatable="yes">A client for the Om modular synthesizer</property>
|
||||
<property name="comments" translatable="yes">A graphical client for the Ingen audio processor</property>
|
||||
<property name="license" translatable="yes">Licensed under the GNU GPL, Version 2.
|
||||
|
||||
See COPYING file included with Om, or http://www.gnu.org/licenses/gpl.txt for more information</property>
|
||||
<property name="wrap_license">False</property>
|
||||
<property name="website">http://om-synth.nongnu.org</property>
|
||||
See COPYING file included with this distribution, or http://www.gnu.org/licenses/gpl.txt for more information</property>
|
||||
<property name="wrap_license">True</property>
|
||||
<property name="website">http://codeson.net/software/ingen</property>
|
||||
<property name="website_label" translatable="yes"></property>
|
||||
<property name="authors">Author:
|
||||
Dave Robillard <drobilla@connect.carelton.ca>
|
||||
|
|
Loading…
Reference in New Issue