summaryrefslogtreecommitdiff
path: root/libs/pbd/stateful.cc
AgeCommit message (Collapse)Author
2019-08-03Update core library GPL boilerplate and (C) from git logRobin Gareus
2017-04-19Use XMLNode::get/set_property API in PBD::StatefulTim Mayberry
2017-03-27Revert "profile instant.xml save"Robin Gareus
This reverts commit e965e5edcdd9fdc8a4c68b4d50656cd4e0c53f18.
2017-03-25profile instant.xml saveRobin Gareus
This does clutter up stderr, but only because instant.xml is arguably saved much too often (and it's not really instant :)
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2015-12-17add API to query stateful ID override modeRobin Gareus
2015-11-17use thread private data **pointer** correctly for Stateful::ID regenerationPaul Davis
2015-11-16fix inadvertently commit error related to at-process-exit deletion for ↵Paul Davis
thread private variable
2015-11-16correct value testing for Stateful thread-private variable controlling ID ↵Paul Davis
regeneration
2015-11-12provide a mechanism to force ID regeneration/reset in PBD::Stateful when ↵Paul Davis
settingthe ID object from XML or string sources
2015-11-10Use XMLNode::remove_child_and_delete in Stateful::add_extra_xmlTim Mayberry
As the node being replaced has been added with XMLNode::add_child_nocopy the node also needs to be deleted or a memory leak occurs.
2015-11-10Use constructor initialization list in Stateful classTim Mayberry
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2013-07-16Windows (compiler specific) includes for libpbdJohn Emmas
2012-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23Replace PBD::sys::path use in PBD::StatefulTim Mayberry
git-svn-id: svn://localhost/ardour2/branches/3.0@12843 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-17Clear up confusion with overloads of _frozen and frozen()Carl Hetherington
meaning different things. git-svn-id: svn://localhost/ardour2/branches/3.0@11016 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18make Stateful::_id private and provide appropriate methods to set it, and ↵Paul Davis
use them throughout ardour git-svn-id: svn://localhost/ardour2/branches/3.0@10222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-11major, substantive reworking of how we store GUI information (visibility, ↵Paul Davis
height) for automation data. old design stored (insufficient) identifying information plus actual data in a GUI-only XML node; new scheme adds GUI data via extra_xml node to each AutomationControl object. reworked public/private methods for showing/hiding TimeAxisView objects; changed labelling of automation tracks to just show the name of the controlled parameter - more info can be viewed in the tooltip for the track headers. NOTE: Session file format ALTERED. No data loss but track visibility may be different than previous ardour3 versions git-svn-id: svn://localhost/ardour2/branches/3.0@9703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-23Assorted doxygen fixes; no functional changes.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@9575 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-21Fix more broken whitespace.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@8318 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-20add notification of what was changed in Stateful::post_set() callPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8306 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-21(1) remove almost-never used block/unlock_property_changes() methods from ↵Paul Davis
PBD::Stateful (2) hide used and path columns from region list (3) detect mouse position within MIDI notes and thus allow move or trim from the same mouse mode (object or trim; first & last 1/4 of each note is for trimming git-svn-id: svn://localhost/ardour2/branches/3.0@7823 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-26Fix crossfade undo using the stateful diff system. Fixes #3257.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7694 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25clear_history -> clear_changes and some comments.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7685 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25Modify StatefulDiffCommand undo record to only contain the changes in one ↵Carl Hetherington
direction, as the other direction can be inferred. Breaks session history file compatibility. git-svn-id: svn://localhost/ardour2/branches/3.0@7684 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25Move various code up the Property / Stateful hierarchies.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7682 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25Rename various things in the property system.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7681 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-23midway snapshot of work done on managing Region & Source lifetimes ↵Paul Davis
correctly. may fix missing MIDI file bug ; save empty playlists because they may be referred to by the history file ; undo commands auto-delete when objects they refer to die (currently not commands built from XML deserialization); Sources now know how many regions are using them for something, meaning that we know if we can delete the files holding any data for the source git-svn-id: svn://localhost/ardour2/branches/3.0@7291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02Fix up route group state signal handling. Make the PropertyList versionCarl Hetherington
of Stateful::set_properties emit a changed signal after it has done its work. git-svn-id: svn://localhost/ardour2/branches/3.0@6826 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-01No-op: rename a few variables and add/fix some comments.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@6818 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-31Rework to set Stateful properties automagically in the Stateful class rather ↵Carl Hetherington
than delegating to subclasses. git-svn-id: svn://localhost/ardour2/branches/3.0@6817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-04goodbye to MementoCommand for playlistsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6726 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02(1) remove most uses of MementoCommand for Playlist and Region (2) move ↵Paul Davis
frozen state from Region into Stateful, renamed "suspend property changes" (3) successive changes to a Property (scalar) after clear_history() do not keep resetting the old value (fixes region trim) git-svn-id: svn://localhost/ardour2/branches/3.0@6720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02the mega-properties/SequenceProperty patch. split is broken at present ↵Paul Davis
(right hand starts has start-in-source of zero) git-svn-id: svn://localhost/ardour2/branches/3.0@6718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-19change PropertyChange from a bitfield into a real object, with all the many ↵Paul Davis
widespread changes that causes git-svn-id: svn://localhost/ardour2/branches/3.0@6701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18the Properties & 64bit region commitPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-10Move ARDOUR::Change into PBD so that Stateful can be aware ofCarl Hetherington
what Change a State reflects. Hence allow Stateful to do some of the work of set/get_state in Region. git-svn-id: svn://localhost/ardour2/branches/3.0@6671 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-09Remove erroneous delete of States; they are owned by the subclass that adds ↵Carl Hetherington
them. git-svn-id: svn://localhost/ardour2/branches/3.0@6666 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-09Modify Stateful to allow undo to be done using differences in state.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@6664 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17switch to using boost::signals2 instead of sigc++, at least for libardour. ↵Paul Davis
not finished yet, but compiles, loads sessions, records and can close a session without a crash git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15rework Stateful::set_state() patch to avoid default version argumentPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12Remove most using declarations from header files.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 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-15Oops. Fix XML stuff in GUI as well.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4579 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-18Remove unnecessary 0 checks before delete; see ↵Carl Hetherington
http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.8 Apologies for the big commit. git-svn-id: svn://localhost/ardour2/branches/3.0@4332 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02rollback to 3428, before the mysterious removal of libs/* at 3431/3432Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02remove empty sigc++2 directoryDoug McLain
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27Use ARDOUR::user_config_directory in Configuration::*instant_xmlTim Mayberry
Stateful::add_instant_xml was modified so it would create the user config directory if it doesn't exist, create_directories may throw if it cannot be created. This isn't a change in behaviour as ARDOUR::get_user_ardour_path also throws an exception(although I can't see any existing code to handle it) git-svn-id: svn://localhost/ardour2/trunk@2043 d708f5d6-7413-0410-9779-e7cbd77b26cf