13
0
Commit Graph

57 Commits

Author SHA1 Message Date
83c27fa888 Support recursive undo events.
Code can now call begin_reversible_command and commit_reversible_command around a region
of code which itself calls those functions (and so on), areas contained within enclosing
regions will be added as sub-commands of the current command (i.e. it's a stack).

Fixes mantix issue #0002558.


git-svn-id: svn://localhost/ardour2/branches/3.0@5051 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05 01:53:30 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
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-25 18:26:51 +00:00
Carl Hetherington
4e1f451520 Remove unnecessary 0 checks before delete; see 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-12-18 19:31:00 +00:00
bc89fe0147 most of the 2.X->3.0 commit (up to rev 4299) except for 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-12 14:43:24 +00:00
Nick Mainsbridge
b1c48972f2 Handle changed session duration & resizing canvas better wrt end marker, remove unused last_canvas_frame, don't redraw the entire mixer every time its presented, consistent space between rightmost horizontal scroller position and end marker when zooming, possible fix for gaps in tempo lines.
git-svn-id: svn://localhost/ardour2/branches/3.0@3982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-19 07:55:42 +00:00
Nick Mainsbridge
a8baa20be8 Make tempo lines physical_screen_height high, add xml null check, Use clicked_regionview directly to calculate region movement. Using drag_info.data may result in the wrong regionbiew being used, don't use canvas coords for region_drag_finished_callback x calculation (eliminates speed adjustment), prevent incorrect updates on dropped regions by updating canvas before placing region copies.
git-svn-id: svn://localhost/ardour2/branches/3.0@3965 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-14 13:35:17 +00:00
Nick Mainsbridge
d5391a9863 Fix non-disappearing tracks when hiding, don't set colours twice initializing TimeAxisViewItems, remove some merge errors.
git-svn-id: svn://localhost/ardour2/branches/3.0@3878 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-07 18:05:35 +00:00
ad4919ce92 Assortment of minor changes from 2.0-ongoing.
git-svn-id: svn://localhost/ardour2/branches/3.0@3852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-03 18:24:38 +00:00
95d82d7a16 An actual tempo line cache (not quite perfect when scrolling left, but miles ahead of the previous one didn't really help at all).
Tempo line updating done immediately/directly rather than in an idle handler.
Looking for feedback how this works for other people, performance wise...
Feel-wise, the obvious lag between scrolling and tempo lines being drawn is now gone.


git-svn-id: svn://localhost/ardour2/branches/3.0@3799 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 22:23:39 +00:00
81c571f2f0 The petty tidying up remnants of a noble, yet utterly failed, tempo lines experiment.
git-svn-id: svn://localhost/ardour2/branches/3.0@3798 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 17:53:52 +00:00
22dc575e4c Fix merge regression: use TempoLines class instead of same built in to editor.
git-svn-id: svn://localhost/ardour2/branches/3.0@3795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 14:36:26 +00:00
c86210a9d5 merge 2.0-ongoing into 3.0 @ 3581 - 3710
git-svn-id: svn://localhost/ardour2/branches/3.0@3712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 21:27:39 +00:00
68e943265e merge from 2.0-ongoing @ 3581
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 15:03:30 +00:00
997e4b1f9c merge with 2.0-ongoing @ rev 3147
git-svn-id: svn://localhost/ardour2/branches/3.0@3152 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-17 20:54:03 +00:00
4b5ee47d44 Fix ruler scale on initial view (apply patch from nick_m).
git-svn-id: svn://localhost/ardour2/branches/3.0@3101 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-21 19:51:41 +00:00
80c3677c83 Merge with 2.0-ongoing R2988
git-svn-id: svn://localhost/ardour2/branches/3.0@2991 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-02 17:22:04 +00:00
9f63ab9931 Merge with trunk R2978.
git-svn-id: svn://localhost/ardour2/branches/3.0@2988 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-02 03:57:35 +00:00
bb457bb960 Merge libs/ardour and gtk2_ardour with 2.0-ongoing R2837.
git-svn-id: svn://localhost/ardour2/trunk@2883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-10 21:20:59 +00:00
Nick Mainsbridge
cc862d31bd use filechooser widget in export dialog, selected files set format combos, hide progress bar until use in export dialog, speed up 'separate regions in range' operation on larger sessions, ruler scale now calculated separately to mark generation, fix for non-stacked layering regression, try not to generate 'buried' crossfades, use playlist->freeze() to speed up copying/moving regions on large playlists (not done for undo), width dependent items now reset on regionview init, get rid of jack_port_ensure_monitor check, remove audiosourse _length (only source has a length.. i think), make overlapend differ to overlapexternal where start points coincide.
git-svn-id: svn://localhost/ardour2/trunk@2576 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-26 13:32:24 +00:00
684ef0eb7a Fix note range toggling (ie actually change visible range when menu option selected). Still some issue with initial value...
Don't raise tempo lines to top on editor canvas, they steal events.  Same problem on time canvas, but harder to solve...


git-svn-id: svn://localhost/ardour2/trunk@2255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 06:09:41 +00:00
8dc95efe31 Don't draw measure lins a ton of times... but still drawn twice on initial session display :/
git-svn-id: svn://localhost/ardour2/trunk@2250 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 00:35:29 +00:00
7c950f279b Pulled tempo line stuff out into it's own relatively self-contained class.
Draw tempo lines on time canvas and connect them up all pretty-like to the ruler ticks.
Still needs some visual tweaking, but... they draw!  Finally!


git-svn-id: svn://localhost/ardour2/trunk@2247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-05 21:31:02 +00:00
Doug McLain
9f545076a2 remove color.h
git-svn-id: svn://localhost/ardour2/trunk@2089 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-29 20:05:50 +00:00
Doug McLain
4c000c13ee Moved canvas colors and theme file selection into new ui specific config system
git-svn-id: svn://localhost/ardour2/trunk@2086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-29 17:13:09 +00:00
Doug McLain
789cbb2181 Major Theme Manager changes, see ardour-dev
git-svn-id: svn://localhost/ardour2/trunk@1987 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-15 22:08:27 +00:00
959a7909c1 Merged with trunk R1705.
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-04-12 23:20:37 +00:00
99904735e0 Merged with trunk R1612.
git-svn-id: svn://localhost/ardour2/branches/midi@1614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-03-18 06:07:08 +00:00
ef6b25432d Merged with trunk R1141
git-svn-id: svn://localhost/ardour2/branches/midi@1142 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-11-19 16:45:16 +00:00
fedf3d34f3 Merged with trunk R992.
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-10-21 19:01:50 +00:00
7bd41538d9 Merged with trunk R920.
git-svn-id: svn://localhost/ardour2/branches/midi@921 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-19 03:29:16 +00:00
c7307c09b8 Measure line tweaks
git-svn-id: svn://localhost/ardour2/branches/midi@907 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-09-06 16:26:04 +00:00
5169a66f35 Merged with trunk R874.
Commented out some overly verbose debug prints


git-svn-id: svn://localhost/ardour2/branches/midi@875 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-31 02:28:42 +00:00
25d1670a61 Merged with trunk R846
Removed some overly verbose debug printing


git-svn-id: svn://localhost/ardour2/branches/midi@847 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-24 07:37:17 +00:00
5952c48a84 More solid "fake" recording and serialization
git-svn-id: svn://localhost/ardour2/branches/midi@825 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-14 23:29:01 +00:00
d752986314 - MIDI "recording" - rec region creation/drawing, actual MIDI region creation/view/pretty pictures/etc
- MIDI containing session saving and restoring (ie XML - Source, Region, Playlist; all but the actual .mid files)
- Numerous little fixes for audio specific stuff to accomplish the above
- Dirty hacks to accomplish the above
- Profit!!!


git-svn-id: svn://localhost/ardour2/branches/midi@821 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-14 08:44:14 +00:00
ab6f1ed9ba Merged with trunk R776
git-svn-id: svn://localhost/ardour2/branches/midi@777 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-10 01:22:45 +00:00
fe13d08874 Large nasty commit in the form of a 5000 line patch chock-full of completely
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-26 16:01:34 +00:00
e22a48723e more tranzport lowlevel fixes and rebinding
git-svn-id: svn://localhost/trunk/ardour2@488 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-04-29 15:40:52 +00:00
982d639d44 "The In-Flight Hack, 2006"
a) measure lines extend the full height of the canvas
b) region name color bars and text positioning now adjusted to match
     font size for different display resolutions
