Method and apparatus for providing multiple clients simultaneous access to a sound data stream
First Claim
1. A sound patchbay for providing a backbone to install programming data structures for processing a sound data stream comprising at least a first programming data structure, a second programming data structure and a third programming data structure and a plurality of patch points linked together by at least one buffer to form a list, each of said plurality of patch points being positioned in said list relative to said programming data structures for insertion of programming data structures, wherein said plurality of patch points includes at least:
- a first patch point for inserting programming data structures to preprocess said data stream, wherein said first patch point is positioned after said first programming data structure in said list;
second patch point for inserting programming data structures to record said data stream after any preprocessing of said data stream, wherein said second patch point is positioned after said first patch point but before said second programming data structure;
a third patch point for inserting programming data structures to play said data stream after any recording of said data stream, wherein said third patch point is positioned after said second structure; and
a fourth patch point for inserting programming data structures to postprocess said data stream after any playing of said data stream, wherein said fourth patch point is positioned after said third patch point but before said third programming data structure,wherein inserted programming data structures at one of said plurality of patch points access and operate on said data stream yet are transparent to, inserted programming structures at said plurality of patch points other than said one of said plurality of patch points, such that inserted programming data structures at said one of said plurality of patch points affect said data stream simultaneously without affecting accesses of inserted programming structures at said plurality of patch points other than said one of said plurality of patch points.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for providing multiple clients simultaneous access to a sound input/output (I/O) data stream. The present invention provides a method and apparatus for providing multiple programming data structures and multiple patch points in a list, in which each of the patch points are positioned relative to at least one of the programming data structures and is capable of receiving at least one programming data structure for insertion into the list to perform a function. The present invention also includes a method and apparatus for providing at least one buffer for inputting the data stream into and/or receiving the data stream output from each of inserted programming structures, such that each inserted structure can access and operate on the data stream. In this way, multiple clients can access and process the data stream transparently, without interfering with the operation of other clients, yet affecting the sound stream in the desired way.
56 Citations
15 Claims
-
1. A sound patchbay for providing a backbone to install programming data structures for processing a sound data stream comprising at least a first programming data structure, a second programming data structure and a third programming data structure and a plurality of patch points linked together by at least one buffer to form a list, each of said plurality of patch points being positioned in said list relative to said programming data structures for insertion of programming data structures, wherein said plurality of patch points includes at least:
-
a first patch point for inserting programming data structures to preprocess said data stream, wherein said first patch point is positioned after said first programming data structure in said list; second patch point for inserting programming data structures to record said data stream after any preprocessing of said data stream, wherein said second patch point is positioned after said first patch point but before said second programming data structure; a third patch point for inserting programming data structures to play said data stream after any recording of said data stream, wherein said third patch point is positioned after said second structure; and a fourth patch point for inserting programming data structures to postprocess said data stream after any playing of said data stream, wherein said fourth patch point is positioned after said third patch point but before said third programming data structure, wherein inserted programming data structures at one of said plurality of patch points access and operate on said data stream yet are transparent to, inserted programming structures at said plurality of patch points other than said one of said plurality of patch points, such that inserted programming data structures at said one of said plurality of patch points affect said data stream simultaneously without affecting accesses of inserted programming structures at said plurality of patch points other than said one of said plurality of patch points. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A sound patchbay for providing a backbone to install programming data structures for processing a sound data stream comprising at least first, second, third, fourth and fifth programming data structures and a plurality of patch points linked together by at least one buffer to form a list, each of said plurality of patch points being positioned in said list relative to said programming data structures for insertion of programming data structures, wherein said plurality of patch points includes at least:
-
a first patch point for inserting programming data structures to receive said data stream, wherein said first patch point is positioned after said first programming data structure; second patch point for inserting programming data structures to preprocess said data stream, wherein said second patch point is positioned after said first patch point and before said second programming data structure in said; a third patch point for inserting programming data structures to record said data stream after any preprocessing of said data stream, wherein said third patch point is positioned after said second programming data structure but before said third structure; a fourth patch point for inserting at least one programming data structures to play said data stream after any recording of said data stream, wherein said fourth patch point is positioned after said third programming data structure but before said fourth structure; a fifth patch point for inserting programming data structures to post-process said data stream after any playing of said data stream, wherein said fifth patch point is positioned after said fourth programming data structure but before said sixth patch point; and a sixth patch point for inserting programming data structures to receive said data stream, wherein said sixth patch point is positioned after said fifth patch point but before said fifth programming data structure, wherein inserted programming data structures at one of said plurality of patch points access and operate on said data stream yet are transparent to, inserted programming structures at said plurality of patch points other than said one of said plurality of patch points, such that inserted programming data structures at said one of said plurality of patch points affect said data stream simultaneously without affecting accesses of inserted programming structures at said plurality of patch points other than said one of said plurality of patch points. - View Dependent Claims (8, 9)
-
-
10. A method for providing a plurality of clients simultaneous access, to a sound input/output (I/O) data stream comprising the steps of:
-
operating on said data stream through a list having a plurality of programming data structures coupled with a plurality of patch points, wherein each of said plurality of patch points is located in said list relative to said plurality of programming data structures and is capable of receiving at least one programming data structure for insertion into said list, and further wherein each of said programming data structures performs a predetermined function; and buffering said data stream with at least one buffer, wherein said at least one buffer incurs said data stream into and receives said data stream output from each of said at least one programming data structure, wherein said at least one programming data structure accesses said data stream, wherein said data stream is input to and output from said at least one structure from and to said at least one buffer, and further wherein each of said plurality of clients accesses and operates on said data stream transparently to the said plurality of clients other than said each such that said plurality of clients simultaneously affects said data stream without affecting each other. - View Dependent Claims (11, 12)
-
-
13. A method for providing a plurality of clients simultaneous access to a sound data stream comprising the steps of:
-
providing a first plurality of programming data structures and a first plurality of patch points coupled to form a first list, wherein said first plurality of programming data structures operates at a first sample rate and wherein each of said first plurality of patch points is located in said first list relative to said first plurality of programming data structures and is capable of receiving at least one programming data structure for insertion into said first list, and further wherein each of said programming data structures performs a predetermined function; operating on said data stream through a list having a second plurality of programming data structures coupled with a second plurality of patch points, wherein said second plurality operates at a second sample rate and wherein each of said second plurality of patch points is located in said second list relative to said second plurality of programming data structures and is capable of receiving at least one programming data structure for insertion into said second list, and further wherein each of said programming data structures performs a predetermined function, and wherein said second sample rate is different than said first sample rate and said second list is coupled to said first list, such that said second list precedes said first list; and buffering said data stream with at least one buffer, wherein said a least one buffer transfers said data stream between the second plurality of programming data structures wherein the sample rate of said at least one buffer is converted from said second sample rate of said second plurality of programming data structure to said first sample rate of said first plurality of programming data structures, wherein each of said plurality of clients accesses and operates on said data stream transparently to the said plurality of clients other than said each client, such that said plurality of clients simultaneously affects said data stream without affecting each other. - View Dependent Claims (14, 15)
-
Specification