summaryrefslogtreecommitdiffstats
path: root/src/gui/PatchCanvas.cpp
AgeCommit message (Collapse)AuthorFilesLines
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
2010-01-28Use ingen-ui for prefix instead of ingenuity.David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2388 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Do all logging output via Raul streams.David Robillard1-18/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2009-12-19New ingen module (library, not e.g. LV2 plugin) design.David Robillard1-1/+1
Much cleaner interface and general usage of Ingen as a library. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2314 a436a847-0d15-0410-975c-d299462d15a1
2009-12-03Clean up interface headers.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2290 a436a847-0d15-0410-975c-d299462d15a1
2009-11-16Add edit checkbutton to canvas menu for fast mouse based control.David Robillard1-9/+22
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2271 a436a847-0d15-0410-975c-d299462d15a1
2009-11-14Object extension.David Robillard1-1/+1
Port resize extension. Sensible extension(s) implementation design for Ingen. Replace string port extension support in Ingen with Object port extension. Implement port resize extension in Ingen. Some test plugins for this stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2260 a436a847-0d15-0410-975c-d299462d15a1
2009-06-03Hide empty classes in plugin context menu (ticket #295).David Robillard1-9/+17
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2084 a436a847-0d15-0410-975c-d299462d15a1
2009-06-03Organize ingen_module like other modules.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2080 a436a847-0d15-0410-975c-d299462d15a1
2009-06-02Fix crash on copy/paste.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2063 a436a847-0d15-0410-975c-d299462d15a1
2009-05-29Make connection parsing consistent with other parse methods.David Robillard1-1/+1
Connection updates via HTTP. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2046 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Speed/clean up plugin menu generation a bit.David Robillard1-24/+24
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2032 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Generic plugin property mechanism.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2031 a436a847-0d15-0410-975c-d299462d15a1
2009-05-27Remove 'property' vs 'variable' dichotomy in favour of 'meta objects' (to ↵David Robillard1-28/+8
match serialisation). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2016 a436a847-0d15-0410-975c-d299462d15a1
2009-05-27Rename 'destroy' 'delete' ('del' in code) (WebDAV DELETE).David Robillard1-2/+2
Rename 'rename' 'move' (WebDAV MOVE). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2012 a436a847-0d15-0410-975c-d299462d15a1
2009-05-27Remove 'new_patch', 'new_node', and 'new_port' from interface in favour of ↵David Robillard1-38/+20
generic 'put'. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2011 a436a847-0d15-0410-975c-d299462d15a1
2009-05-14Fix crash on wacky plugins of some unknown variety... ticket #367.David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2006 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Update copyright dates.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2000 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Strip trailing whitespace.David Robillard1-43/+43
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1999 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Remove 'using' declarations from headers.David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1993 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13The great ID refactoring of 2009.David Robillard1-7/+7
Path is now actually URI (scheme path: for now). Therefore ingen nodes and such live in the same namespace as ... well, everything. Including plugins. Thar be profit, laddies. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1992 a436a847-0d15-0410-975c-d299462d15a1
2009-05-11Remove unused flag.David Robillard1-3/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1979 a436a847-0d15-0410-975c-d299462d15a1
2009-05-11O(nlogn) plugin menu generation (previously O(n^2)) where n = number of ↵David Robillard1-29/+37
plugin classes. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1978 a436a847-0d15-0410-975c-d299462d15a1
2009-05-11* New ontology.David Robillard1-31/+43
* Display human names on patch ports on creation, if enabled. * Fix copy/paste of subpatches. * Split properties into "properties" (class properties) and "variables" (instance properties). * Names are kind of a legacy leftover... * Remove special set poly / enable / etc events in favour of just setting properties (less API, extensible, RDF compatible). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1973 a436a847-0d15-0410-975c-d299462d15a1
2009-05-03Update waf configuration header for new waf scheme (in 1.5.6).David Robillard1-1/+1
Split low-level LV2 event buffer into separate class from EventBuffer (for reuse). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1958 a436a847-0d15-0410-975c-d299462d15a1
2008-12-21Change configuration header name to something less likely to conflict.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1887 a436a847-0d15-0410-975c-d299462d15a1
2008-12-20Fix deregistration of Jack ports, associated memory leaks. Hopefully a fix ↵David Robillard1-1/+1
for #294 and #305). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1877 a436a847-0d15-0410-975c-d299462d15a1
2008-12-02Rewrite pretty much everything to do with paths in Serialiser to actually ↵David Robillard1-11/+35
make an ounce of sense. Fix various things with nested patches (fix tickets #286 #289). Cascade successive pastes nicely. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1840 a436a847-0d15-0410-975c-d299462d15a1
2008-11-27Fix menu mnemonics.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1792 a436a847-0d15-0410-975c-d299462d15a1
2008-11-22Vertical or Horizontal (i.e. hide port labels or show port labels) canvas ↵David Robillard1-4/+4
ordering option. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1770 a436a847-0d15-0410-975c-d299462d15a1
2008-11-22Add option to hide port labels.David Robillard1-0/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1767 a436a847-0d15-0410-975c-d299462d15a1
2008-11-22Finer grained locking on RDF world lock when parsing: prevents deadlock on ↵David Robillard1-3/+9
loading massive patches that fill the event queue. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1765 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16Hide subpatch module ports on destruction (fix ticket #254).David Robillard1-1/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1730 a436a847-0d15-0410-975c-d299462d15a1
2008-11-10Turn off OSC debug dumping in engine.David Robillard1-1/+1
Shuffle new_port parameters to make more sense for no particular reason. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1715 a436a847-0d15-0410-975c-d299462d15a1
2008-10-18Build against local library versions no matter what.... hopefully....David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1677 a436a847-0d15-0410-975c-d299462d15a1
2008-10-12Remove meaningless/non-LV2/kludgey 'event' 'midi' and 'osc' distinction.David Robillard1-16/+0
Expose event ports to jack midi, again. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1665 a436a847-0d15-0410-975c-d299462d15a1
2008-10-12Eliminate redundant ingen ontology parts, and save ingen Patchage in an LV2 ↵David Robillard1-6/+6
compatible format. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1651 a436a847-0d15-0410-975c-d299462d15a1
2008-10-09Don't add copies of every plugin each time menu is shown (testing FTW) (fix ↵David Robillard1-1/+1
ticket #227). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1630 a436a847-0d15-0410-975c-d299462d15a1
2008-10-07Add support for plugin class multiple inheritance (multiple menu entires for ↵David Robillard1-13/+18
a single plugin class). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1629 a436a847-0d15-0410-975c-d299462d15a1
2008-10-07Separate building skeleton plugin menu from adding plugins, and add plugins ↵David Robillard1-48/+76
on the fly (fix invisible plugin menu on startup problem). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1628 a436a847-0d15-0410-975c-d299462d15a1
2008-10-03Support building locally against header-only libraries in autowaf.David Robillard1-1/+1
Remove CONFIG_H_PATH define and replace with just "config.h" (define messed up dependency tracking). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1600 a436a847-0d15-0410-975c-d299462d15a1
2008-09-30Flatten ingen source directory heirarchy a bit.David Robillard1-0/+773
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1551 a436a847-0d15-0410-975c-d299462d15a1