--- juce_AudioFormat.cpp	2009-08-31 16:51:10.000000000 -0700
+++ /Users/stp/Code/juce1.50-orig/src/juce_appframework/audio/audio_file_formats/juce_AudioFormat.cpp	2009-08-17 17:45:24.000000000 -0700
@@ -116,51 +116,6 @@
     return true;
 }
 
-// Support for float I/O by STP, July 2009
-
-bool AudioFormatReader::read(SampleBufferArray destSamples, 
-                              int numDestChannels,
-                              int64 startSampleInSource, 
-                              int numSamplesToRead,
-                              const bool fillLeftoverChannelsWithCopies) {
-    jassert (numDestChannels > 0); // you have to actually give this some channels to work with!
-    int startOffsetInDestBuffer = 0;
-    if (startSampleInSource < 0) {
-        const int silence = (int) jmin (-startSampleInSource, (int64) numSamplesToRead);
-        for (int i = numDestChannels; --i >= 0;)
-            if (destSamples[i] != 0)
-                zeromem (destSamples[i], sizeof (sample) * silence);
-        startOffsetInDestBuffer += silence;
-        numSamplesToRead -= silence;
-        startSampleInSource = 0;
-    }
-    if (numSamplesToRead <= 0)
-        return true;
-    if (! readSamples(destSamples, jmin (numChannels, numDestChannels), startOffsetInDestBuffer, 
-                       startSampleInSource, numSamplesToRead))
-        return false;
-    if (numDestChannels > (int) numChannels) {
-        if (fillLeftoverChannelsWithCopies) {
-            sample* lastFullChannel = destSamples[0];
-            for (int i = numDestChannels; --i > 0;) {
-                if (destSamples[i] != 0) {
-                    lastFullChannel = destSamples[i];
-                    break;
-                }
-            }
-            if (lastFullChannel != 0)
-                for (int i = numChannels; i < numDestChannels; ++i)
-                    if (destSamples[i] != 0)
-                        memcpy (destSamples[i], lastFullChannel, sizeof (sample) * numSamplesToRead);
-        } else {
-            for (int i = numChannels; i < numDestChannels; ++i)
-                if (destSamples[i] != 0)
-                    zeromem (destSamples[i], sizeof (sample) * numSamplesToRead);
-        }
-    }
-    return true;
-}
-
 static void findMaxMin (const float* src, const int num,
                         float& maxVal, float& minVal)
 {
--- juce_AudioFormatReader.h	2009-08-31 17:16:53.000000000 -0700
+++ /Users/stp/Code/juce1.50-orig/src/juce_appframework/audio/audio_file_formats/juce_AudioFormatReader.h	2009-08-17 17:45:24.000000000 -0700
@@ -34,16 +34,9 @@
 
 #include "../../../juce_core/io/juce_InputStream.h"
 #include "../../../juce_core/text/juce_StringPairArray.h"
-
-											// These are taken from CSL - STP changes
-typedef float sample;						///< short-hand for the base sample type (could be changed to double)
-typedef sample* SampleBuffer;				///< 1-channel buffer data type -- vector of (sample) 
-typedef SampleBuffer* SampleBufferArray;	///< Multi-channel buffer data type -- vector of (sample *) 
-													// I'd rather use this, but the compiler won't accept it...
-//typedef Array<SampleBuffer> SampleBufferArray;	///< Multi-channel buffer data type -- vector of (sample *) 
-
 class AudioFormat;
 
+
 //==============================================================================
 /**
     Reads samples from an audio file stream.
@@ -125,17 +118,6 @@
                int numSamplesToRead,
                const bool fillLeftoverChannelsWithCopies);
 			   
-    /** Reads samples from the stream; same as the above version, except that it writes floating-point samples in to the given buffer.
-
-        @param destSamples          a SampleBufferVector (std::vector <sample*>) into which the sample data for each
-                                    channel will be written.
-	*/
-    bool read (SampleBufferArray destSamples,
-               int numDestChannels,
-               int64 startSampleInSource, 
-               int numSamplesToRead,
-               const bool fillLeftoverChannelsWithCopies);
-
     /** Finds the highest and lowest sample levels from a section of the audio stream.
 
         This will read a block of samples from the stream, and measure the
@@ -238,16 +220,6 @@
                               int64 startSampleInFile,
                               int numSamples) = 0;
 
-    /** Subclasses must implement this method to perform the low-level read operation.
-        Callers should use read() instead of calling this directly.
-        @param destSamples  the array of destination buffers to fill. Some of these
-                            pointers may be null.
-	*/
-	virtual bool readSamples (SampleBufferArray destSamples, 
-                              int numDestChannels,
-                              int startOffsetInDestBuffer,
-                              int64 startSampleInFile,
-                              int numSamples) = 0;
 
     //==============================================================================
     juce_UseDebuggingNewOperator
--- juce_WavAudioFormat.cpp	2009-08-31 16:51:10.000000000 -0700
+++ /Users/stp/Code/juce1.50-orig/src/juce_appframework/audio/audio_file_formats/juce_WavAudioFormat.cpp	2009-08-17 17:45:24.000000000 -0700
@@ -520,76 +520,9 @@
         return true;
     }
 
