--- a/SoundStream.st Fri Dec 01 18:15:49 2000 +0100
+++ b/SoundStream.st Wed Dec 06 00:17:21 2000 +0100
@@ -266,6 +266,19 @@
!SoundStream class methodsFor:'instance creation'!
+readWrite
+ "create and return a new soundStream for readWrite (i.e. filtering)"
+
+ |newStream|
+ newStream := (self basicNew) initialize.
+ newStream openForReadWrite isNil ifTrue:[^nil].
+ newStream buffered:false.
+ newStream binary.
+ ^ newStream
+
+ "SoundStream readWrite"
+!
+
reading
"create and return a new soundStream for reading (i.e. recording)"
@@ -2067,6 +2080,17 @@
^ super nextPutBytes:count from:anObject startingAt:start
!
+openForReadWrite
+ |rslt|
+
+ mode := #readWrite.
+ didWrite := false.
+ (rslt := self openWithMode:ReadWriteMode) notNil ifTrue:[
+ Lobby register:self
+ ].
+ ^ rslt
+!
+
openForReading
|rslt|
@@ -2382,6 +2406,15 @@
__INST(buffered) = false;
__INST(filePointer) = __MKOBJ(f);
__STORESELF(filePointer);
+
+ if (__mode == O_RDWR) {
+ int enable_bits = ~(PCM_ENABLE_OUTPUT|PCM_ENABLE_INPUT);
+
+ if (ioctl(__fd, SNDCTL_DSP_SETTRIGGER, &enable_bits) == -1)
+ {
+ fprintf(stderr, "can't request synchronous start of fullduplex operation");
+ }
+ }
RETURN (self);
}
}
@@ -2665,6 +2698,6 @@
!SoundStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic2/SoundStream.st,v 1.56 2000-11-24 23:41:57 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/SoundStream.st,v 1.57 2000-12-05 23:17:21 cg Exp $'
! !
SoundStream initialize!