summaryrefslogtreecommitdiffstats
path: root/src/gui/Port.cpp
AgeCommit message (Collapse)AuthorFilesLines
2012-03-12Centralise atom creation in forge object.David Robillard1-2/+2
Aside from being more greppable and making realtime violations more obvious, this is a step towards using LV2 atoms internally (which needs a factory since the type numbers are dynamic). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4054 a436a847-0d15-0410-975c-d299462d15a1
2012-03-12Make port controls actually do something.David Robillard1-34/+34
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4051 a436a847-0d15-0410-975c-d299462d15a1
2011-12-08Clean up port event stuff.David Robillard1-7/+29
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3836 a436a847-0d15-0410-975c-d299462d15a1
2011-12-06FlowCanvas's successor is hereby dubbed Ganv.David Robillard1-8/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3820 a436a847-0d15-0410-975c-d299462d15a1
2011-12-03Don't expose canvas data structures.David Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3775 a436a847-0d15-0410-975c-d299462d15a1
2011-12-01Fix compilation.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3728 a436a847-0d15-0410-975c-d299462d15a1
2011-12-01Remove menu stuff from FlowCanvas.David Robillard1-0/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3717 a436a847-0d15-0410-975c-d299462d15a1
2011-11-28Independent control of corner radiuses.David Robillard1-1/+3
Fancy port stylez. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3665 a436a847-0d15-0410-975c-d299462d15a1
2011-11-28Implement port boxes as a custom gnomecanvas C widget.David Robillard1-5/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3663 a436a847-0d15-0410-975c-d299462d15a1
2011-11-09Update for changes in LV2 SVN.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3608 a436a847-0d15-0410-975c-d299462d15a1
2011-10-22De-singleton-ify GUI.David Robillard1-25/+26
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3584 a436a847-0d15-0410-975c-d299462d15a1
2011-10-21Move more headers to shared include directory.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3566 a436a847-0d15-0410-975c-d299462d15a1
2011-10-21Separate URIs from LV2URIMap.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3564 a436a847-0d15-0410-975c-d299462d15a1
2011-10-03Remove static PortType enumeration from public/client side interface.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3523 a436a847-0d15-0410-975c-d299462d15a1
2011-10-01Support inline display of HTML LV2 documentation via WebKit.David Robillard1-3/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3515 a436a847-0d15-0410-975c-d299462d15a1
2011-09-24Fix crash when plugin model is not available.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3487 a436a847-0d15-0410-975c-d299462d15a1
2011-09-23Animate audio port colours based on levels.David Robillard1-3/+56
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3475 a436a847-0d15-0410-975c-d299462d15a1
2011-09-14Support lv2:sampleRate controls (mostly) correctly.David Robillard1-7/+15
Fix initial control port values (was always 0.0). Fix numeric values in control window. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3460 a436a847-0d15-0410-975c-d299462d15a1
2011-08-20Fix port and node menusDavid Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3439 a436a847-0d15-0410-975c-d299462d15a1
2011-07-04Simplify FlowCanvas menu API, and fix crashing Ingen menus (ticket #721).David Robillard1-7/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3411 a436a847-0d15-0410-975c-d299462d15a1
2011-06-10Avoid resizing entirely when adding a port and new size/etc is simple to ↵David Robillard1-2/+2
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-9/+8
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 a care pointer reference to containing module rather than boost::weak_ptr.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3364 a436a847-0d15-0410-975c-d299462d15a1
2011-06-03Avoid the awful Gnome::Canvas::Text entirely, saving a ton of memory.David Robillard1-2/+2
Instead, render the text to a Gnome::Canvas::Pixbuf, and simply render that, which consumes far less memory. Also, trim memory overhead per Node/Port/Connection considerably (mostly by using canvas object properties rather than redundant fields in classes, which are now removed). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3350 a436a847-0d15-0410-975c-d299462d15a1
2011-05-24Move appropriate client headers to public include directory.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3319 a436a847-0d15-0410-975c-d299462d15a1
2011-05-21Fix Gtk warnings (avoid loading top level of UI file).David Robillard1-2/+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-19/+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-4/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3258 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-16Squeeze blank lines and delete trailing whitespace.David Robillard1-13/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3152 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/+24
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3103 a436a847-0d15-0410-975c-d299462d15a1
2010-10-17Support current versions of LV2 atom, atom-port, and context extensions.David Robillard1-2/+0
Working use case in this revision: lolep.parse => lolep.print (set parse input to some string, it will be parsed, send to print as an LV2 atom, then printed to the console by print). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2631 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/+2
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-02-25Work on contexts and polymorphic ports.David Robillard1-18/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2492 a436a847-0d15-0410-975c-d299462d15a1
2010-02-04Change patch port label when human name changes (e.g. update label when ↵David Robillard1-1/+6
changed in the rename dialog). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2424 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Bind ports with lv2:portProperty lv2:toggled specially (on iff value >= half).David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2410 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Comprehensive use of cached URIs and more advanced Value (Atom) system.David Robillard1-5/+5
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-10/+40
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-02-02Remove set_port_value from CommonInterface (replaced with set_property(path, ↵David Robillard1-2/+2
"ingen:value", value)). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2404 a436a847-0d15-0410-975c-d299462d15a1
2010-01-29Magic MIDI binding via special ingen_control port.David Robillard1-2/+4
Always set lv2:minimum and lv2:maximum properties for control ports so they show up in properties dialog (and can be used for MIDI binding). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2391 a436a847-0d15-0410-975c-d299462d15a1
2010-01-28Universal properties window.David Robillard1-1/+0
Instead of custom designed limited dialogs for each object type, this replacement is built dynamically and shows all properties of an object. Preliminary work, this version allows the user to wreck things by changing properties that shouldn't ever be changed manually. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2385 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Do all logging output via Raul streams.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2009-12-31Various fixes related to port values and metadata (fix ticket #459 among ↵David Robillard1-14/+57
other things). Fix jitterey behaviour of port controls (on module) while dragging. Update value in status bar while dragging port slider (on module). Update plugin data (e.g. port control range) if the plugin is sent to the client after nodes that are instances of it (i.e. more robust plugin state tracking via merging like with objects). Correctly save and restore port values (ticket #459). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2327 a436a847-0d15-0410-975c-d299462d15a1
2009-11-22Partial support for message/value ports and the message context.David Robillard1-0/+33
This use case now works: - Add an event input and the "print" plugin from imum.lv2 to ingen - Connect the event input to the input of "print" - Hook Ingen up to JACK and play some MIDI events (or get events to the print plugin from anywhere else) - The "print" plugin will print the received events to the console in the message context (i.e. the audio thread is realtime safe) git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2281 a436a847-0d15-0410-975c-d299462d15a1
2009-11-18Rename DataType to PortType (since that's what it really means).David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2273 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