-// floating-point sample support by STP - July 2009
-
-    //==============================================================================
-    bool readSamples (SampleBufferArray destSamples, int numDestChannels, int startOffsetInDestBuffer,
-                      int64 startSampleInFile, int numSamples) {
-        numSamples = (int) jmin ((int64) numSamples, lengthInSamples - startSampleInFile);
-        if (numSamples <= 0)
-            return true;
-        input->setPosition (dataChunkStart + startSampleInFile * bytesPerFrame);
-        const int tempBufSize = 480 * 3 * 4;	// (keep this a multiple of 3)
-        char tempBuffer[tempBufSize];
-		SampleBufferArray destPointers = new SampleBuffer[numChannels];
-		for (unsigned i = 0; i < numChannels; i++) {
-			destPointers[i] = destSamples[i];
-		}
-        while (numSamples > 0) {
-            const int numThisTime = jmin (tempBufSize / bytesPerFrame, numSamples);
-            const int bytesRead = input->read (tempBuffer, numThisTime * bytesPerFrame);
-            if (bytesRead < numThisTime * bytesPerFrame)
-                zeromem (tempBuffer + bytesRead, numThisTime * bytesPerFrame - bytesRead);
-            if (bitsPerSample == 16) {
-                const short* src = (const short*) tempBuffer;
-				sample sampScale = 1.0 / 32768.0;
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-                        *destPointers[h]++ = (sample) swapIfBigEndian ((unsigned short) *src++) * sampScale;
-                    }
-                }
-            } else if (bitsPerSample == 24) {
-                const char* src = (const char*) tempBuffer;
-				sample sampScale = (sample) (1.0 / 8388608.0);
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-                        *destPointers[h]++ = (sample) littleEndian24Bit (src) * sampScale;
-                        src += 3;
-                    }
-                }
-            } else if (bitsPerSample == 32) {
-                const unsigned int* src = (const unsigned int*) tempBuffer;
-				sample sampScale = (sample) (1.0 / 21471559678.0);
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-                        *destPointers[h]++ = (sample) swapIfBigEndian (*src++)* sampScale;
-                    }
-                }
-            } else if (bitsPerSample == 8) {
-                const unsigned char* src = (const unsigned char*) tempBuffer;
-				sample sampScale = (sample) (1.0 / 128.0);
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-                        *destPointers[h]++ = (sample) ((int)*src++ - 128) * sampScale;
-                    }
-                }
-            }
-            startOffsetInDestBuffer += numThisTime;
-            numSamples -= numThisTime;
-        }
-        if (numSamples > 0) {
-            for (int i = numDestChannels; --i >= 0;)
-                if (destSamples[i] != 0)
-                    zeromem (destSamples[i] + startOffsetInDestBuffer,
-                             sizeof (sample) * numSamples);
-        }
-        return true;
-    }
-
      juce_UseDebuggingNewOperator
  };
 
