Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:4825] CS5 working (sort of) on MacOS 9

Date2004-06-16 20:08
FromAnthony Kozar
Subject[CSOUND-DEV:4825] CS5 working (sort of) on MacOS 9
I just managed to successfully render my first score with Csound 5 on MacOS
9!  There were some anomalies and I had to perform a little gymnastics with
the compiler and the debugger but I am very optimistic about this success :)

I made quite a few minor changes to the sources in order to get them to
compile.  I was working with a CVS snapshot from April 29th though, so some
of the issues may have already been resolved.  I will do a CVS update and
try again later.

I had to disable RTAUDIO because of the lack of PortAudio support and I also
removed dnoise and the MacRescale.c code in order to successfully compile.
And I did not compile any of the opcodes that have been turned into plugins.
But these should be temporary problems.  I also added a #else case to
dl_opcodes for platforms without shared library support.  This code I will
probably submit eventually (along with code that _does_ implement plugin
support on the Mac).

libsndfile seems to be working just fine by the way.  I am not using the API
yet.

The biggest problem while running Csound 5 was that Perf (the Mac GUI) calls
mmalloc() to allocate space for the argv arguments before calling
csoundMain().  Then memRESET() is called before rendering and deallocates
the space, trashing the strings in argv.  I temporarily got around this by
skipping over the call to memRESET() in the debugger and then everything
else seemed to work and sounds were produced :)

The output listing was different than I expected.  Is this correct or are
there messages missing ??

Using STR# 128
Csound version 5.00 (float samples) Jun 16 2004
libsndfile-1.0.5
    instr   201 
    instr   202 
    instr   203 
Calling sread_init
Csound version 5.00 (float samples) Jun 16 2004
 AIFF
Compile returns 0
musmon returns 0
B  0.000 ..  1.000 T  1.000 TT  1.000 M:   7500.0
B  1.000 ..  2.000 T  2.000 TT  2.000 M:   7500.0
B  2.000 ..  3.000 T  3.000 TT  3.000 M:   7500.0
B  3.000 ..  3.500 T  3.500 TT  3.500 M:   7500.0
B  3.500 ..  4.000 T  4.000 TT  4.000 M:   7500.0
B  4.000 ..  8.000 T  8.000 TT  8.000 M:   7500.0
   7500.0
B  0.000 ..  1.000 T  1.000 TT  9.000 M:   7500.0
B  1.000 ..  2.000 T  2.000 TT 10.000 M:   7500.0
B  2.000 ..  3.000 T  3.000 TT 11.000 M:   7500.0
B  3.000 ..  3.500 T  3.500 TT 11.500 M:   7500.0
B  3.500 ..  4.000 T  4.000 TT 12.000 M:   7500.0
B  4.000 ..  8.000 T  8.000 TT 16.000 M:   7500.0
   7500.0
   7500.0        0 AIFF

**Total Rendering time was:  130.84947 secs
reopened table-lookup osc.aif for playing


One final question: in order to compile and link, I omitted the following
files from my project.  Is this correct?

dnoise.c        (this one should be included, I think)
dnoise_int.c
ustub.c
rtpa.c          (until I can get PortAudio working)
mididevice.c    (compilation issues, do I need this?)
pvl_main.c


Thanks very much for your help!

Anthony Kozar
anthony.kozar@utoledo.edu

Date2004-06-17 06:29
Fromjpff@codemist.co.uk
Subject[CSOUND-DEV:4826] Re: CS5 working (sort of) on MacOS 9
In csound5 the dnoise code has not been modified -- it is on my list.
So removing it does make sense
  ustub.c is stub code for standalone utilities so is not part of a
csound binary
  dnoise_int.c is the GUI for mac standalone dnoise -- not looked at
yet
  rtpa.c is indeed portaudio playing
  pvl_main.c is the main program to drive the pvoc decoder pvl
  mididevice.c is the one i am not sure about.  I have not looked at
MIDI in cs5 yet.

==John ffitch

Date2004-06-17 07:31
FromAnthony Kozar
Subject[CSOUND-DEV:4827] Re: CS5 working (sort of) on MacOS 9
Thanks, John, for the info.

The dnoise errors looked like more than what I knew how to fix, so I am glad
that they are expected.

It looks like I made all of the correct decisions with the other files
except possibly for mididevice.c.

Scratch that, I just looked a little more closely now, and I see that
mididevice.c was not used in the Perf 4.23 projects either.  mididevice.c
appears to be the machine-dependent Midi code.  (Probably should be in the
InOut directory then instead of OOps).  There is a Mac-only file MacMidi.c
that implements most of the same functions, so I think that I am in good
shape.  


For reference, here are the errors in dnoise.c:

Error   : illegal implicit conversion from 'float *' to
'char *'
dnoise.c line 619   choutbuf = outbuf;

Error   : illegal implicit conversion from 'float *' to
'char *'
dnoise.c line 643   choutbuf = outbuf;

Error   : illegal implicit conversion from 'float *' to
'char *'
dnoise.c line 1211   audtran(outbuf, O.sfsampsize*length);

Error   : illegal implicit conversion from 'int' to
'struct SNDFILE_tag *'
dnoise.c line 1216   rewriteheader(outfd, 0);



On 6/17/04 1:29 AM, jpff@codemist.co.uk etched in
stone:

> In csound5 the dnoise code has not been modified -- it is on my list.
> So removing it does make sense
> ustub.c is stub code for standalone utilities so is not part of a
> csound binary
> dnoise_int.c is the GUI for mac standalone dnoise -- not looked at
> yet
> rtpa.c is indeed portaudio playing
> pvl_main.c is the main program to drive the pvoc decoder pvl
> mididevice.c is the one i am not sure about.  I have not looked at
> MIDI in cs5 yet.
> 
> ==John ffitch
>