~ubuntu-branches/ubuntu/hoary/scilab/hoary

« back to all changes in this revision

Viewing changes to routines/sound/raw.c

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2005-01-09 22:58:21 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050109225821-473xr8vhgugxxx5j
Tags: 3.0-12
changed configure.in to build scilab's own malloc.o, closes: #255869

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
 *  *buf++ = LEFT(datum,XXX) into 
33
33
 *  *buf++ = datum =  LEFT(datum,XXX) to force the result we want
34
34
 ****************************************************************/
35
 
   
36
 
int rawread(ft, buf, nsamp) 
37
 
     ft_t ft;
38
 
     long nsamp;
39
 
#if defined(__alpha)
40
 
     int *buf;
41
 
#else
42
 
     long *buf;
43
 
#endif
 
35
#if defined(__alpha)|defined(__ia64__)
 
36
int rawread(ft_t ft, int *buf, long int nsamp)
 
37
#else 
 
38
int rawread(ft_t ft, long int *buf, long int nsamp)
 
39
#endif 
 
40
 
44
41
{
45
42
  int count;
46
 
#if defined(__alpha)
 
43
#if defined(__alpha)|defined(__ia64__)
47
44
  register int datum;
48
45
#else
49
46
  register long datum;
84
81
            datum = getc(ft->fp);
85
82
            if (feof(ft->fp))
86
83
              return done;
87
 
            datum = st_ulaw_to_linear(datum);
 
84
            datum = st_ulaw_to_linear((unsigned char)datum);
88
85
            /* scale signed up to long's range */
89
86
            *buf++ = datum =  LEFT(datum, 16);
90
87
            done++;
96
93
            datum = getc(ft->fp);
97
94
            if (feof(ft->fp))
98
95
              return done;
99
 
            datum = st_Alaw_to_linear(datum);
 
96
            datum =  st_Alaw_to_linear((unsigned char)datum);
100
97
            /* scale signed up to long's range */
101
98
            *buf++ = datum = LEFT(datum, 16);
102
99
            done++;
147
144
    case FLOAT:
148
145
      while(done < nsamp) 
149
146
        {
150
 
          datum = rfloat(ft);
 
147
          datum = (long) rfloat(ft);
151
148
          if (feof(ft->fp))
152
149
            return done;
153
150
          *buf++ = datum =  LEFT(datum, 16);
170
167
 * to the raw file data, and write it.
171
168
 ****************************************************************/
172
169
 
173
 
void rawwrite(ft, buf, nsamp) 
174
 
     ft_t ft;
175
 
     long *buf, nsamp;
 
170
void rawwrite(ft_t ft, long int *buf, long int nsamp)
176
171
{
177
172
  register int datum;
178
173
  int done = 0;