-
 //==============================================================================
 class WavAudioFormatWriter  : public AudioFormatWriter
 {
@@ -785,68 +718,6 @@
         }
     }
  	
-// floating-point support added by STP, July 2009
-
-    //==============================================================================
-    bool write (SampleBufferArray data, int numSamples) {
-        if (writeFailed)
-            return false;
-        const int bytes = numChannels * numSamples * bitsPerSample / 8;
-        tempBlock.ensureSize (bytes, false);
-        char* buffer = (char*) tempBlock.getData();
-		SampleBufferArray srcPointers = new SampleBuffer[numChannels];
-		
-		for (unsigned i = 0; i < numChannels; i++)
-			srcPointers[i] = data[i];
-
-        if (bitsPerSample == 16) {
-            short* b = (short*) buffer;
-			sample sampScale = 32768.0;
-			for (int i = 0; i < numSamples; i++) {
-				for (int h = 0; h < numChannels; h++) {
-                    *b++ = (short) swapIfBigEndian ((unsigned short) (*srcPointers[h]++ * sampScale));
-                }
-            }
-        } else if (bitsPerSample == 24) {
-            char* b = (char*) buffer;
-			sample sampScale = 8388608.0;
-			for (int i = 0; i < numSamples; i++) {
-				for (int h = 0; h < numChannels; h++) {
-                    littleEndian24BitToChars (((int) (*srcPointers[h]++ * sampScale)) >> 8, b);
-                    b += 3;
-                }
-            }
-        } else if (bitsPerSample == 32) {
-            unsigned int* b = (unsigned int*) buffer;
-			sample sampScale = 21471559678.0;
-			for (int i = 0; i < numSamples; i++) {
-				for (int h = 0; h < numChannels; h++) {
-                    *b++ = swapIfBigEndian ((unsigned int) (*srcPointers[h]++ * sampScale));
-                }
-            }
-        } else if (bitsPerSample == 8) {
-            unsigned char* b = (unsigned char*) buffer;
-			sample sampScale = 128.0;
-			for (int i = 0; i < numSamples; i++) {
-				for (int h = 0; h < numChannels; h++) {
-                    *b++ = (unsigned char) (((int) (*srcPointers[h]++ * sampScale)) >> 24);
-                }
-            }
-        }
-        if (bytesWritten + bytes >= (uint32) 0xfff00000 || ! output->write (buffer, bytes)) {
-            // failed to write to disk, so let's try writing the header.
-            // If it's just run out of disk space, then if it does manage
-            // to write the header, we'll still have a useable file..
-            writeHeader();
-            writeFailed = true;
-            return false;
-        } else {
-            bytesWritten += bytes;
-            lengthInSamples += numSamples;
-            return true;
-        }
-    }
-
     juce_UseDebuggingNewOperator
 };
 
--- juce_AiffAudioFormat.cpp	2009-08-31 16:51:10.000000000 -0700
+++ /Users/stp/Code/juce1.50-orig/src/juce_appframework/audio/audio_file_formats/juce_AiffAudioFormat.cpp	2009-08-17 17:45:24.000000000 -0700
@@ -498,110 +498,6 @@
         return true;
     }
 	
