[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Traverso-devel] Some work on AudioClipView
From: |
Remon Sijrier |
Subject: |
Re: [Traverso-devel] Some work on AudioClipView |
Date: |
Wed, 23 Jul 2008 21:30:44 +0200 |
User-agent: |
KMail/1.9.9 |
Hi Peter,
Nice work, documentation of the code always lags a bit (a lot actually)
The doc formating seems fine, looks similar to other documentation I added.
About the hard selection, some selection work has been in the works, but it's
a somewhat difficult subject.
See for a discussion of general selection the forum:
http://traverso-daw.org/forum/index.php/topic,102.0.html
It's a somewhat long read, but you'll get a glimpse of what has been going on
in my mind in respect to selecting items.
Only operating on a 'part' of an AudioClip like copy, cut etc... The idea is
to use allready existing Command classes for that, there might be need to
make some of them more versatile, or to create new ones that use existing
ones to perform a sequence of actions. Like cutting away part of a clip could
be done by 2 Splits, and one Move. (there has been a Crop command that did
just that, but became obsolete due refactoring of code long time ago) Now the
resulting 2 clips can be stored into a AudioClipGroup and displayed as just
one clip, which btw is just an idea, since that doesn't exist yet :)
In respect to selecting a group of items, I started with something really
basic in AudioClipSelection:
QRect m_selectionArea;
QList<AudioClip* > selectedClips;
and the like.
My idea is/was to adjust the size of the SelectionViewItem (to be created) or
just painting the selection area on the sheetcanvas, a pointer of which can
be obtained from the cTor of ClipSelection (the cTor should have a pointer to
the sheetcanvass' object, it doesn't have one currently) in the
ClipSelection::jog() function.
In the finish_hold() the selection thing then can be made persistent, so we
have a 'floating' viewitem on top of the audioclipsviews etc on which we can
dispatch new key/mouse events.
Or use the more advanced key events:
[ S ] + <some_other_key_to_show_a_list_of_available_actions> and pick one :)
You might not now that one, see for an example [ G ] + <up/down arrow> or [
D ] + <right mouse button> to get all the [ D ] + < available keys > actions.
Drag on an AudioClip has a few of them!
Just a bunch of ideas....
The preferred way of submitting patches is to diff them against the original,
attach the diff to the mail, so I can read the diff and patch my own tree to
upload it to cvs if it's fine with me.
As soon as I'm getting tired of submitting your patches, you'll get a cvs
account yourself :D
Hope this is of some help!
Remon