From cinelerra-admin@skolelinux.no  Fri May  9 02:14:04 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 352111041534
	for <cinelerra@e.kevb.net>; Fri,  9 May 2008 02:13:58 -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 1JuLoZ-0001qt-Ru; Fri, 09 May 2008 08:10:58 +0200
Received: from [193.69.32.11] (helo=virusvask.itsjefen.no)
	by init.linpro.no with esmtp (Exim 4.50 #1 (Debian))
	id 1JuLmE-0001cE-PR
	for <cinelerra@skolelinux.no>; Fri, 09 May 2008 08:08:30 +0200
Received: from [193.69.32.11] by 80.232.38.252 (e-nough); Fri,  9 May 06:53:58 2008 +0100
Received: from localhost (localhost.localdomain [127.0.0.1])
	by virusvask.itsjefen.no (Postfix) with ESMTP id 36C2F8AC043
	for <cinelerra@skolelinux.no>; Fri,  9 May 2008 08:08:02 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at virusvask01.itsjefen.no
Received: from virusvask.itsjefen.no ([127.0.0.1])
	by localhost (virusvask01.itsjefen.no [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id yQv+LFccENJI for <cinelerra@skolelinux.no>;
	Fri,  9 May 2008 08:07:59 +0200 (CEST)
Received: from mail.PerFact.DE (gate.perfact.de [217.91.12.66])
	by virusvask.itsjefen.no (Postfix) with ESMTP id F1A8C8AC031
	for <cinelerra@skolelinux.no>; Fri,  9 May 2008 08:07:58 +0200 (CEST)
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.PerFact.DE (Postfix) with ESMTP id EAED49720C
	for <cinelerra@skolelinux.no>; Fri,  9 May 2008 08:07:57 +0200 (CEST)
Received: from mail.PerFact.DE ([127.0.0.1])
	by localhost (idefix [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 16094-07 for <cinelerra@skolelinux.no>;
	Fri, 9 May 2008 08:07:56 +0200 (CEST)
Received: from [127.0.0.1] (idefix.PerFact.DE [192.168.42.16])
	by mail.PerFact.DE (Postfix) with ESMTP id 1DBFC971C6
	for <cinelerra@skolelinux.no>; Fri,  9 May 2008 08:07:56 +0200 (CEST)
Message-ID: <4823EA3B.5050709@jockusch.de>
From: Jan Jockusch <jan@jockusch.de>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080313 Iceape/1.1.9 (Debian-1.1.9-3)
MIME-Version: 1.0
To: cinelerra@skolelinux.no
Subject: Re: [CinCV] jog n shuttle hardware
References: <48225495.2010904@personnelware.com>		<b1d8b0a70805071836u29eba385y778dc0708a6f5472@mail.gmail.com>		<79e3aefb0805080304k1d9ba8dcu1f1a434e19bd4799@mail.gmail.com>	<5785596e0805080654s67438d3al3b251a2f32ca5da2@mail.gmail.com> <48230C0A.5040608@jockusch.de> <48239F60.3070602@personnelware.com>
In-Reply-To: <48239F60.3070602@personnelware.com>
Content-Type: multipart/mixed;
 boundary="------------060508040303070609050404"
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at PerFact.DE
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:4823e70434212137213080!
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: Fri, 09 May 2008 08:07:55 +0200
X-Spam-Score: 0.0 (/)

This is a multi-part message in MIME format.
--------------060508040303070609050404
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Carl Karsten wrote:
> Jan Jockusch wrote:
>>
>>
>> I published the patch to the list, but it's still less than=20
>> half-finished. I will be glad to team up with anyone brave enough to=20
>> test the new functions with different hardware, so just drop me a=20
>> line, anyone.
>
> I now have a ShuttlePro2.  building c-cv cvs.  where is this patch you=20
> speak of?
>
>
Your dmesg looks fine. I've attached the patch. But I guess it won't=20
work out of the box.

To find out about your controller, please run 'aconnect -l -i' and see=20
if you can find your device.

You should also be able to find an according '/dev/snd/midiCxDx' device=20
node.

After that, you should use 'amidi -d -p <your port>' to dump raw midi=20
data from the device and see if it meets your expectations.

If you send me that dump along with comments when you did what (turn=20
left, turn right, push button), then I can configure the patch=20
accordingly. The MIDI control/key switch statement can be easily found=20
in the patch, so you might even change the patch yourself.


Good luck and don't hesitate to ask if anything's unclear.

- J=E1n



--------------060508040303070609050404
Content-Type: text/x-patch;
 name="cinelerra_midicontrol_1.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="cinelerra_midicontrol_1.patch"

SW5kZXg6IGNpbmVsZXJyYS9taWRpY29udHJvbC5pbmMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2lu
ZWxlcnJhL21pZGljb250cm9sLmluYwkocmV2aXNpb24gMCkKKysrIGNpbmVsZXJyYS9taWRp
Y29udHJvbC5pbmMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorI2lmbmRlZiBNSURJ
Q09OVFJPTF9JTkMKKyNkZWZpbmUgTUlESUNPTlRST0xfSU5DCisKK2NsYXNzIE1pZGlDb250
cm9sOworCisjZW5kaWYKSW5kZXg6IGNpbmVsZXJyYS9NYWtlZmlsZS5hbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBjaW5lbGVycmEvTWFrZWZpbGUuYW0JKHJldmlzaW9uIDEwNTUpCisrKyBjaW5l
bGVycmEvTWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTIwOCw2ICsyMDgsNyBAQAog
CQkgICAgbWVudWVmZmVjdHMuQyBcCiAJCSAgICBtZW51dmVmZmVjdHMuQyBcCiAJCSAgICBt
ZXRlcnBhbmVsLkMgXAorCQkgICAgbWlkaWNvbnRyb2wuQyBcCiAJCSAgICBtb2R1bGUuQyBc
CiAJCSAgICBtdGltZWJhci5DIFwKIAkJICAgIG13aW5kb3cuQyBcCkluZGV4OiBjaW5lbGVy
cmEvbWlkaWNvbnRyb2wuQwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjaW5lbGVycmEvbWlkaWNvbnRy
b2wuQwkocmV2aXNpb24gMCkKKysrIGNpbmVsZXJyYS9taWRpY29udHJvbC5DCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDMzMCBAQAorI2luY2x1ZGUgImVkbC5oIgorI2luY2x1ZGUgImVk
bHNlc3Npb24uaCIKKyNpbmNsdWRlICJsb2NhbHNlc3Npb24uaCIKKyNpbmNsdWRlICJ0cmFj
a3MuaCIKKyNpbmNsdWRlICJtYnV0dG9ucy5oIgorI2luY2x1ZGUgIm13aW5kb3cuaCIKKyNp
bmNsdWRlICJtd2luZG93Z3VpLmgiCisjaW5jbHVkZSAidndpbmRvdy5oIgorI2luY2x1ZGUg
InZwbGF5YmFjay5oIgorI2luY2x1ZGUgInZ3aW5kb3dndWkuaCIKKyNpbmNsdWRlICJjd2lu
ZG93LmgiCisjaW5jbHVkZSAiY3BsYXliYWNrLmgiCisjaW5jbHVkZSAidHJhbnNwb3J0cXVl
LmgiCisjaW5jbHVkZSAiY3dpbmRvd2d1aS5oIgorI2luY2x1ZGUgImF3aW5kb3cuaCIKKyNp
bmNsdWRlICJhd2luZG93Z3VpLmgiCisjaW5jbHVkZSAibWFpbnNlc3Npb24uaCIKKyNpbmNs
dWRlICJtYWluY2xvY2suaCIKKworI2luY2x1ZGUgIm1pZGljb250cm9sLmgiCisKKyNkZWZp
bmUgREVCVUcodykgcHJpbnRmKCIlcyAlZCAtICVzOiAlc1xuIiwgX19GSUxFX18sIF9fTElO
RV9fLCAgX19QUkVUVFlfRlVOQ1RJT05fXywgKHcpKQorCisvKgorICogU3RvcmluZyB0aGUg
Y29uZmlndXJhdGlvbjogRW51bWVyYXRlIGZ1bmN0aW9ucyB0byBiZSBhdXRvbWF0ZWQuIEVh
Y2ggZnVuY3Rpb24gY2FuCisgKiBiZSB1c2VkIGJ5IGtleXByZXNzLCBrZXlyZWxlYXNlLCBD
Q2FicyBvciBDQ3JlbCBldmVudHMuIChzbGlkZXJzIHJlcXVpcmUgQ0NhYnMgb3IgQ0NyZWws
CisgKiB0cmlnZ2VycyByZXF1aXJlIGtleXByZXNzIG9yIGtleXJlbGVhc2UuCisgKiBmdW5j
X251bSwgZnVuY190eXBlIChrZXkgb3IgY2MpLCBzdWJ0eXBlIChwcmVzcy9yZWxlYXNlIG9y
IGFicy9yZWwpLCBjaGFubmVsLCBrZXkvY2MgCisgKi8KKworCitNaWRpQ29udHJvbDo6TWlk
aUNvbnRyb2woTVdpbmRvdyAqbXdpbmRvdykKKyA6IFRocmVhZCgpCit7CisJaW50IGVycjsK
KworCURFQlVHKCJlbnRlcmluZy4uIik7CisJdGhpcy0+bXdpbmRvdyA9IG13aW5kb3c7CisJ
bXdpbmRvd19uZWVkc191cGRhdGUgPSAwOworCisJLy8gT3BlbiB0aGUgTUlESSBkZXZpY2Ug
aGVyZQorCisJZXJyID0gc25kX3NlcV9vcGVuKCZzZXFfaGFuZGxlLCAgImRlZmF1bHQiLCBT
TkRfU0VRX09QRU5fRFVQTEVYLCBTTkRfU0VRX05PTkJMT0NLKTsKKwlpZiAoZXJyICE9IDAp
IHsKKwkJLy8gQmxvY2sgTUlESSBmZWF0dXJlIHNpbGVudGx5LgorCX0KKworCXNuZF9zZXFf
c2V0X2NsaWVudF9uYW1lKHNlcV9oYW5kbGUsICJDaW5lbGVycmEiKTsKKworCXNuZF9zZXFf
cG9ydF9pbmZvX2FsbG9jYSgmcG9ydF9pbmZvKTsKKwlzbmRfc2VxX3BvcnRfaW5mb19zZXRf
Y2FwYWJpbGl0eShwb3J0X2luZm8sIFNORF9TRVFfUE9SVF9DQVBfV1JJVEUgfCBTTkRfU0VR
X1BPUlRfQ0FQX1NVQlNfV1JJVEUgfAorCQkJCQkgU05EX1NFUV9QT1JUX0NBUF9SRUFEIHwg
U05EX1NFUV9QT1JUX0NBUF9TVUJTX1JFQUQgKTsKKwlzbmRfc2VxX3BvcnRfaW5mb19zZXRf
dHlwZShwb3J0X2luZm8sIFNORF9TRVFfUE9SVF9UWVBFX01JRElfR0VORVJJQyB8IFNORF9T
RVFfUE9SVF9UWVBFX0FQUExJQ0FUSU9OICk7CisJc25kX3NlcV9wb3J0X2luZm9fc2V0X21p
ZGlfY2hhbm5lbHMocG9ydF9pbmZvLCAxNik7CisJc25kX3NlcV9wb3J0X2luZm9fc2V0X25h
bWUocG9ydF9pbmZvLCAiQ2luZWxlcnJhIik7CisJcG9ydCA9IHNuZF9zZXFfY3JlYXRlX3Bv
cnQoc2VxX2hhbmRsZSwgcG9ydF9pbmZvKTsJCisJY2hhbm5lbCA9IDA7Cit9CisKK01pZGlD
b250cm9sOjp+TWlkaUNvbnRyb2woKQoreworCURFQlVHKCJlbnRlcmluZy4uLiIpOworCS8v
IENsZWFudXAgY29kZSBoZXJlCisJc25kX3NlcV9jbG9zZShzZXFfaGFuZGxlKTsKK30KKwor
dm9pZCBNaWRpQ29udHJvbDo6aGFuZGxlX2V2ZW50KHNuZF9zZXFfZXZlbnRfdCAqZXYpCit7
CisJaW50IGRpZmY7CisJZG91YmxlIGFiczsKKwljaGFyIGNoYW5uZWw7CisJY2hhciBtaWRp
Y29udHJvbDsKKwljaGFyIG1pZGl2YWx1ZTsKKworCUVETCAqZWRsOworCWRvdWJsZSB0b3Rh
bF9sZW5ndGgsIGN1cnJlbnQsIGZyYW1lX3JhdGUsIGRlbHRhOworCisJZG91YmxlIG5ld19w
b3NpdGlvbjsKKworCXN3aXRjaChldi0+dHlwZSkgeworCWNhc2UgU05EX1NFUV9FVkVOVF9D
T05UUk9MTEVSOgorCQkvLyBoYW5kbGVfY2MoZXYtPmRhdGEuY29udHJvbCkKKwkJY2hhbm5l
bCA9IGV2LT5kYXRhLmNvbnRyb2wuY2hhbm5lbDsKKwkJbWlkaWNvbnRyb2wgPSBldi0+ZGF0
YS5jb250cm9sLnBhcmFtOworCQltaWRpdmFsdWUgPSBldi0+ZGF0YS5jb250cm9sLnZhbHVl
OworCQlwcmludGYoIk1pZGlDb250cm9sOiBDQyBjaGFuICVkLCBjdHJsICVkLCB2YWwgJWRc
biIsIGNoYW5uZWwsIG1pZGljb250cm9sLCBtaWRpdmFsdWUpOworCQlkaWZmID0gbWlkaXZh
bHVlIC0gNjQ7CisJCWFicyA9IChtaWRpdmFsdWUgPCA2NCkgPyBtaWRpdmFsdWUgLyAxMjgu
IDogKG1pZGl2YWx1ZS0xKSAvIDEyNi47CisJCS8qCisJCSAqIHNlYXJjaCBmb3IgcGFyYW0g
aW4gbGlzdCBvZiBwYXJhbXMKKwkJICogZm9yIGVhY2ggbWF0Y2g6IGludGVycHJldCBhcyBy
ZWwvYWJzPworCQkgKiAgIGNob29zZSBjb3JyZWN0IGZ1bmN0aW9uIChzd2l0Y2gpCisJCSAq
ICAgcnVuIHRoZSBmdW5jdGlvbi4KKwkJICovCisJCXN3aXRjaCAoZXYtPmRhdGEuY29udHJv
bC5wYXJhbSkgeworCQkvLyBDb250cm9sIDE6IExlZnQgd2hlZWwgZm9yIHZpZXcgd2luZG93
LgorCQljYXNlIDE6CisJCQllZGwgPSBtd2luZG93LT52d2luZG93LT5nZXRfZWRsKCk7CisJ
CQlpZiAoIWRpZmYpIGJyZWFrOworCQkJaWYgKCFlZGwpIGJyZWFrOworCQkJdG90YWxfbGVu
Z3RoID0gZWRsLT50cmFja3MtPnRvdGFsX2xlbmd0aCgpOworCQkJY3VycmVudCA9IG13aW5k
b3ctPnZ3aW5kb3ctPmd1aS0+c2xpZGVyLT5nZXRfdmFsdWUoKTsKKwkJCWZyYW1lX3JhdGUg
PSBlZGwtPnNlc3Npb24tPmZyYW1lX3JhdGU7CisJCQkvLyBDYWxjdWxhdGUgZGlmZmVyZW5j
ZSBpbiBoYWxmLWZyYW1lcworCQkJZGVsdGEgPSAoZG91YmxlKWRpZmYgLyBmcmFtZV9yYXRl
IC8gNC47CisJCQljdXJyZW50ICs9IGRlbHRhOworCQkJaWYgKGN1cnJlbnQgPiB0b3RhbF9s
ZW5ndGgpIGN1cnJlbnQgPSB0b3RhbF9sZW5ndGg7CisJCQlpZiAoY3VycmVudCA8IDApIGN1
cnJlbnQgPSAwOworCQkJbXdpbmRvdy0+dndpbmRvdy0+Z3VpLT50cmFuc3BvcnQtPmhhbmRs
ZV90cmFuc3BvcnQoU1RPUCwgMCwgMCk7CisJCQllZGwtPmxvY2FsX3Nlc3Npb24tPnNldF9z
ZWxlY3Rpb25zdGFydChjdXJyZW50KTsKKwkJCWVkbC0+bG9jYWxfc2Vzc2lvbi0+c2V0X3Nl
bGVjdGlvbmVuZChjdXJyZW50KTsKKwkJCW13aW5kb3ctPnZ3aW5kb3ctPmd1aS0+c2xpZGVy
LT5zZXRfcG9zaXRpb24oKTsKKwkJCW13aW5kb3ctPnZ3aW5kb3ctPnBsYXliYWNrX2VuZ2lu
ZS0+cXVlLT5zZW5kX2NvbW1hbmQoQ1VSUkVOVF9GUkFNRSwKKwkJCQkJCQkJCSAgICAgQ0hB
TkdFX05PTkUsCisJCQkJCQkJCQkgICAgIGVkbCwKKwkJCQkJCQkJCSAgICAgMSk7CisJCQli
cmVhazsKKwkKKwkJLy8gQ29udHJvbCAzOiBSaWdodCB3aGVlbCBmb3IgY29tcG9zaXRvciB3
aW5kb3cuCisJCWNhc2UgMzoKKwkJCWVkbCA9IG13aW5kb3ctPmVkbDsKKwkJCWlmICghZGlm
ZikgYnJlYWs7CisJCQlpZiAoIWVkbCkgYnJlYWs7CisJCQl0b3RhbF9sZW5ndGggPSBlZGwt
PnRyYWNrcy0+dG90YWxfcGxheWFibGVfbGVuZ3RoKCk7CisJCQljdXJyZW50ID0gZWRsLT5s
b2NhbF9zZXNzaW9uLT5nZXRfc2VsZWN0aW9uc3RhcnQoMSk7CisJCQlmcmFtZV9yYXRlID0g
ZWRsLT5zZXNzaW9uLT5mcmFtZV9yYXRlOworCQkJLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2Ug
aW4gaGFsZi1mcmFtZXMKKwkJCWRlbHRhID0gKGRvdWJsZSlkaWZmIC8gZnJhbWVfcmF0ZSAv
IDQuOworCQkJY3VycmVudCArPSBkZWx0YTsKKwkJCWlmIChjdXJyZW50ID4gdG90YWxfbGVu
Z3RoKSBjdXJyZW50ID0gdG90YWxfbGVuZ3RoOworCQkJaWYgKGN1cnJlbnQgPCAwKSBjdXJy
ZW50ID0gMDsKKwkJCW13aW5kb3ctPmd1aS0+bWJ1dHRvbnMtPnRyYW5zcG9ydC0+aGFuZGxl
X3RyYW5zcG9ydChTVE9QLCAxLCAwLCAwKTsKKwkJCS8vIGN1cnJlbnQgPSBlZGwtPmFsaWdu
X3RvX2ZyYW1lKGN1cnJlbnQsIDEpOworCQkJZWRsLT5sb2NhbF9zZXNzaW9uLT5zZXRfc2Vs
ZWN0aW9uc3RhcnQoY3VycmVudCk7CisJCQllZGwtPmxvY2FsX3Nlc3Npb24tPnNldF9zZWxl
Y3Rpb25lbmQoY3VycmVudCk7CisJCQltd2luZG93X25lZWRzX3VwZGF0ZSA9IDE7CisJCQlt
d2luZG93LT5jd2luZG93LT5ndWktPnNsaWRlci0+c2V0X3Bvc2l0aW9uKCk7CisJCQltd2lu
ZG93LT5jd2luZG93LT5wbGF5YmFja19lbmdpbmUtPnF1ZS0+c2VuZF9jb21tYW5kKENVUlJF
TlRfRlJBTUUsCisJCQkJCQkJCQkgICAgIENIQU5HRV9OT05FLAorCQkJCQkJCQkJICAgICBl
ZGwsCisJCQkJCQkJCQkgICAgIDEpOworCQkJYnJlYWs7CisjaWYgMAorCQljYXNlIDE3Ogor
CQkJLy8gRHJhZ2dpbmcgYW4gZWRpdCBoYW5kbGUKKwkJCVRyYWNrQ2FudmFzICp0cmFja19j
YW52YXMgPSBtd2luZG93LT5ndWktPmNhbnZhczsKKwkJCWVkbCA9IG13aW5kb3ctPmVkbDsK
KwkJCWN1cnJlbnQgPSBtd2luZG93LT5zZXNzaW9uLT5kcmFnX3Bvc2l0aW9uOworCQkJZnJh
bWVfcmF0ZSA9IGVkbC0+c2Vzc2lvbi0+ZnJhbWVfcmF0ZTsKKwkJCS8vIENhbGN1bGF0ZSBk
aWZmZXJlbmNlIGluIGhhbGYtZnJhbWVzCisJCQlkZWx0YSA9IChkb3VibGUpZGlmZiAvIGZy
YW1lX3JhdGUgLyA0LjsKKworCQkJbmV3X3Bvc2l0aW9uID0gY3VycmVudCArIGRlbHRhOwor
CQkJbmV3X3Bvc2l0aW9uID0gCisJCQkJZWRsLT5hbGlnbl90b19mcmFtZShuZXdfcG9zaXRp
b24sIDApOworCQkJaWYobmV3X3Bvc2l0aW9uICE9IG13aW5kb3ctPnNlc3Npb24tPmRyYWdf
cG9zaXRpb24pIHsKKwkJCQltd2luZG93LT5zZXNzaW9uLT5kcmFnX3Bvc2l0aW9uID0gbmV3
X3Bvc2l0aW9uOworCQkJCW13aW5kb3ctPmd1aS0+bWFpbmNsb2NrLT51cGRhdGUobmV3X3Bv
c2l0aW9uKTsKKwkJCX0KKwkJCWJyZWFrOworI2VuZGlmCisJCX0KKwkJYnJlYWs7CisJY2Fz
ZSBTTkRfU0VRX0VWRU5UX05PVEVPTjoKKwkJY2hhbm5lbCA9IGV2LT5kYXRhLm5vdGUuY2hh
bm5lbDsKKwkJbWlkaWNvbnRyb2wgPSBldi0+ZGF0YS5ub3RlLm5vdGU7CisJCW1pZGl2YWx1
ZSA9IGV2LT5kYXRhLm5vdGUudmVsb2NpdHk7CisJCXByaW50ZigiTWlkaUNvbnRyb2w6IEtl
eU9uIGNoYW4gJWQsIG5vdGUgJWQsIHZlbCAlZFxuIiwgY2hhbm5lbCwgbWlkaWNvbnRyb2ws
IG1pZGl2YWx1ZSk7CisJCWlmICghKGV2LT5kYXRhLm5vdGUudmVsb2NpdHkpKSBicmVhazsK
KwkJc3dpdGNoIChldi0+ZGF0YS5ub3RlLm5vdGUpIHsKKwkJY2FzZSAxNzogLy8gVklFV0VS
X1NFVF9JTlBPSU5UCisJCQltd2luZG93LT52d2luZG93LT5zZXRfaW5wb2ludCgpOyBicmVh
azsKKwkJY2FzZSAyMTogLy8gVklFV0VSX1NFVF9PVVRQT0lOVAorCQkJbXdpbmRvdy0+dndp
bmRvdy0+c2V0X291dHBvaW50KCk7IGJyZWFrOworCQljYXNlIDE2OiAvLyBWSUVXRVJfU1BM
SUNFCisJCQltd2luZG93LT52d2luZG93LT5ndWktPmVkaXRfcGFuZWwtPnNwbGljZV9zZWxl
Y3Rpb24oKTsgYnJlYWs7CisJCWNhc2UgMjI6IC8vIFZJRVdFUl9PVkVSV1JJVEUKKwkJCW13
aW5kb3ctPnZ3aW5kb3ctPmd1aS0+ZWRpdF9wYW5lbC0+b3ZlcndyaXRlX3NlbGVjdGlvbigp
OyBicmVhazsKKwkJY2FzZSAxODogLy8gVklFV0VSX0dPVE9fU1RBUlQKKwkJCW13aW5kb3ct
PnZ3aW5kb3ctPmdvdG9fc3RhcnQoKTsgYnJlYWs7CisJCWNhc2UgMjA6IC8vIFZJRVdFUl9H
T1RPX0VORAorCQkJbXdpbmRvdy0+dndpbmRvdy0+Z290b19lbmQoKTsgYnJlYWs7CisJCWNh
c2UgNTU6IC8vIFZJRVdFUl9QTEFZCisJCQltd2luZG93LT52d2luZG93LT5ndWktPnRyYW5z
cG9ydC0+aGFuZGxlX3RyYW5zcG9ydChOT1JNQUxfRldELCAwLCAwKTsgYnJlYWs7CisJCWNh
c2UgMjM6IC8vIFRPR0dMRV9FRElUX01PREUKKwkJCW13aW5kb3ctPnRvZ2dsZV9lZGl0aW5n
X21vZGUoKTsgYnJlYWs7CisJCWNhc2UgNjU6IC8vIEFTU0VUU19ORVhUCisJCQlBV2luZG93
QXNzZXRzICphc3NldF9saXN0OworCQkJYXNzZXRfbGlzdCA9IG13aW5kb3ctPmF3aW5kb3ct
Pmd1aS0+YXNzZXRfbGlzdDsKKwkJCWFzc2V0X2xpc3QtPnNlbGVjdF9uZXh0KDApOworCQkJ
YXNzZXRfbGlzdC0+Y2VudGVyX3NlbGVjdGlvbigpOworCQkJYnJlYWs7CisJCWNhc2UgNjc6
IC8vIEFTU0VUU19QUkVWCisJCQlhc3NldF9saXN0ID0gbXdpbmRvdy0+YXdpbmRvdy0+Z3Vp
LT5hc3NldF9saXN0OworCQkJYXNzZXRfbGlzdC0+c2VsZWN0X3ByZXZpb3VzKDApOworCQkJ
YXNzZXRfbGlzdC0+Y2VudGVyX3NlbGVjdGlvbigpOworCQkJYnJlYWs7CisJCWNhc2UgNjk6
IC8vIEFTU0VUU19WSUVXCisJCQlhc3NldF9saXN0ID0gbXdpbmRvdy0+YXdpbmRvdy0+Z3Vp
LT5hc3NldF9saXN0OworCQkJaWYgKCEoYXNzZXRfbGlzdC0+Z2V0X3NlbGVjdGlvbigwLCAw
KSkpIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoKChBc3NldFBpY29u
KikoYXNzZXRfbGlzdC0+Z2V0X3NlbGVjdGlvbigwLCAwKSkpLT5hc3NldCkpIGJyZWFrOwor
CQkJbXdpbmRvdy0+dndpbmRvdy0+Y2hhbmdlX3NvdXJjZSgoKEFzc2V0UGljb24qKShhc3Nl
dF9saXN0LT5nZXRfc2VsZWN0aW9uKDAsIDApKSktPmFzc2V0KTsKKwkJCWJyZWFrOworCQlj
YXNlIDY4OiAvLyBQUkVWX0VESVRfSEFORExFCisJCQltd2luZG93LT5ndWktPm1idXR0b25z
LT50cmFuc3BvcnQtPmhhbmRsZV90cmFuc3BvcnQoU1RPUCwgMSwgMCwgMCk7CisJCQltd2lu
ZG93LT5ndWktPmxvY2tfd2luZG93KCJNaWRpQ29udHJvbDo6aGFuZGxlX2V2ZW50Iik7CisJ
CQltd2luZG93LT5wcmV2X2VkaXRfaGFuZGxlKDApOyAvLyAxIHRvIGhvbGQgc2hpZnQgKHNl
bGVjdCByYW5nZSkKKwkJCW13aW5kb3ctPmd1aS0+dW5sb2NrX3dpbmRvdygpOworCQkJYnJl
YWs7CisJCWNhc2UgNjY6IC8vIE5FWFRfRURJVF9IQU5ETEUKKwkJCW13aW5kb3ctPmd1aS0+
bWJ1dHRvbnMtPnRyYW5zcG9ydC0+aGFuZGxlX3RyYW5zcG9ydChTVE9QLCAxLCAwLCAwKTsK
KwkJCW13aW5kb3ctPmd1aS0+bG9ja193aW5kb3coIk1pZGlDb250cm9sOjpoYW5kbGVfZXZl
bnQiKTsKKwkJCW13aW5kb3ctPm5leHRfZWRpdF9oYW5kbGUoMCk7IC8vIDEgdG8gaG9sZCBz
aGlmdCAoc2VsZWN0IHJhbmdlKQorCQkJbXdpbmRvdy0+Z3VpLT51bmxvY2tfd2luZG93KCk7
CisJCQlicmVhazsKKwkJY2FzZSAzNDogLy8gR09UT19TVEFSVAorCQkJbXdpbmRvdy0+Z3Vp
LT5tYnV0dG9ucy0+dHJhbnNwb3J0LT5oYW5kbGVfdHJhbnNwb3J0KFJFV0lORCwgMSk7CisJ
CQltd2luZG93LT5ndWktPmxvY2tfd2luZG93KCJNaWRpQ29udHJvbDo6aGFuZGxlX2V2ZW50
Iik7CisJCQltd2luZG93LT5nb3RvX3N0YXJ0KCk7CisJCQltd2luZG93LT5ndWktPnVubG9j
a193aW5kb3coKTsKKwkJCWJyZWFrOworCQljYXNlIDM2OiAvLyBHT1RPX0VORAorCQkJbXdp
bmRvdy0+Z3VpLT5tYnV0dG9ucy0+dHJhbnNwb3J0LT5oYW5kbGVfdHJhbnNwb3J0KEdPVE9f
RU5ELCAxKTsKKwkJCW13aW5kb3ctPmd1aS0+bG9ja193aW5kb3coIk1pZGlDb250cm9sOjpo
YW5kbGVfZXZlbnQiKTsKKwkJCW13aW5kb3ctPmdvdG9fZW5kKCk7CisJCQltd2luZG93LT5n
dWktPnVubG9ja193aW5kb3coKTsKKwkJCWJyZWFrOworCQljYXNlIDMzOiAvLyBTRVRfSU5Q
T0lOVAorCQkJbXdpbmRvdy0+c2V0X2lucG9pbnQoMSk7CisJCQlicmVhazsKKwkJY2FzZSAz
NzogLy8gU0VUX09VVFBPSU5UCisJCQltd2luZG93LT5zZXRfb3V0cG9pbnQoMSk7CisJCQli
cmVhazsKKwkJY2FzZSA1NDogLy8gUExBWQorCQkJbXdpbmRvdy0+Z3VpLT5tYnV0dG9ucy0+
dHJhbnNwb3J0LT5oYW5kbGVfdHJhbnNwb3J0KE5PUk1BTF9GV0QsIDEpOyBicmVhazsKKwkJ
fQorCQlicmVhazsKKwljYXNlIFNORF9TRVFfRVZFTlRfTk9URU9GRjoKKwkJY2hhbm5lbCA9
IGV2LT5kYXRhLm5vdGUuY2hhbm5lbDsKKwkJbWlkaWNvbnRyb2wgPSBldi0+ZGF0YS5ub3Rl
Lm5vdGU7CisJCW1pZGl2YWx1ZSA9IGV2LT5kYXRhLm5vdGUudmVsb2NpdHk7CisJCXByaW50
ZigiTWlkaUNvbnRyb2w6IEtleU9mZiBjaGFuICVkLCBub3RlICVkLCB2ZWwgJWRcbiIsIGNo
YW5uZWwsIG1pZGljb250cm9sLCBtaWRpdmFsdWUpOworCQlicmVhazsKKwljYXNlIFNORF9T
RVFfRVZFTlRfUElUQ0hCRU5EOgorCQljaGFubmVsID0gZXYtPmRhdGEuY29udHJvbC5jaGFu
bmVsOworCQlpbnQgdmFsdWUgPSBldi0+ZGF0YS5jb250cm9sLnZhbHVlOworCQlwcmludGYo
Ik1pZGlDb250cm9sOiBQaXRjaCBjaGFuICVkLCB2YWwgJWRcbiIsIGNoYW5uZWwsIHZhbHVl
KTsKKwkJYnJlYWs7CisJfQorCQorfQorCit2b2lkIE1pZGlDb250cm9sOjpydW4oKQorewor
CWludCBudW1fcG9sbHM7CisJc3RydWN0IHBvbGxmZCAqcG9sbHM7CisJaW50IHJ0LCBpZGxl
OworCisJREVCVUcoImVudGVyaW5nLi4uIik7CisJLy8gTUlESSBsaXN0ZW5lciBoZXJlCisJ
bnVtX3BvbGxzID0gc25kX3NlcV9wb2xsX2Rlc2NyaXB0b3JzX2NvdW50KHNlcV9oYW5kbGUs
IFBPTExJTik7CisJcG9sbHMgPSAocG9sbGZkICopYWxsb2NhKHNpemVvZigqcG9sbHMpICog
bnVtX3BvbGxzKTsKKwlzbmRfc2VxX3BvbGxfZGVzY3JpcHRvcnMoc2VxX2hhbmRsZSwgcG9s
bHMsIG51bV9wb2xscywgUE9MTElOKTsKKworCXdoaWxlICh0cnVlKSB7CisJCURFQlVHKCJw
b2xsIGxvb3AuLi4iKTsKKwkJcnQgPSBwb2xsKHBvbGxzLCBudW1fcG9sbHMsIDEwMDApOwor
CQlpZiAocnQgPCAwKSBjb250aW51ZTsKKwkJaWRsZSA9IHRydWU7CisJCWRvIHsKKwkJCXNu
ZF9zZXFfZXZlbnRfdCAqIGV2OworCQkJaWYgKHNuZF9zZXFfZXZlbnRfaW5wdXQoc2VxX2hh
bmRsZSwgJmV2KSA+PSAwICYmIGV2KSB7CisJCQkJaGFuZGxlX2V2ZW50KGV2KTsKKwkJCQlp
ZGxlID0gZmFsc2U7CisJCQl9CisJCX0gd2hpbGUgKHNuZF9zZXFfZXZlbnRfaW5wdXRfcGVu
ZGluZyhzZXFfaGFuZGxlLCAwKSA+IDApOworCQkvLyBEZWZlcnJlZCBzbG93IG1haW4gd2lu
ZG93IHVwZGF0ZSBoYXBwZW5zIGhlcmU6CisJCWlmIChtd2luZG93X25lZWRzX3VwZGF0ZSAm
JiBpZGxlKSB7CisJCQltd2luZG93X25lZWRzX3VwZGF0ZSA9IDA7CisJCQltd2luZG93LT5n
dWktPmxvY2tfd2luZG93KCk7CisJCQltd2luZG93LT5maW5kX2N1cnNvcigpOworCQkJbXdp
bmRvdy0+Z3VpLT51cGRhdGUoMSwgMSwgMSwgMSwgMSwgMSwgMCk7CisJCQltd2luZG93LT5n
dWktPnVubG9ja193aW5kb3coKTsKKwkJfQorCX0KK30KKworCisKKwordm9pZCBNaWRpQ29u
dHJvbDo6c2VuZF9rZXkoaW50IGtleSwgaW50IHZlbG9jaXR5KQoreworCXNuZF9zZXFfZXZl
bnRfdCBldjsKKwlERUJVRygiZW50ZXJpbmcuLi4iKTsKKworCS8vIEluaXRpYWxpemUgdGhl
IGV2ZW50IHN0cnVjdHVyZQorCXNuZF9zZXFfZXZfc2V0X2RpcmVjdCgmZXYpOworCXNuZF9z
ZXFfZXZfc2V0X3NvdXJjZSgmZXYsIHBvcnQpOworCisJLy8gU2VuZCB0byBhbGwgc3Vic2Ny
aWJlcnMKKwlzbmRfc2VxX2V2X3NldF9kZXN0KCZldiwgU05EX1NFUV9BRERSRVNTX1NVQlND
UklCRVJTLCAwKTsKKworCS8vIFNlbmQga2V5cHJlc3MgZXZlbnQKKyAgICAgICAgc25kX3Nl
cV9ldl9zZXRfbm90ZW9uKCZldiwgY2hhbm5lbCwga2V5LCB2ZWxvY2l0eSk7CisJc25kX3Nl
cV9ldmVudF9vdXRwdXRfZGlyZWN0KHNlcV9oYW5kbGUsICZldik7Cit9CisKK3ZvaWQgTWlk
aUNvbnRyb2w6OnNlbmRfY2MoaW50IGNvbnRyb2wsIGludCB2YWx1ZSkKK3sKKwlzbmRfc2Vx
X2V2ZW50X3QgZXY7CisJREVCVUcoImVudGVyaW5nLi4uIik7CisKKwkvLyBJbml0aWFsaXpl
IHRoZSBldmVudCBzdHJ1Y3R1cmUKKwlzbmRfc2VxX2V2X3NldF9kaXJlY3QoJmV2KTsKKwlz
bmRfc2VxX2V2X3NldF9zb3VyY2UoJmV2LCBwb3J0KTsKKworCS8vIFNlbmQgdG8gYWxsIHN1
YnNjcmliZXJzCisJc25kX3NlcV9ldl9zZXRfZGVzdCgmZXYsIFNORF9TRVFfQUREUkVTU19T
VUJTQ1JJQkVSUywgMCk7CisKKwkvLyBTZW5kIGNvbnRyb2wgY2hhbmdlCisJc25kX3NlcV9l
dl9zZXRfY29udHJvbGxlcigmZXYsIGNoYW5uZWwsIGNvbnRyb2wsIHZhbHVlKTsKKwlzbmRf
c2VxX2V2ZW50X291dHB1dF9kaXJlY3Qoc2VxX2hhbmRsZSwgJmV2KTsKK30KKwordm9pZCBN
aWRpQ29udHJvbDo6c2V0X2NoYW5uZWwoaW50IGNoYW5uZWwpCit7CisJREVCVUcoImVudGVy
aW5nLi4uIik7CisJdGhpcy0+Y2hhbm5lbCA9IGNoYW5uZWw7Cit9CisKSW5kZXg6IGNpbmVs
ZXJyYS9taWRpY29udHJvbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNpbmVsZXJyYS9taWRpY29u
dHJvbC5oCShyZXZpc2lvbiAwKQorKysgY2luZWxlcnJhL21pZGljb250cm9sLmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMzggQEAKKyNpZm5kZWYgTUlESUNPTlRST0xfSAorI2RlZmlu
ZSBNSURJQ09OVFJPTF9ICisKKworI2luY2x1ZGUgIm13aW5kb3cuaW5jIgorI2luY2x1ZGUg
InRocmVhZC5oIgorI2luY2x1ZGUgPGFsc2EvYXNvdW5kbGliLmg+CisKKy8vID09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PSBMaXN0ZW4gdG8gTUlESSBpbnB1dCBpbiBhIHRo
cmVhZAorLy8gTGlzdGVucyB0byBhIE1JREkgaW5wdXQgYW5kIHBlcmZvcm1zIGNhbGxiYWNr
cyBhY2NvcmRpbmdseS4KKworY2xhc3MgTWlkaUNvbnRyb2wgOiBwdWJsaWMgVGhyZWFkCit7
CitwdWJsaWM6CisJTWlkaUNvbnRyb2woTVdpbmRvdyAqbXdpbmRvdyk7CisJfk1pZGlDb250
cm9sKCk7CisKKwl2b2lkIHJ1bigpOworCisJdm9pZCBzZXRfY2hhbm5lbChpbnQgY2gpOwor
CisJdm9pZCBzZW5kX2tleShpbnQga2V5LCBpbnQgdmVsb2NpdHkpOworCXZvaWQgc2VuZF9j
YyhpbnQgcGFyYW0sIGludCB2YWx1ZSk7CisKK3ByaXZhdGU6CisJdm9pZCBoYW5kbGVfZXZl
bnQoc25kX3NlcV9ldmVudF90ICpldik7CisKKwlNV2luZG93ICptd2luZG93OworCWludCBt
d2luZG93X25lZWRzX3VwZGF0ZTsKKworCWludCBjaGFubmVsOworCisJc25kX3NlcV90ICpz
ZXFfaGFuZGxlOworCXNuZF9zZXFfcG9ydF9pbmZvX3QgKnBvcnRfaW5mbzsKKwlpbnQgcG9y
dDsKK307CisKKyNlbmRpZgpJbmRleDogY2luZWxlcnJhL213aW5kb3cuQwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBjaW5lbGVycmEvbXdpbmRvdy5DCShyZXZpc2lvbiAxMDU1KQorKysgY2luZWxl
cnJhL213aW5kb3cuQwkod29ya2luZyBjb3B5KQpAQCAtODIsNiArODIsNyBAQAogI2luY2x1
ZGUgIndhdmVjYWNoZS5oIgogI2luY2x1ZGUgInpvb21iYXIuaCIKICNpbmNsdWRlICJleHBv
cnRlZGwuaCIKKyNpbmNsdWRlICJtaWRpY29udHJvbC5oIgogCiAjaW5jbHVkZSA8c3RyaW5n
Lmg+CiAKQEAgLTY0Nyw2ICs2NDgsMTEgQEAKIAljaGFubmVsZGJfdjRsMmpwZWctPmxvYWQo
ImNoYW5uZWxkYl92NGwyanBlZyIpOwogfQogCit2b2lkIE1XaW5kb3c6OmluaXRfbWlkaWNv
bnRyb2woKQoreworCW1pZGlfY29udHJvbCA9IG5ldyBNaWRpQ29udHJvbCh0aGlzKTsKK30K
Kwogdm9pZCBNV2luZG93Ojppbml0X21lbnVzKCkKIHsKIAljaGFyIHN0cmluZ1tCQ1RFWFRM
RU5dOwpAQCAtMTMxMSw2ICsxMzE3LDggQEAKIFNFVF9UUkFDRQogCWluaXRfY2hhbm5lbGRi
KCk7CiBTRVRfVFJBQ0UKKwlpbml0X21pZGljb250cm9sKCk7CitTRVRfVFJBQ0UKIAogCWlu
aXRfZ3VpKCk7CiAJaW5pdF9nd2luZG93KCk7CkBAIC0xMzUzLDYgKzEzNjEsOCBAQAogCWhp
ZGVfc3BsYXNoKCk7CiBTRVRfVFJBQ0UKIAlpbml0X3NobSgpOworCisJbWlkaV9jb250cm9s
LT5zdGFydCgpOyAKIH0KIAogCkluZGV4OiBjaW5lbGVycmEvbXdpbmRvdy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIGNpbmVsZXJyYS9td2luZG93LmgJKHJldmlzaW9uIDEwNTUpCisrKyBjaW5l
bGVycmEvbXdpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBACiAjaW5j
bHVkZSAidmlkZW93aW5kb3cuaW5jIg0KICNpbmNsdWRlICJ2d2luZG93LmluYyINCiAjaW5j
bHVkZSAid2F2ZWNhY2hlLmluYyINCisjaW5jbHVkZSAibWlkaWNvbnRyb2wuaW5jIg0KIA0K
ICNpbmNsdWRlIDxzdGRpbnQuaD4NCiANCkBAIC00MTAsNiArNDExLDggQEAKIAlNYWluVW5k
byAqdW5kbzsNCiAJQkNfSGFzaCAqZGVmYXVsdHM7DQogCUFzc2V0cyAqYXNzZXRzOw0KKy8v
IE1JREkgQ29udHJvbA0KKwlNaWRpQ29udHJvbCAqbWlkaV9jb250cm9sOw0KIC8vIENJQ2Fj
aGVzIGZvciBkcmF3aW5nIHRpbWVsaW5lIG9ubHkNCiAJQ0lDYWNoZSAqYXVkaW9fY2FjaGUs
ICp2aWRlb19jYWNoZTsNCiAvLyBGcmFtZSBjYWNoZSBmb3IgZHJhd2luZyB0aW1lbGluZSBv
bmx5Lg0KQEAgLTUyNyw2ICs1MzAsNyBAQAogCXZvaWQgaW5pdF9sZXZlbHdpbmRvdygpOw0K
IAl2b2lkIGluaXRfdmlld2VyKCk7DQogCXZvaWQgaW5pdF9jYWNoZSgpOw0KKwl2b2lkIGlu
aXRfbWlkaWNvbnRyb2woKTsNCiAJdm9pZCBpbml0X21lbnVzKCk7DQogCXZvaWQgaW5pdF9p
bmRleGVzKCk7DQogCXZvaWQgaW5pdF9ndWkoKTsNCg==
--------------060508040303070609050404--

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