-//
-// float version -- added by STP June 2009
-//
-    bool readSamples (SampleBufferArray destSamples, // this is typedef'ed at the top of the file juce-AudioFormatReader.h
-					int numDestChannels, int startOffsetInDestBuffer,
-                    int64 startSampleInFile, int numSamples) {
-        numSamples = (int) jmin ((int64) numSamples, lengthInSamples - startSampleInFile);
-        if (numSamples <= 0)
-            return true;
-        input->setPosition (dataChunkStart + startSampleInFile * bytesPerFrame);
-        const int tempBufSize = 480 * 3 * 4; // (keep this a multiple of 3)
-        char tempBuffer [tempBufSize];
-		uint16 ushortVal;
-		int16 shortVal;
-		SampleBufferArray destPointers = new SampleBuffer[numChannels];
-		for (unsigned i = 0; i < numChannels; i++) {
-			destPointers[i] = destSamples[i];
-		}
-        while (numSamples > 0) {
-            const int numThisTime = jmin (tempBufSize / bytesPerFrame, numSamples);
-            const int bytesRead = input->read(tempBuffer, numThisTime * bytesPerFrame);
-            if (bytesRead < numThisTime * bytesPerFrame)
-                zeromem (tempBuffer + bytesRead, numThisTime * bytesPerFrame - bytesRead);
-
-            if (bitsPerSample == 16) {
-				sample sampScale = 1.0 / 32768.0;
-                if (littleEndian) {
-                    const short* src = (const short*) tempBuffer;
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-							ushortVal = swapIfBigEndian ((unsigned short) *src++);
-							shortVal = ushortVal & 0x7fff;
-							if (ushortVal & 0x8000)
-								shortVal += 0x8000;
-                            *destPointers[h]++ = (sample) shortVal * sampScale;
-                        }
-                    }
-                } else {
-                    const char* src = (const char*) tempBuffer;
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-							ushortVal = bigEndianShort (src);
-							shortVal = ushortVal & 0x7fff;
-							if (ushortVal & 0x8000)
-								shortVal += 0x8000;
-							*destPointers[h]++ = (sample) shortVal * sampScale;
-                            src += 2;
-                        }
-                    }
-                }
-            } else if (bitsPerSample == 24) {
-                const char* src = (const char*)tempBuffer;
-				sample sampScale = (sample) (1.0 / 8388608.0);
-                if (littleEndian) {
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-                            *destPointers[h]++ = (sample) littleEndian24Bit (src) * sampScale;
-                            src += 3;
-                        }
-                    }
-                } else {
-                    for (int h = numChannels; --h >= 0;) {
-                        for (int i = numThisTime; --i >= 0;) {
-                            *destPointers[h]++ = (sample) bigEndian24Bit (src) * sampScale;
-                            src += 3;
-                        }
-                    }
-                }
-            } else if (bitsPerSample == 32) {
-                const unsigned int* src = (const unsigned int*) tempBuffer;
-				sample sampScale = (sample) (1.0 / 21471559678.0);
-				if (littleEndian) {
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-                            *destPointers[h]++ = (sample) swapIfBigEndian (*src++) * sampScale;
-                        }
-                    }
-                } else {
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-                            *destPointers[h]++ = (sample) swapIfLittleEndian (*src++) * sampScale;
-                        }
-                    }
-                }
-			} else if (bitsPerSample == 8) {
-                const char* src = (const char*) tempBuffer;
-				sample sampScale = (sample) (1.0 / 128.0);
-					for (int i = 0; i < numThisTime; i++) {
-						for (int h = 0; h < numChannels; h++) {
-                        *destPointers[h]++ = (sample) ((int) *src++) * sampScale;
-                    }
-                }
-            }
-            startOffsetInDestBuffer += numThisTime;
-            numSamples -= numThisTime;
-        }
-        if (numSamples > 0) {
-            for (int i = numDestChannels; --i >= 0;)
-                if (destSamples[i] != 0)
-                    zeromem (destSamples[i] + startOffsetInDestBuffer, sizeof (sample) * numSamples);
-        }
-        return true;
-    }
-
     juce_UseDebuggingNewOperator
 
 private:
@@ -839,68 +735,6 @@
         }
     }
 	
