summaryrefslogtreecommitdiffstats
path: root/src/gui/PatchCanvas.cpp
AgeCommit message (Collapse)AuthorFilesLines
2011-10-21Begin moving shared headers to public include directory.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3558 a436a847-0d15-0410-975c-d299462d15a1
2011-10-21Use Builder::connectDavid Robillard1-9/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3557 a436a847-0d15-0410-975c-d299462d15a1
2011-10-01Support inline display of HTML LV2 documentation via WebKit.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3515 a436a847-0d15-0410-975c-d299462d15a1
2011-09-24Only store patch canvas coordinates in containing patch.David Robillard1-6/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3483 a436a847-0d15-0410-975c-d299462d15a1
2011-06-10Avoid resizing entirely when adding a port and new size/etc is simple to ↵David Robillard1-8/+11
compute. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3382 a436a847-0d15-0410-975c-d299462d15a1
2011-06-07Remove use of smart pointers in FlowCanvas entirely.David Robillard1-47/+35
Since FlowCanvas's containers own their children, there is no real benefit to using smart pointers for objects, though there is overhead. There are no longer any add or remove methods for containers, simply create (new) and destroy (delete) objects and things should work as expected. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3366 a436a847-0d15-0410-975c-d299462d15a1
2011-06-06Use sane typedefs for collections.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3365 a436a847-0d15-0410-975c-d299462d15a1
2011-06-04Make all Canvas data members private.David Robillard1-22/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3357 a436a847-0d15-0410-975c-d299462d15a1
2011-06-03Remove use of boost::enable_shared_from_this<Canvas>.David Robillard1-13/+4
Instead, just store a pointer to the containing canvas in Items, since it should not be possible for an Item to outlive its containing Canvas anyway. Shrinks Item memory overhead a tad and gives a minor performance boost as an added bonus. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3354 a436a847-0d15-0410-975c-d299462d15a1
2011-05-25Move sanitised serialisation headers to public include directoryDavid Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3320 a436a847-0d15-0410-975c-d299462d15a1
2011-05-24Move appropriate client headers to public include directory.David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3319 a436a847-0d15-0410-975c-d299462d15a1
2011-05-24Remove use of ingen-config.h in soon-to-be-public headers.David Robillard1-7/+0
Make Lilv dependency mandatory. Reduce dependency on ingen-config.h. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3316 a436a847-0d15-0410-975c-d299462d15a1
2011-05-21Fix Gtk warnings (avoid loading top level of UI file).David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3305 a436a847-0d15-0410-975c-d299462d15a1
2011-05-20Remove dependency on glade and glademm (migrate to GtkBuilder).David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3295 a436a847-0d15-0410-975c-d299462d15a1
2011-05-13Make models const in client code.David Robillard1-14/+17
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3259 a436a847-0d15-0410-975c-d299462d15a1
2011-05-13Make signals private with accessors, and localise dependency on sigc::signal.David Robillard1-8/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3258 a436a847-0d15-0410-975c-d299462d15a1
2011-04-29LilvValue => LilvNode.David Robillard1-8/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3234 a436a847-0d15-0410-975c-d299462d15a1
2011-04-29Don't hide pointers behind typedefs.David Robillard1-14/+17
Use const appropriately in API (makes it clear from the type whether objects should be freed or not). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3222 a436a847-0d15-0410-975c-d299462d15a1
2011-04-28Switch to Lilv from SLV2.David Robillard1-21/+21
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3220 a436a847-0d15-0410-975c-d299462d15a1
2011-04-28More future-proof collection APIs.David Robillard1-1/+1
Make all iterator actions occur through a collection specific function. Verbose, and a low of API, but allows for the possibility of different collection implementation types (given a choice between verbosity and no type safety, I'll take verbosity). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3211 a436a847-0d15-0410-975c-d299462d15a1
2011-04-20Rename Ingen::Engine to Ingen::Server (hopefully avoid odd name clases and ↵David Robillard1-1/+1
fix #675). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3184 a436a847-0d15-0410-975c-d299462d15a1
2011-04-16Update copyright headersDavid Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3153 a436a847-0d15-0410-975c-d299462d15a1
2011-04-15Move Shared::Module and Shared::World to shared directory.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3147 a436a847-0d15-0410-975c-d299462d15a1
2011-04-13Consistent local or installed includes for interface headers.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3143 a436a847-0d15-0410-975c-d299462d15a1
2011-03-17Show plugin/port documentation in side pane when selected.David Robillard1-0/+12
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3103 a436a847-0d15-0410-975c-d299462d15a1
2011-03-17Tidy.David Robillard1-63/+65
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3102 a436a847-0d15-0410-975c-d299462d15a1
2011-03-11Shhh.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3077 a436a847-0d15-0410-975c-d299462d15a1
2011-03-11Hide replaced plugins from context menu and load plugin window.David Robillard1-0/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3068 a436a847-0d15-0410-975c-d299462d15a1
2011-03-09Update for new SLV2 API.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3058 a436a847-0d15-0410-975c-d299462d15a1
2011-02-19Partially working copy/paste.David Robillard1-14/+18
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2996 a436a847-0d15-0410-975c-d299462d15a1
2011-02-19Save/load patches as nested bundles (fix ticket #520).David Robillard1-2/+4
Sane (context-based, ala RDF quads) approach to the problem of externally visible / internally visible properties. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2993 a436a847-0d15-0410-975c-d299462d15a1
2011-02-18Trim more cruft.David Robillard1-2/+1
Correctly receive data about plugins with hashes in their URIs. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2988 a436a847-0d15-0410-975c-d299462d15a1
2011-02-16Drop redlandmm for sordmm.David Robillard1-4/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2959 a436a847-0d15-0410-975c-d299462d15a1
2010-12-14Apply patch from larsl to tolerate broken LV2 class hierarchies (ticket #529).David Robillard1-4/+14
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2682 a436a847-0d15-0410-975c-d299462d15a1
2010-09-04My name is David. :)David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2590 a436a847-0d15-0410-975c-d299462d15a1
2010-03-06Save Ingen patches as working standard LV2 plugin bundles.David Robillard1-3/+4
This allows you to create an Ingen patch in Ingen running as a Jack client, save it, then load that patch as an LV2 plugin in any LV2 compliant host. Eliminate (hopefully) all static data in the engine (for multiple instantiations in a single process). More API/ABI stable interface for Ingen::Shared::World. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2533 a436a847-0d15-0410-975c-d299462d15a1
2010-03-04Scroll to origin on Home key press.David Robillard1-0/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2523 a436a847-0d15-0410-975c-d299462d15a1
2010-03-04Cascade when several objects are added via keyboard in sequence.David Robillard1-9/+15
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2522 a436a847-0d15-0410-975c-d299462d15a1
2010-03-04Pop up patch context menu on space or menu key press (i.e. ability to add ↵David Robillard1-3/+29
stuff without mouse). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2520 a436a847-0d15-0410-975c-d299462d15a1
2010-03-04Fix non-canvas key bindings (alt-f for file and such).David Robillard1-2/+2
Fix FlowCanvas::Canvas::canvas_event falsely returning 'true' (handled event) for all keypresses (not just recognized ones). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2519 a436a847-0d15-0410-975c-d299462d15a1
2010-03-04Fix FlowCanvas key bindings (arrow scrolling and select-connect with enter).David Robillard1-26/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2517 a436a847-0d15-0410-975c-d299462d15a1
2010-02-26Add center parameter to FlowCanvas::Canvas::arrange with default value trueDavid Robillard1-2/+2
(eqivalent default behaviour to API pre-r2496). Add FlowCanvas::Canvas::move_contents_to to allow apps to move canvas contents to a given location (e.g. the origin or the center), keeping their relative distances the same. This commit preserves centering by default with the option to arrange in the top left, but applications shouldn't assume anything about the origin of coordinates (i.e. applications should manually scroll to where items exist when loading a set of items with coordinates, not simply assume they are centered about a particular location). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2500 a436a847-0d15-0410-975c-d299462d15a1
2010-02-25Work on contexts and polymorphic ports.David Robillard1-6/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2492 a436a847-0d15-0410-975c-d299462d15a1
2010-02-25Store patch connections in a map using a lexicographic <Port*,Port*> key forDavid Robillard1-2/+2
fast (logarathmic) connection searching. Replaces all O(num_connections) searches with O(lg(num_connections)) searches. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2491 a436a847-0d15-0410-975c-d299462d15a1
2010-02-20Heavy overhaul of buffer management and polyphony.David Robillard1-1/+1
* Working polyphony when nodes are instantiated at desired polyphony level (dynamic still doesn't work) * Use shared silent buffer for disconnected audio inputs (save memory) * Eliminate redundant patch compiling on delete and disconnect-all events that have child events * Fix a ton of crash bugs and other issues I've since forgotten git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2468 a436a847-0d15-0410-975c-d299462d15a1
2010-02-14Merge LoadPatchWindow and LoadSubpatchWindow.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2454 a436a847-0d15-0410-975c-d299462d15a1
2010-02-04Use std::string::empty where possible (faster, and less prone to C string ↵David Robillard1-2/+2
errors). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2420 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Comprehensive use of cached URIs and more advanced Value (Atom) system.David Robillard1-10/+10
Atoms (e.g. property values or port values) can now be an Atom::DICT, which maps directly to/from an RDF resource. This is now used to store control bindings as a port property, eliminating the special API. Full interned URIs used everywhere, instead of CURIEs pretending to be URIs. Avoid converting string literals to URIs all over the place. Support for binding MIDI pitch bender and MIDI channel pressure. Saving/restoring of MIDI bindings as a free side-effect of the above. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2409 a436a847-0d15-0410-975c-d299462d15a1
2010-02-02Use Glib string interning (quarks) to make Path/URI operator== very fast.David Robillard1-18/+25
This avoids a ton of string comparison overhead in Ingen when setting various properties (e.g. "ingen:value" was compared several times every time a port value was changed, now this is just a single pointer comparison and the full round trip of a value change does no string comparison at all, but is still property based and RDFey). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2408 a436a847-0d15-0410-975c-d299462d15a1
2010-01-29Improved/quicker/easier handling of control port ranges.David Robillard1-4/+4
* Add "Set minimum to current value", "Set maximum to current value", and "Reset range" to control port context menu. * Only serialise properties (e.g. lv2:minimum) if they differ from the meta object's (prototype's, e.g. plugin) value. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2395 a436a847-0d15-0410-975c-d299462d15a1