/* This file is part of Ingen. Copyright 2007-2015 David Robillard Ingen is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. Ingen is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for details. You should have received a copy of the GNU Affero General Public License along with Ingen. If not, see . */ #include "Arc.hpp" #include "ingen/client/ArcModel.hpp" #include "ingen/client/BlockModel.hpp" #define NS_INTERNALS "http://drobilla.net/ns/ingen-internals#" namespace ingen { namespace gui { Arc::Arc(Ganv::Canvas& canvas, SPtr model, Ganv::Node* src, Ganv::Node* dst) : Ganv::Edge(canvas, src, dst) , _arc_model(model) { SPtr tparent = model->tail()->parent(); SPtr tparent_block; if ((tparent_block = dynamic_ptr_cast(tparent))) { if (tparent_block->plugin_uri() == NS_INTERNALS "BlockDelay") { g_object_set(_gobj, "dash-length", 4.0, nullptr); set_constraining(false); } } } } // namespace gui } // namespace ingen