ftp.nice.ch/pub/next/unix/audio/line2sine.1.0.NI.bs.tar.gz#/line2sine/include/LinuxSoundOut.h

This is LinuxSoundOut.h in view mode; [Download] [Up]

//
// Programmer:    Craig Stuart Sapp <craig@ccrma.stanford.edu>
// Creation Date: Thu May  8 00:16:50 GMT-0800 1997
// Last Modified: Thu May  8 00:16:53 GMT-0800 1997
// Filename:      .../sig/src/Filter/LinuxSoundOut/LinuxSoundOut.h
// Syntax:        C++ 
// $Smake:        cc -Wall -g -c %b.cc -I../../../include && rm -f %b.o
//

#ifndef _LINUXSOUNDOUT_H_INCLUDED
#define _LINUXSOUNDOUT_H_INCLUDED

#include "Filter.h"
#include "Array.h"


class LinuxSoundOut : public Filter {
   public:
                         LinuxSoundOut  (int open, 
                                            char* aDeviceName = "/dev/dspW");
      void               action         (void);
      void               closeSound     (void);
      void               openSound      (void);
      sampleType         output         (int index);
      void               flushBuffer    (void);
 
   protected:
      char              *deviceName;          // "/dev/dspW"
      int                stereo;              // 1 if stereo, 0 if mono
      int                format;              // sound sample format
      int                fragSize;            // buffer size
      int                audio_fd;           
      char               automaticOpenQ;

      short*             buffer;              // storage area for sound
      long               bufferSize;          // size of storage in samples
      int                bufferIndex;         // current pointer to buffer
      int                len;                 // ???
      int                soundcardSrate;      // sampling rate for soundcard

      // private functions
      void               sendBuffer     (void);
      void               zeroSend       (void);  // send leftover frame
      
};


#endif  _LINUXSOUNDOUT_H_INCLUDED

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.