-// floating-point support added bySTP, July 2009
-
-    //==============================================================================
-    bool write (SampleBufferArray data, int numSamples) {
-        if (writeFailed)
-            return false;
-        const int bytes = numChannels * numSamples * bitsPerSample / 8;
-        tempBlock.ensureSize (bytes, false);
-        char* buffer = (char*) tempBlock.getData();
-		SampleBufferArray srcPointers = new SampleBuffer[numChannels];
-		
-		for (unsigned i = 0; i < numChannels; i++)
-			srcPointers[i] = data[i];
-
-        if (bitsPerSample == 16) {
-            short* b = (short*) buffer;
-			sample sampScale = 32768.0;
-			for (int i = 0; i < numSamples; i++) {
-				for (int h = 0; h < numChannels; h++) {
-                    *b++ = (short) swapIfLittleEndian ((unsigned short) (*srcPointers[h]++ * sampScale));
-                }
-            }
-        } else if (bitsPerSample == 24) {
-            char* b = (char*) buffer;
-			sample sampScale = 8388608.0;
-			for (int i = 0; i < numSamples; i++) {
-				for (int h = 0; h < numChannels; h++) {
-                    bigEndian24BitToChars (((int) (*srcPointers[h]++ * sampScale)) >> 8, b);
-                    b += 3;
-                }
-            }
-        } else if (bitsPerSample == 32) {
-            unsigned int* b = (unsigned int*) buffer;
-			sample sampScale = 21471559678.0;
-			for (int i = 0; i < numSamples; i++) {
-				for (int h = 0; h < numChannels; h++) {
-                    *b++ = swapIfLittleEndian ((unsigned int) (*srcPointers[h]++ * sampScale));
-                }
-            }
-        } else if (bitsPerSample == 8) {
-            char* b = (char*)buffer;
-			sample sampScale = 128.0;
-			for (int i = 0; i < numSamples; i++) {
-				for (int h = 0; h < numChannels; h++) {
-                    *b++ = (char) (((int) (*srcPointers[h]++ * sampScale)) >> 24);
-                }
-            }
-        }
-        if (bytesWritten + bytes >= (uint32) 0xfff00000 || ! output->write (buffer, bytes)) {
-            // failed to write to disk, so let's try writing the header.
-            // If it's just run out of disk space, then if it does manage
-            // to write the header, we'll still have a useable file..
-            writeHeader();
-            writeFailed = true;
-            return false;
-        } else {
-            bytesWritten += bytes;
-            lengthInSamples += numSamples;
-            return true;
-        }
-    }
-
     juce_UseDebuggingNewOperator
 };
 
--- juce_AudioFormatWriter.h	2009-08-31 16:51:10.000000000 -0700
+++ /Users/stp/Code/juce1.50-orig/src/juce_appframework/audio/audio_file_formats/juce_AudioFormatWriter.h	2009-08-17 17:45:24.000000000 -0700
@@ -105,17 +105,6 @@
     virtual bool write (const int** samplesToWrite,
                         int numSamples) = 0;
 						