c) vertical scrollbar limited to cover visible tracks only


git-svn-id: svn://localhost/trunk/ardour2@486 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-04-27 09:04:24 +00:00
874ba08fb4 2006-03-04 Tim Mayberry <mojofunk@gmail.com>
* Enable linking to system soundtouch library if SYSLIBS=1, soundtouch-1.3.1 needed for pkgconfig support
	* Fix to allow compiling against libgnomecanvasmm library when SYSLIBS=1


git-svn-id: svn://localhost/trunk/ardour2@354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-07 06:23:12 +00:00
517d411bb0 new color management design starts to take shape (canvas color only for now)
git-svn-id: svn://localhost/trunk/ardour2@326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-02-14 17:19:58 +00:00
81ef56fba9 fix (mostly) measure lines and click box text and meter markings
git-svn-id: svn://localhost/trunk/ardour2@300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-28 13:33:54 +00:00
cdd680f0b7 meter/tempo bars show again, fix tempo/meter dialogs, and more
git-svn-id: svn://localhost/trunk/ardour2@183 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-08 18:53:43 +00:00
6d33b9a2d6 black bg for meters, font fixups for startup message, new notebook widget (incomplete)
git-svn-id: svn://localhost/trunk/ardour2@178 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-07 17:15:37 +00:00
2b49b2433b mega commit to remove gtk_object cruft, and much other stuff
git-svn-id: svn://localhost/trunk/ardour2@139 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-28 22:36:26 +00:00
Karsten Wiese
1184029638 convert set_property("foo", bar) to property_foo() = bar
git-svn-id: svn://localhost/trunk/ardour2@133 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-27 22:35:04 +00:00
1f16781c75 slowly fixing up ArdourDialog nonsense
git-svn-id: svn://localhost/trunk/ardour2@132 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-27 21:17:41 +00:00
3ff9964885 advance compiling to the m*.cc point
git-svn-id: svn://localhost/trunk/ardour2@108 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-24 14:59:36 +00:00
Nick Mainsbridge
54a8032106 Gnome::Canvas -> ArdourCanvas and some other small fixes
git-svn-id: svn://localhost/trunk/ardour2@107 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-23 17:21:12 +00:00
Nick Mainsbridge
183f69970c some C++-ification of GnomeCanvasBlah
git-svn-id: svn://localhost/trunk/ardour2@82 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-13 03:53:51 +00:00