Camd
MIDI library for AmigaOS3, AROS (official), MorphOS and AOS4
Install / Use
/learn @kmatheussen/CamdREADME
Camd.library V40.5. For AmigaOS and AROS.
Released 2002-04-26
BACKGROUND -Due to various problems with the original camd.library, and that AROS (http://www.aros.org) didn`t have a camd.library, I wrote a new one (from scratch).
FEATURES -It is supposed to work just like the old one, and as far as I can see, it really does too. Still, you should backup the old camd.library before replacing, just in case. Programs tested and works fine: BarsnPipes, Radium, CAMD ToolKit. Programs tested and not working fine: noone. Please send me programs that isnt working with the new camd.library. Probably they have just hardcoded out.0, in.0, etc. That can be solved.
-Whether its better or worse than the old one remains to
be seen. But this one is at least open source, so things
can be fixed if something isn`t working.
-This version of the camd does also has a new
driver format, while still supporting the old
strange one.
LICENCE -The license for the source is APL, the Aros Public License, which is based on MPL (Mozilla Public License). Check out http://www.aros.org for more info about it.
DEVELOPMENT -To get the include files for this camd.library, you need to get the AROS source. Or you can mail me, and I`ll send them to you. Unfortunately, they was not available to me when making this package. The same goes for the documentation about the new driver-format.
USAGE / DIFFERENCE BETWEEN OLD AND NEW
-The "MidiPorts" preferences program has no function
anymore (it was terrible buggy anyway). Which means:
-Only copy the drivers you use into devs:midi/ -Dont have more than one type of driver for the same hardware in devs:midi/. Ie, don`t have both mmp and uaemidi (which both uses the serial-port), for example.
-The new camd.library does not have a built-in driver
for the serial-port. Just use mmp/port 0 instead. It
should be more stable than the old internal driver too.
-out.0, out.1, out.2, in.0, in.1, etc. does not exist
anymore. The links will have the names <drivername>.out.0,
<drivername>.out.1, <drivername>.in.0, etc. instead.
-For some reason, the prelude and concertio camd-drivers
does not work with this version of camd.library. To
work around the problem, I have made a package called
"camo", which should make non-making drivers still
work with the new camd.library by using a hacked version
of the old camd.library and preferences program that
communicates with the new camd.library. I don`t know
how good it works though, but I have got a report that
it does work.
COMPILING The amiga version is compiled with SAS/C. Just write smake. To compile with other compilers, some tricks has to be done in the file "miditodriver_oldformat.c" to support return value in D1.
There are three ways this can be solved:
1. Write an assembler stub for the "transmitter"
function that calles the "transmitter" function
in "miditodriver.c", and make the "transmitter"
function return a number higher than 0x100 when
0xff has to be put in d1. Remember to point
"Transmitter" to your asm function in the "OpenPort"-
call in the file "drivers.c"
2. Use inline assembly in the "transmitter" function in
"miditodriver_oldformat.c" to return in D1.
3. Use 64 bit (in D0/D1) return value if
supperted by your compiler for the "transmitter" function.
Apart from that, using a different compiler
shouldn`t be a big problem. (see include/libcore/compiler.h)
HISTORY
V40.5: Receiving several sysex in a row didnt work. Fixed. Sending two or more Program Change or Channel Pressure messages with the same status-byte to hardware caused an infinite loop. Fixed. V40.4: GetMidiLinkAttrs didnt work. Fixed.
V40.3: Freezed when calling ParseMidi to a link connected to
hardware, and the buffer contained (an) error(s).
Fixed.
V40.2: Fixed SysEx output.
V40.1: First public amiga release
CREDITS / CONTACT -Kjetil S. Matheussen, 8.9.2k2 k.s.matheussen@notam02.no http://www.stud.ifi.uio.no/~ksvalast/nsm/
Camd.library V37 and earlier was made for commodore
by various people. This version of camd.library
is not based that version, and its not at all an official
new release of camd.library from Amiga inc. or H&P.
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