-	// Support for floating-point samples added by STP, July 2009
-   /** Writes a set of samples to the audio stream.
-
-        Note that if you're trying to write the contents of an AudioSampleBuffer, you
-        can use AudioSampleBuffer::writeToAudioWriter().
-
-        @param samplesToWrite   an array of arrays containing the floating-point sample data
-	*/
-    virtual bool write (SampleBufferArray samplesToWrite,
-                        int numSamples) = 0;
-
     //==============================================================================
     /** Reads a section of samples from an AudioFormatReader, and writes these to
         the output.
--- juce_QuickTimeAudioFormat.cpp	2009-08-31 16:51:10.000000000 -0700
+++ /Users/stp/Code/juce1.50-orig/src/juce_appframework/audio/audio_file_formats/juce_QuickTimeAudioFormat.cpp	2009-08-17 17:45:24.000000000 -0700
@@ -269,31 +269,6 @@
         return true;
     }
 	
-// Support for floating-point samples added by STP, July 2009
-
-    bool readSamples (SampleBufferArray destSamples, int numDestChannels, int startOffsetInDestBuffer,
-                      int64 startSampleInFile, int numSamples) {
-        checkThreadIsAttached();
-        while (numSamples > 0) {
-            if (! loadFrame ((int) startSampleInFile))
-                return false;
-            const int numToDo = jmin (numSamples, samplesPerFrame);
-			sample sampScale = 1.0 / 32768.0;
-            for (int j = numDestChannels; --j >= 0;) {
-                if (destSamples[j] != 0) {
-                    const short* const src = ((const short*) bufferList->mBuffers[0].mData) + j;
-                    for (int i = 0; i < numToDo; ++i)
-                        destSamples[j][startOffsetInDestBuffer + i] = src [i << 1] * sampScale;
-                }
-            }
-            startOffsetInDestBuffer += numToDo;
-            startSampleInFile += numToDo;
-            numSamples -= numToDo;
-        }
-        detachThread();
-        return true;
-    }
-
     bool loadFrame (const int sampleNum)
     {
         if (lastSampleRead != sampleNum)
--- juce_AudioCDReader.cpp	2009-08-31 16:51:10.000000000 -0700
+++ /Users/stp/Code/juce1.50-orig/src/juce_appframework/audio/audio_file_formats/juce_AudioCDReader.cpp	2009-08-17 17:45:24.000000000 -0700
@@ -206,48 +206,6 @@
     return true;
 }
 
-// STP added support for floating-point sample buffers
-
-bool AudioCDReader::readSamples(SampleBufferArray destSamples, int numDestChannels, int startOffsetInDestBuffer,
-                                 int64 startSampleInFile, int numSamples) {
-    while (numSamples > 0) {
-        int track = -1;
-        for (int i = 0; i < trackStartSamples.size() - 1; ++i) {
-            if (startSampleInFile < trackStartSamples.getUnchecked (i + 1)) {
-                track = i;
-                break;
-            }
-        }
-        if (track < 0)
-            return false;
-        if (track != currentReaderTrack) {
-            deleteAndZero (reader);
-            if (tracks [track] != 0) {
-                FileInputStream* const in = tracks [track]->createInputStream();
-
-                if (in != 0) {
-                    BufferedInputStream* const bin = new BufferedInputStream (in, 65536, true);
-                    AiffAudioFormat format;
-                    reader = format.createReaderFor (bin, true);
-                    if (reader == 0)
-                        currentReaderTrack = -1;
-                    else
-                        currentReaderTrack = track;
-                }
-            }
-        }
-        if (reader == 0)
-            return false;
-		int64 startPos = (int) (startSampleInFile - trackStartSamples.getUnchecked (track));
-		int numAvailable = (int) jmin ((int64) numSamples, reader->lengthInSamples - startPos);
-        reader->readSamples(destSamples, numDestChannels, startOffsetInDestBuffer, startPos, numAvailable);
-
-        numSamples -= numAvailable;
-        startSampleInFile += numAvailable;
-    }
-    return true;
-}
-
 bool AudioCDReader::isCDStillPresent() const
 {
     return volumeDir.exists();
--- juce_AudioCDReader.h	2009-08-31 16:51:10.000000000 -0700
+++ /Users/stp/Code/juce1.50-orig/src/juce_appframework/audio/audio_file_formats/juce_AudioCDReader.h	2009-08-17 17:45:24.000000000 -0700
@@ -79,11 +79,6 @@
     bool readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,
                       int64 startSampleInFile, int numSamples);
 
-	// STP additions: F-P IO
-
-    bool readSamples (SampleBufferArray destSamples, int numDestChannels, int startOffsetInDestBuffer,
-                      int64 startSampleInFile, int numSamples);
-
     /** Checks whether the CD has been removed from the drive.
     */
     bool isCDStillPresent() const;
