summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.cc
AgeCommit message (Collapse)Author
2009-06-09the big Route structure refactor. !!!! THIS WILL ***NOT LOAD*** PRIOR 3.0 ↵Paul Davis
or 2.X SESSIONS !!!! BREAKAGE IS EXPECTED !!!! IF YOU HAVE AND NEED A WORKING 3.0 DO **NOT** UPDATE. !!!! otherwise, update and enjoy the steadily emerging joys of this major reworking of ardour internals git-svn-id: svn://localhost/ardour2/branches/3.0@5137 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-31Fix uninitialised variable.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5114 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-1775% (?) of the way towards making mixer strips control bus sends. lots more ↵Paul Davis
to do git-svn-id: svn://localhost/ardour2/branches/3.0@5090 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-04Reconfigure GUI meters when route I/O configuration changes.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@5037 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25*** NEW CODING POLICY ***David Robillard
All #include statements that include a header that is a part of a library bundled with ardour MUST use quotes, not angle brackets. Do this: #include "ardour/types.h" NOT this: #include <ardour/types.h> Rationale: This is best practice in general, to ensure we include the local version and not the system version. That quotes mean "local" (in some sense) and angle brackets mean "system" (in some sense) is a ubiquitous convention and IIRC right in the C spec somewhere. More pragmatically, this is required by (my) waf (stuff) for dependencies to work correctly. That is: !!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!! Failure to comply is punishable by death by torture. :) P.S. It's not that dramatic in all cases, but this (in combination with some GCC flags specific to the include type) is the best way I have found to be absolutely 100% positive the local ones are being used (and we definitely want to be absolutely 100% positive on that one). git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18Fix 'sticky' sliders when MIDI control feedback is enabled.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4628 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15Shutup.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4574 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30Trim include dependency graph, especially for io.h and session.h.David Robillard
Clean up some stuff and other such gruntwork in the process. git-svn-id: svn://localhost/ardour2/branches/3.0@4468 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30first pass at internal sends. this is a very tentative work in progress, and ↵Paul Davis
it is possible that major changes may follow in the near future. it is certainly not complete, but the fundamental changes to Port/Buffer operation merit a commit at this point git-svn-id: svn://localhost/ardour2/branches/3.0@4464 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12most of the 2.X->3.0 commit (up to rev 4299) except for ↵Paul Davis
gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-08partial patch/partial by-hand merge of 2.X commits 3169&3170 to 3.X codebasePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@4300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-29Can't call the wrong function when there's only one of them: remove ↵David Robillard
ARDOUR::Parameter and just use Evoral::Parameter (move Ardour specific functionality to EventTypeMap where it belongs). Less than pretty in places but easily seddable just in case... git-svn-id: svn://localhost/ardour2/branches/3.0@3838 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19Factor out sequencing related things into an independant new library: "evoral".David Robillard
Anything related to the storage of events/values over a range of time lives in evoral. This includes MidiModel (Evoral::Sequence) and automation data (AutomationList (Evoral::ControlList), Automatable (Evoral::ControlSet), etc). libs/evoral synced with http://svn.drobilla.net/lad/trunk/evoral r1511. git-svn-id: svn://localhost/ardour2/branches/3.0@3754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10merge from 2.0-ongoing @ 3581Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-11merge 3.0 from 2.0-ongoing@3243Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-17merge with 2.0-ongoing @ rev 3147Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3152 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-10Merge with 2.0-ongoing R2883.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2885 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-10Merge libs/ardour and gtk2_ardour with 2.0-ongoing R2837.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-12-20Port level meters to trunkDoug McLain
git-svn-id: svn://localhost/ardour2/trunk@2802 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-05dont fill the initial gm rec, since it gets overdrawn by the metrics pixmap ↵Doug McLain
anyway git-svn-id: svn://localhost/ardour2/trunk@2421 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-07finish show() stuff for mixer strip and friendsDoug McLain
git-svn-id: svn://localhost/ardour2/trunk@2126 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-07more show() stuff, and replaced strip->show_all(); untill its actually finishedDoug McLain
git-svn-id: svn://localhost/ardour2/trunk@2124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-03s/ParamID/Parameter/David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-29Further automation refactoring - bring in the concept of Controllable, work ↵David Robillard
towards making automation + GUI + play/write/touch generic and easily reusable. Added bar controller to automation track controls (mostly relevant for MIDI CC, but added for gain and pan too Just Because). Fixed glaring "redirect" list errors. Fix plugin controls/automation loading. git-svn-id: svn://localhost/ardour2/trunk@2080 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27Big ol' automation refactor.David Robillard
Things with automation parameters now inherit from Automatable, which handles serialization, fetching/adding/removing parameters, etc. Use AutomationList everywhere instead of Curve, make Curve a member of AutomationList instead (towards other types of "Curve" needed for CC, among other things). Work towards MIDI CC sending "automation" tracks. git-svn-id: svn://localhost/ardour2/trunk@2069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27Move ARDOUR_UI::ThemeChanged signal into Gtkmm2ext::UITim Mayberry
This means ThemeManager no longer depends on ARDOUR_UI git-svn-id: svn://localhost/ardour2/trunk@2057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-20Made plugin input/output counts multi-typed (towards MIDI plugins, ↵David Robillard
instruments, etc). Cleaning up/genericification of Insert interface. Fixed meter count for pre-fader metering (was # inputs, not # channels at end of pre-fader redirect list). Work on redirect list stream handling, better error reporting (towards automatically adding 'adaptors' in the future?). git-svn-id: svn://localhost/ardour2/trunk@2025 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-04MIDI metering.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@1950 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-04Show selected MIDI track in editor mixer.David Robillard
Minor code cleanups. git-svn-id: svn://localhost/ardour2/trunk@1949 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-26add missing png files for 2 new crossfade presets per r1889Doug McLain
git-svn-id: svn://localhost/ardour2/trunk@1922 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-26Better method for redrawing gain meter pixmaps upon theme changeDoug McLain
git-svn-id: svn://localhost/ardour2/trunk@1921 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-25New theme manager, with option to select between dark and light theme. ↵Doug McLain
Cleanups to ardours handling of the ui rc file during startup, and changed the monitoring options to be global instead of session specific. More details about the theme stuff comign to ardour-dev git-svn-id: svn://localhost/ardour2/trunk@1917 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-10Added nicer looking wrapper methods for ChanCount::get(DataType), sedified ↵David Robillard
code to use it. git-svn-id: svn://localhost/ardour2/trunk@1816 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-02make session restore work by using explicit data types when creating new ↵Paul Davis
playlists ... poses question - how did this ever compile before? git-svn-id: svn://localhost/ardour2/branches/midi@1774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-01initial fixes to get build to work without new JACK MIDI, and to get it ↵Paul Davis
running with an older session, at least somewhat git-svn-id: svn://localhost/ardour2/branches/midi@1773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-12Merged with trunk R1705.David Robillard
Synced .po files with trunk. Fixed more editor operations to be type agnostic (ie not audio only). git-svn-id: svn://localhost/ardour2/branches/midi@1709 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-03-18Merged with trunk R1612.David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@1614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-28Merged with trunk R1393.David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@1395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-09Merged with trunk R1283.David Robillard
NOTE: Compiles, but broken (crash on adding MIDI track). git-svn-id: svn://localhost/ardour2/branches/midi@1292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-21Merged with trunk R992.David Robillard
Completely untested other than it compiles, runs, and records somewhat (need to merge again). git-svn-id: svn://localhost/ardour2/branches/midi@999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-31Merged with trunk R874.David Robillard
Commented out some overly verbose debug prints git-svn-id: svn://localhost/ardour2/branches/midi@875 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12Towards MIDI:David Robillard
- Converted vector<Sample*> to BufferList and numerous counts from int to ChanCount (and related changes) - Added fancy type-generic iterators to BufferList, PortIterator (see IO::collect_input for a good example of the idea - the same code will work to read all input (of various types in a single IO, eg instruments) without modification no matter how many types we add) - Fixed comparison operator bugs with ChanCount (screwed up metering among other things) - Moved peak metering into it's own object, and moved most of the pan related code out of IO to panner (still a touch more to be done here for MIDI playback) Not directly MIDI related fixes for problems in trunk: - Fixed varispeed gain/pan automation to work properly (was reading the wrong range of automation data, probably causing nasty clicks?) - Fixed crash on varispeed looping (possibly only a 64-bit problem). It still doesn't work, but at least it doesn't die Quite a few things broken, and the new classes are pretty filthy still, but I think the direction is a lot better than all my previous plans... git-svn-id: svn://localhost/ardour2/branches/midi@795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-11- Replaced integer port counts (and input/output maximum/minimum) with ↵David Robillard
ChanCount, which can count multiple types and does the reasonable thing for all comparison operators - Removed the fader/meters from MIDI mixer strips, at least until they do something - Made the Add Route dialog refuse to create MIDI busses, Spifftacular warning dialog and all Changes a bit more widespread than I was hoping, but worked out really well - lots of code will continue to work fine even when multi-typed (eg instrument) IOs come around, just ignoring the types it doesn't care about. Most all changes related to counts are little search/replace deals, logic doesn't need to change. Hopefully SVN can handle (automatic) merging with the other SoC projects if the buffer change goes as well. Next step: do for buffers what the last two commits did for ports. git-svn-id: svn://localhost/ardour2/branches/midi@787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-28Merged with trunk R708David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-14Merge big changes (mostly Controllable) from trunkDavid Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@682 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-26Large nasty commit in the form of a 5000 line patch chock-full of completelyDavid Robillard
unecessary changes. (Sorry, doing a "sprint" based thing, this is the end of the first one) Achieved MIDI track and bus creation, associated Jack port and diskstream creation, and minimal GUI stuff for creating them. Should be set to start work on actually recording and playing midi to/from disk now. Relevant (significant) changes: - Creation of a Buffer class. Base class is type agnostic so things can point to a buffer but not care what kind it is (otherwise it'd be a template). Derived into AudioBuffer and MidiBuffer, with a type tag because checking type is necessary in parts of the code where dynamic_cast wouldn't be wise. Originally I considered this a hack, but passing around a type proved to be a very good solution to all the other problems (below). There is a 1:1 mapping between jack port data types and ardour Buffer types (with a conversion function), but that's easily removed if it ever becomes necessary. Having the type scoped in the Buffer class is maybe not the best spot for it, but whatever (this is proof of concept kinda stuff right now...) - IO now has a "default" port type (passed to the constructor and stored as a member), used by ensure_io (and similar) to create n ports. IO::register_***_port has a type argument that defaults to the default type if not passed. Rationale: previous IO API is identical, no changes needed to existing code, but path is paved for multiple port types in one IO, which we will need for eg synth plugin inserts, among other things. This is not quite ideal (best would be to only have the two port register functions and have them take a type), but the alternative is a lot of work (namely destroying the 'ensure' functions and everything that uses them) for very little gain. (I am convinced after quite a few tries at the whiteboard that subclassing IO in any way is not a feasible option, look at it's inheritance diagram in Doxygen and you can see why) - AudioEngine::register_audio_input_port is now register_input_port and takes a type argument. Ditto for output. - (Most significant change) AudioDiskstream abstracted into Distream, and sibling MidiDiskstream created. Very much still a work in progress, but Diskstream is there to switch references over to (most already are), which is the important part. It is still unclear what the MIDI diskstream's relation to channels is, but I'm pretty sure they will be single channel only (so SMF Type 0) since noone can come up with a reason otherwise. - MidiTrack creation. Same thing as AudioTrack but with a different default type basically. No big deal here. - Random cleanups and variable renamings etc. because I have OCD and can't help myself. :) Known broken: Loading of sessions containing MIDI tracks. git-svn-id: svn://localhost/ardour2/branches/midi@641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-15Merged with trunk revision 610David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@611 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-05-24Fixed some valgrind errors from using uninitialized variables in Sampo Savolainen
conditionals. git-svn-id: svn://localhost/trunk/ardour2@532 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-05-22Mixer pane can be collapsed again, some cleanup, give up and go back to ↵Nick Mainsbridge
'Off' for no automation playback state. git-svn-id: svn://localhost/trunk/ardour2@521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-05-21This should fix the options editor crasher i just made.. thanks NostarNick Mainsbridge
git-svn-id: svn://localhost/trunk/ardour2@520 d708f5d6-7413-0410-9779-e7cbd77b26cf