A UserDataAudio is a way for the user to manually supply raw audio samples. More...
#include "userDataAudio.h"
Public Member Functions | |
UserDataAudio (int rate, int channels, bool remove_after_read=true) | |
This constructor returns a UserDataAudio — a means to supply raw audio samples manually. More... | |
void | append (int16_t *data, int n) |
Appends audio samples to the buffer. More... | |
void | append (DatagramIterator *src, int len=0x40000000) |
Appends audio samples to the buffer from a datagram. More... | |
void | append (const std::string &str) |
Appends audio samples to the buffer from a string. More... | |
void | done () |
Promises not to append any more samples, ie, this marks the end of the audio stream. More... | |
virtual TypeHandle | force_init_type () |
virtual TypeHandle | get_type () const |
virtual | PT (MovieAudioCursor) open() |
Public Member Functions inherited from MovieAudio | |
MovieAudio (const std::string &name="Blank Audio") | |
This constructor returns a null audio stream — a stream of total silence, at 8000 samples per second. More... | |
const Filename & | get_filename () const |
Public Member Functions inherited from TypedWritableReferenceCount | |
TypedWritableReferenceCount (const TypedWritableReferenceCount ©) | |
virtual ReferenceCount * | as_reference_count () |
Returns the pointer cast to a ReferenceCount pointer, if it is in fact of that type. More... | |
void | operator= (const TypedWritableReferenceCount ©) |
Public Member Functions inherited from TypedWritable | |
TypedWritable (const TypedWritable ©) | |
virtual int | complete_pointers (TypedWritable **p_list, BamReader *manager) |
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin(). More... | |
vector_uchar | encode_to_bam_stream () const |
Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. More... | |
bool | encode_to_bam_stream (vector_uchar &data, BamWriter *writer=nullptr) const |
Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. More... | |
virtual void | fillin (DatagramIterator &scan, BamReader *manager) |
This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. More... | |
virtual void | finalize (BamReader *manager) |
Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed. More... | |
UpdateSeq | get_bam_modified () const |
Returns the current bam_modified counter. More... | |
void | mark_bam_modified () |
Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. More... | |
void | operator= (const TypedWritable ©) |
virtual bool | require_fully_complete () const |
Some objects require all of their nested pointers to have been completed before the objects themselves can be completed. More... | |
virtual void | update_bam_nested (BamWriter *manager) |
Called by the BamWriter when this object has not itself been modified recently, but it should check its nested objects for updates. More... | |
virtual void | write_datagram (BamWriter *manager, Datagram &dg) |
Writes the contents of this object to the datagram for shipping out to a Bam file. More... | |
Public Member Functions inherited from TypedObject | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
int | get_best_parent_from_Set (const std::set< int > &) const |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. More... | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. More... | |
TypedObject & | operator= (const TypedObject ©)=default |
Public Member Functions inherited from ReferenceCount | |
int | get_ref_count () const |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. More... | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More... | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More... | |
void | ref () const |
Explicitly increments the reference count. More... | |
bool | ref_if_nonzero () const |
Atomically increases the reference count of this object if it is not zero. More... | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
virtual bool | unref () const |
Explicitly decrements the reference count. More... | |
WeakReferenceList * | weak_ref () |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref () |
Removes the indicated PointerToVoid as a weak reference to this object. More... | |
Public Member Functions inherited from Namable | |
Namable (const std::string &initial_name="") | |
void | clear_name () |
Resets the Namable's name to empty. More... | |
const std::string & | get_name () const |
bool | has_name () const |
Returns true if the Namable has a nonempty name set, false if the name is empty. More... | |
void | output (std::ostream &out) const |
Outputs the Namable. More... | |
void | set_name (const std::string &name) |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from MovieAudio | |
static TypeHandle | get_class_type () |
static void | init_type () |
static | PT (MovieAudio) get(const Filename &name) |
Static Public Member Functions inherited from TypedWritableReferenceCount | |
static TypeHandle | get_class_type () |
static void | init_type () |
static | PT (TypedWritableReferenceCount) decode_from_bam_stream(vector_uchar data |
Static Public Member Functions inherited from TypedWritable | |
static bool | decode_raw_from_bam_stream (TypedWritable *&ptr, ReferenceCount *&ref_ptr, vector_uchar data, BamReader *reader=nullptr) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts the single object on those bytes. More... | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from TypedObject | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. More... | |
Static Public Member Functions inherited from ReferenceCount | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from Namable | |
static TypeHandle | get_class_type () |
static void | init_type () |
Friends | |
class | UserDataAudioCursor |
Additional Inherited Members | |
Public Attributes inherited from MovieAudio | |
get_filename | |
Returns the movie's filename. More... | |
Public Attributes inherited from TypedWritableReferenceCount | |
static BamReader * | reader = nullptr) |
Public Attributes inherited from TypedObject | |
get_type | |
Public Attributes inherited from ReferenceCount | |
get_ref_count | |
Returns the current reference count. More... | |
Public Attributes inherited from Namable | |
get_name | |
set_name | |
Static Public Attributes inherited from TypedWritable | |
static TypedWritable *const | Null = nullptr |
A UserDataAudio is a way for the user to manually supply raw audio samples.
remove_after_read means the data will be removed if read once. Else data will be stored (enable looping and seeking). Expects data as 16 bit signed (word); Example for stereo: 1.word = 1.channel,2.word = 2.channel, 3.word = 1.channel,4.word = 2.channel, etc.
Definition at line 31 of file userDataAudio.h.
UserDataAudio::UserDataAudio | ( | int | rate, |
int | channels, | ||
bool | remove_after_read = true |
||
) |
This constructor returns a UserDataAudio — a means to supply raw audio samples manually.
Definition at line 24 of file userDataAudio.cxx.
void UserDataAudio::append | ( | int16_t * | data, |
int | n | ||
) |
Appends audio samples to the buffer.
Definition at line 81 of file userDataAudio.cxx.
void UserDataAudio::append | ( | DatagramIterator * | src, |
int | n = 0x40000000 |
||
) |
Appends audio samples to the buffer from a datagram.
This is intended to make it easy to send streaming raw audio over a network.
Definition at line 94 of file userDataAudio.cxx.
void UserDataAudio::append | ( | const std::string & | str | ) |
Appends audio samples to the buffer from a string.
The samples must be stored little-endian in the string. This is not particularly efficient, but it may be convenient to deal with samples in python.
Definition at line 110 of file userDataAudio.cxx.
void UserDataAudio::done | ( | ) |
Promises not to append any more samples, ie, this marks the end of the audio stream.
Definition at line 127 of file userDataAudio.cxx.