From cinelerra-admin@skolelinux.no  Wed Jul  2 22:09:47 2008
Return-Path: <cinelerra-admin@skolelinux.no>
X-Original-To: cinelerra@e.kevb.net
Delivered-To: cinelerra@e.kevb.net
Received: from init.linpro.no (init.linpro.no [87.238.46.2])
	by e.kevb.net (Postfix) with ESMTP id 2033C10435A1
	for <cinelerra@e.kevb.net>; Wed,  2 Jul 2008 22:09:47 -0400 (EDT)
Received: from localhost ([127.0.0.1] helo=init.linpro.no)
	by init.linpro.no with esmtp (Exim 4.50 #1 (Debian))
	id 1KEEFG-0007fq-Mw; Thu, 03 Jul 2008 04:08:27 +0200
Received: from [92.62.33.52] (helo=virusvask.itsjefen.no)
	by init.linpro.no with esmtp (Exim 4.50 #1 (Debian))
	id 1KEEDK-0007cv-JR
	for <cinelerra@skolelinux.no>; Thu, 03 Jul 2008 04:06:31 +0200
Received: from [92.62.33.52] by 87.238.46.2 (e-nough); Thu,  3 Jul 02:40:30 2008 +0100
Received: from localhost (localhost [127.0.0.1])
	by virusvask.itsjefen.no (Postfix) with ESMTP id BEDEC354009
	for <cinelerra@skolelinux.no>; Thu,  3 Jul 2008 04:06:44 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at virusvask02.itsjefen.no
Received: from virusvask.itsjefen.no ([127.0.0.1])
	by localhost (virusvask02.itsjefen.no [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id ECGlFhn0SuyX for <cinelerra@skolelinux.no>;
	Thu,  3 Jul 2008 04:06:41 +0200 (CEST)
Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.234])
	by virusvask.itsjefen.no (Postfix) with ESMTP id CD946354002
	for <cinelerra@skolelinux.no>; Thu,  3 Jul 2008 04:06:40 +0200 (CEST)
Received: by rv-out-0506.google.com with SMTP id g37so652645rvb.21
        for <cinelerra@skolelinux.no>; Wed, 02 Jul 2008 19:06:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:from:to
         :subject:in-reply-to:mime-version:content-type:references;
        bh=J3H+fUrpojF4JGdwwjevGeI/LeslMztIEpmMZpPUSik=;
        b=Scs71S7CClTrLyICROqgUAZY3mMb28MiSw+jv0A1BWtz7GVmJPG3urxg9QbURvFTN7
         jiWAYqhDuoAqphAlChvF83zzscNr2v/cl/u+slJfRGloMFPkKTp93Hrov0twmQh3dHlr
         nzxfO449n7+EG7UzChEJbIqj+QQzOFCG8OwT8=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:to:subject:in-reply-to:mime-version
         :content-type:references;
        b=ce1lCQJBxRoh5H3zzT0a5QukWZhyFCsSwLgZ0yHpR9+0Q6ms9zGU9jwDu0+0yjD1NE
         ts4UHyhh2MBvlWpRBlTlWT5FB9/9RgG65HmkUP+GVN1pi7NrltCGkolKyEfnKqF1A+ld
         gTQIOXPGY49z7GwWg9Vk2Dpupau2HamF8Vc7s=
Received: by 10.115.88.1 with SMTP id q1mr7698359wal.122.1215050772938;
        Wed, 02 Jul 2008 19:06:12 -0700 (PDT)
Received: by 10.114.131.17 with HTTP; Wed, 2 Jul 2008 19:06:12 -0700 (PDT)
Message-ID: <aec19dbb0807021906l11d4b94eyb50f9f956d8c76b7@mail.gmail.com>
From: "percy tiglao" <prtiglao@gmail.com>
To: cinelerra@skolelinux.no
Subject: Re: [CinCV] A plugin that can add labels to the EDL?
In-Reply-To: <200807022148.05982.johannes.sixt@telecom.at>
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_5318_7254999.1215050772921"
References: <aec19dbb0807021102g45d82081xfee784eaa124698@mail.gmail.com>
	 <200807022148.05982.johannes.sixt@telecom.at>
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on spamtrap
X-Spam-Status: No, hits=0.0 required=5.0 tests=DSPAM=0	version=2.63
X-Spam-Level: 
X-DSPAM-Signature: !DSPAM:486c2e15117937454880566!
X-DSPAM-Probability: 0.0000
X-DSPAM-Confidence: 0.9997
X-Spam-Score: 0.0 (/)
Sender: cinelerra-admin@skolelinux.no
Errors-To: cinelerra-admin@skolelinux.no
X-BeenThere: cinelerra@skolelinux.no
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: cinelerra@skolelinux.no
List-Unsubscribe: <https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra>,
	<mailto:cinelerra-request@skolelinux.no?subject=unsubscribe>
List-Id: Mailinglist for Cinelerra,
	the community version <cinelerra.skolelinux.no>
List-Post: <mailto:cinelerra@skolelinux.no>
List-Help: <mailto:cinelerra-request@skolelinux.no?subject=help>
List-Subscribe: <https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra>,
	<mailto:cinelerra-request@skolelinux.no?subject=subscribe>
List-Archive: <https://init.linpro.no/pipermail/skolelinux.no/cinelerra/>
Date: Wed, 2 Jul 2008 22:06:12 -0400
X-Spam-Score: 0.0 (/)


------=_Part_5318_7254999.1215050772921
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

On 7/2/08, Johannes Sixt <johannes.sixt@telecom.at> wrote:
> On Mittwoch, 2. Juli 2008, percy tiglao wrote:
>> The "spectrometer" plugin looks extremely useful... but not in its
>> current state. So I'm doing a few touchups on the plugin right now to
>> fit my needs. One particular feature that I'd really like is to add
>> "labels" by clicking on points on the spectrometer's GUI. This way I
>> can see key events on the spectrometer and break them down. (IE:
>> separate drum beats from bells and what not)
>>
>> Question1: Are there any plugins/effects that offer this functionality
>> (the ability to add labels) already?
>> Question2: How exactly do labels work from a coding perspective? I see
>> some references in the EDL object, but if someone gave me a starting
>> point to look that would be great.
>
> If I understand you correctly, then the labels that you want to add to the
> spectrometer have nothing to do with the labels on the timeline.

I mean I'd like them actually on the timeline. Sorry for being
unclear. I would like
to be able to select an arbitrary spot in the Spectrometer window, and
somehow place
a label on the time that correlates to the selected spot in the spectrometer.

> I suggest that you introduce keyframes in the plugin if it doesn't have
> them,
> yet. Then you store the label information in the keyframe data. You can look
> into other effects how the keyframe infrastructure works: You add a class
> with these functions (see plugins/titler/title.[Ch]):
>
> 	int equivalent(TitleConfig &that);
> 	void copy_from(TitleConfig &that);
> 	void interpolate(TitleConfig &prev,
> 		TitleConfig &next,
> 		int64_t prev_frame,
> 		int64_t next_frame,
> 		int64_t current_frame);
>
> (interplate() need not necessarily do interpolation if it does not make
> sense.)

Hmm, labels from keyframe data also seem useful if I am unable to edit the
EDL labels directly.

>> Question3: When I'm done, who/where should I submit the patch?
>
> Post it here.

I've got an early version that is working a lot better than the old
spectrometer already, so I thought I should submit the attached patch.
My next milestone is to add BC_FPot
to control the "WINDOW_SIZE" and "STEP", so that you don't have to recompile the
plugin to change these key parameters.

Here's a screenshot of how this updated Spectrometer looks like:
http://img244.imageshack.us/my.php?image=spectromi3.png

For some reason, a ton of unnecessary information was generated when I
ran the "svn diff" command in the main directory... so I just ran svn
diff in the plugins/spectrogram directory.

--Percival

------=_Part_5318_7254999.1215050772921
Content-Type: text/x-patch; name=cinelerra.diff
Content-Transfer-Encoding: base64
X-Attachment-Id: file0
Content-Disposition: attachment; filename=cinelerra.diff

SW5kZXg6IHNwZWN0cm9ncmFtLkMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3BlY3Ryb2dyYW0uQwkocmV2aXNp
b24gMTA2MCkKKysrIHNwZWN0cm9ncmFtLkMJKHdvcmtpbmcgY29weSkKQEAgLTE1LDEwICsxNSwx
OSBAQAogCiBSRUdJU1RFUl9QTFVHSU4oU3BlY3Ryb2dyYW0pCiAKKy8vIDE2Mzg0IGlzIGEgZGVj
ZW50IHZhbHVlIAorLy8gU21hbGxlciB2YWx1ZXMgYXJlIG1vcmUgYWNjdXJhdGUgd2l0aCB0aW1l
LCB3aGlsZSBsYXJnZXIgdmFsdWVzIAorLy8gb2ZmZXIgbW9yZSBhY2N1cmFjeSBpbiBmcmVxdWVu
Y3kuIFRoaXMgc2hvdWxkIGJlIGVhc2lseSBzZXQgYnkgdGhlIHVzZXIKKy8vIGV2ZW50dWFsbHku
Li4KICNkZWZpbmUgV0lORE9XX1NJWkUgNDA5NgotI2RlZmluZSBIQUxGX1dJTkRPVyAyMDQ4Cisj
ZGVmaW5lIEhBTEZfV0lORE9XIChXSU5ET1dfU0laRS8yKQogCisvLyBTdGVwIGNhbiBiZSBzZWVu
IGFzIGhvdyB6b29tZWQgaW4gdGhlIHNwZWN0cm9tZXRlciBpcy4gVGhlIGhpZ2hlciB0aGUKKy8v
IHN0ZXAgc2l6ZSwgdGhlIG1vcmUgem9vbWVkIGluIG9uIHRoZSB4LWF4aXMgdGhlIEdVSSB3aWxs
IGJlLiBBbiB1bmZvcnR1bmF0ZQorLy8gc2lkZSBlZmZlY3QgaXMgdGhhdCBsYXJnZSB2YWx1ZXMg
b2YgU1RFUCBzbG93IGRvd24gdGhlIHBsYXliYWNrLgorI2RlZmluZSBTVEVQIDgKIAorCiBTcGVj
dHJvZ3JhbUNvbmZpZzo6U3BlY3Ryb2dyYW1Db25maWcoKQogewogCWxldmVsID0gMC4wOwpAQCAt
MzEsNyArNDAsNyBAQAogCiAKIFNwZWN0cm9ncmFtTGV2ZWw6OlNwZWN0cm9ncmFtTGV2ZWwoU3Bl
Y3Ryb2dyYW0gKnBsdWdpbiwgaW50IHgsIGludCB5KQotIDogQkNfRlBvdCh4LCB5LCBwbHVnaW4t
PmNvbmZpZy5sZXZlbCwgSU5GSU5JVFlHQUlOLCAwKQorIDogQkNfRlBvdCh4LCB5LCBwbHVnaW4t
PmNvbmZpZy5sZXZlbCwgLTEwMCwgMCkKIHsKIAl0aGlzLT5wbHVnaW4gPSBwbHVnaW47CiB9CkBA
IC03NSw3ICs4NCw3IEBACiB2b2lkIFNwZWN0cm9ncmFtV2luZG93OjpjcmVhdGVfb2JqZWN0cygp
CiB7CiAJaW50IHggPSA2MCwgeSA9IDEwOwotCWludCBkaXZpc2lvbnMgPSA1OworCWludCBkaXZp
c2lvbnMgPSAyMDsKIAljaGFyIHN0cmluZ1tCQ1RFWFRMRU5dOwogCiAJYWRkX3N1YndpbmRvdyhj
YW52YXMgPSBuZXcgQkNfU3ViV2luZG93KHgsIApAQCAtMTc1LDcgKzE4NCw3IEBACiAKIAogU3Bl
Y3Ryb2dyYW06OlNwZWN0cm9ncmFtKFBsdWdpblNlcnZlciAqc2VydmVyKQotIDogUGx1Z2luQUNs
aWVudChzZXJ2ZXIpCisgOiBQbHVnaW5BQ2xpZW50KHNlcnZlciksIGNvbHVtbigwKSwgYmFja2dy
b3VuZCgwKQogewogCXJlc2V0KCk7CiAJUExVR0lOX0NPTlNUUlVDVE9SX01BQ1JPCkBAIC0yMTgs
MTYgKzIyNywyNiBAQAogCQlkYXRhID0gbmV3IGZsb2F0W0hBTEZfV0lORE9XXTsKIAl9CiAKLQli
emVybyhkYXRhLCBzaXplb2YoZmxvYXQpICogSEFMRl9XSU5ET1cpOwotCXRvdGFsX3dpbmRvd3Mg
PSAwOwotCWZmdC0+cHJvY2Vzc19idWZmZXIoc3RhcnRfcG9zaXRpb24sCi0JCXNpemUsIAotCQli
dWZmZXIsCi0JCWdldF9kaXJlY3Rpb24oKSk7Ci0JZm9yKGludCBpID0gMDsgaSA8IEhBTEZfV0lO
RE9XOyBpKyspCi0JCWRhdGFbaV0gLz0gdG90YWxfd2luZG93czsKLQlzZW5kX3JlbmRlcl9ndWko
ZGF0YSwgSEFMRl9XSU5ET1cpOworCXJlYWRfc2FtcGxlcyhidWZmZXIsIDAsIHNhbXBsZV9yYXRl
LCBzdGFydF9wb3NpdGlvbiwgc2l6ZSk7CisJZG91YmxlKiBjb3B5ID0gbmV3IGRvdWJsZVtzaXpl
XTsKKwlpbnQgaW5jID0gKHNpemUvU1RFUCk7CisJZm9yKGludCBpPTA7IGk8c2l6ZTsgaSs9IGlu
Yyl7CisJLy8JYnplcm8oZGF0YSwgc2l6ZW9mKGZsb2F0KSAqIEhBTEZfV0lORE9XKTsKKwkJdG90
YWxfd2luZG93cyA9IDA7CisJCWZmdC0+cHJvY2Vzc19idWZmZXIoc3RhcnRfcG9zaXRpb24raSwK
KwkJCXNpemUsIAorCQkJY29weSwKKwkJCWdldF9kaXJlY3Rpb24oKSk7CisJCWZvcihpbnQgaiA9
IDA7IGogPCBIQUxGX1dJTkRPVzsgaisrKQorCQkJZGF0YVtqXSAvPSB0b3RhbF93aW5kb3dzOwor
CQlzZW5kX3JlbmRlcl9ndWkoZGF0YSwgSEFMRl9XSU5ET1cpOworCX0KIAorCS8vcHJpbnRmKCJT
aXplIGlzOiAlaVxuIiwgc2l6ZSk7CisJLy9wcmludGYoIlN0YXJ0IGlzOiAlaVxuIiwgc3RhcnRf
cG9zaXRpb24pOworCisJZGVsZXRlIFtdIGNvcHk7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjg3
LDIyICszMDYsMjYgQEAKIAkJCWlucHV0MSA9IGlucHV0MjsKIAkJfQogCi0vLyBTaGlmdCBsZWZ0
Ci0JCWNhbnZhcy0+Y29weV9hcmVhKDEsIAotCQkJMCwgCi0JCQkwLCAKLQkJCTAsIAotCQkJY2Fu
dmFzLT5nZXRfdygpIC0gMSwKLQkJCWNhbnZhcy0+Z2V0X2goKSk7Ci0JCWludCB4ID0gY2FudmFz
LT5nZXRfdygpIC0gMTsKLQkJZG91YmxlIHNjYWxlID0gKGRvdWJsZSkweGZmZmZmZjsKKy8vRHJh
dyB0aGUgZGF0YQorCQljb2x1bW4gJT0gY2FudmFzLT5nZXRfdygpOworCQlpZihjb2x1bW4gPT0g
MCl7CisJCQliYWNrZ3JvdW5kKys7CisJCQliYWNrZ3JvdW5kICU9IDM7CisJCX0KKwkJaW50IHgg
PSBjb2x1bW4rKzsKKwkJLy9kb3VibGUgc2NhbGUgPSAoZG91YmxlKTB4ZmZmZmZmOworCQlkb3Vi
bGUgc2NhbGUgPSAoZG91YmxlKSAweGZmOwogCQlmb3IoaW50IGkgPSAwOyBpIDwgaDsgaSsrKQog
CQl7CiAJCQlpbnQ2NF90IGNvbG9yOwotCQkJY29sb3IgPSAoaW50KShzY2FsZSAqIHRlbXBbaV0p
OworCQkJaW50IGJyaWdodG5lc3MgPSAoaW50KSAoc2NhbGUgKiB0ZW1wW2ldKTsKKwkJCWJyaWdo
dG5lc3MgPSBicmlnaHRuZXNzID4gMCA/IGJyaWdodG5lc3MgOiAwOworCQkJYnJpZ2h0bmVzcyA9
IGJyaWdodG5lc3MgPCAweGZmID8gYnJpZ2h0bmVzcyA6IDB4ZmY7CiAKLQkJCWlmKGNvbG9yIDwg
MCkgY29sb3IgPSAwOwotCQkJaWYoY29sb3IgPiAweGZmZmZmZikgY29sb3IgPSAweGZmZmZmZjsK
KwkJCWNvbG9yID0gYnJpZ2h0bmVzcyB8IGJyaWdodG5lc3MgPDwgOCB8IGJyaWdodG5lc3MgPDwg
MTY7CisJCQljb2xvciB8PSAweGZmIDw8IChiYWNrZ3JvdW5kKjgpIDsgCisJCQljb2xvciAmPSB+
KDB4N2YgPDwgKGJhY2tncm91bmQqOCkpIDsgLy8oMHg4MCA9PSB+MHg3ZikKKwogCQkJY2FudmFz
LT5zZXRfY29sb3IoY29sb3IpOwogCQkJY2FudmFzLT5kcmF3X3BpeGVsKHgsIGkpOwogCQl9Cklu
ZGV4OiBzcGVjdHJvZ3JhbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNwZWN0cm9ncmFtLmgJKHJldmlzaW9u
IDEwNjApCisrKyBzcGVjdHJvZ3JhbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDksNiArMTA5LDkg
QEAKIAlTcGVjdHJvZ3JhbUZGVCAqZmZ0OwogCWZsb2F0ICpkYXRhOwogCWludCB0b3RhbF93aW5k
b3dzOworCisJaW50IGNvbHVtbjsKKwlpbnQgYmFja2dyb3VuZDsKIH07CiAKIAo=
------=_Part_5318_7254999.1215050772921--

_______________________________________________
Cinelerra mailing list
Cinelerra@skolelinux.no
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
