Re: Infile problem with saolc (?)

From: Richard Dobson (rwd@cableinet.co.uk)
Date: Tue Aug 31 1999 - 13:52:59 EDT


This is pretty well the solution I arrived at; it also seems as though
the only reason g++ can't be used for everything is that at least in
saol_parser.c 'new' is used as a variable, and g++ objects.

So I have saolc running under Linux, and it made the 'beat' example very
nicely. However, it also has the problem with an input file, so I now
welcome all clues as to what changes to make (presumably in
saol_sched.c) to make that happen.

On the matter of sfront output, the effect of my soundfile changes will
be to create a single format-transparent output function set, so that
instead of the need to link in the aif library OR the wav library
(or...), you can just link in ~the~ sf library. This then opens the
possibility of commandline arguments to sa.exe to name the outfile, for
example, in any supported format, and even to dicatate what sample
format (floats, 24bit, etc); as far as sfront itself is concerned, it is
just reading and writing floating-point buffers. That way, sa.exe can
become a useful program, with some flexibility.

Richard Dobson

Koen Dejonghe wrote:
>
> Hi,
>
> I think the problem is due to the fact that the output
> of yacc and (f)lex are part of the distribution of
> saolc. These outputs may be OK for some platforms, but
> they don't work on Linux. The 'outputs' I am talking
> about are:
>
> sa_encode.yy.c
> saol.tab.c
> saol.tab.h
> saol.yy.c
>
> The solution is to remove these files and to use the
> following settings in the Makefile (of course you must
> remove or comment out the settings for other operating
> systems):
>
> Use these for optimized mode on Linux:
> --------------------------------------
> YACC = yacc
> LEX = flex
> CXX = g++
> CC = gcc
> CFLAGS = -c -O3
> C2FLAGS = $(CFLAGS)
> C++FLAGS = $(CFLAGS) -DCPP_MEMORY
> LDFLAGS = -lm
>
> Use these for debug mode on Linux:
> ----------------------------------
> YACC = yacc
> LEX = flex -d
> CXX = g++
> CC = gcc
> CFLAGS = -c -g -O0 -DYYDEBUG=1
> C2FLAGS = $(CFLAGS)
> C++FLAGS = $(CFLAGS) -DCPP_MEMORY
> LDFLAGS = -lm
>
> You can also modify the 'clean' rule:
>
> clean:
> rm -f *.o saolc saolc_no_sbf saenc sa_decoder ac
> *.tab.* *.yy.*
>
> Then execute a 'make clean' followed by a 'make' and
> everything should work fine (apart from a bunch
> warnings perhaps).
>
> Hope this helps.
>

-- 
Test your DAW with my Soundcard Attrition Page!
http://wkweb5.cableinet.co.uk/rwd (LU: 23rd August 1999)
CDP: http://www.bath.ac.uk/~masjpf/CDP/CDP.htm (LU: 14th June 1999)



This archive was generated by hypermail 2b29 : Wed May 10 2000 - 12:15:33 EDT