mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-26 05:02:31 -06:00
1940 lines
100 KiB
Text
1940 lines
100 KiB
Text
|
1412103400
|
||
|
2 2
|
||
|
11 libp3movies 4 Aas2 12 panda3d.core
|
||
|
83
|
||
|
88 37 upcast_to_TypedWritableReferenceCount 0 12 171 49 MovieVideo::upcast_to_TypedWritableReferenceCount 0 1 8 53
|
||
|
upcast from MovieVideo to TypedWritableReferenceCount
|
||
|
85
|
||
|
TypedWritableReferenceCount *MovieVideo::upcast_to_TypedWritableReferenceCount(void);
|
||
|
|
||
|
89 22 downcast_to_MovieVideo 0 12 172 51 TypedWritableReferenceCount::downcast_to_MovieVideo 0 1 9 55
|
||
|
downcast from TypedWritableReferenceCount to MovieVideo
|
||
|
70
|
||
|
MovieVideo *TypedWritableReferenceCount::downcast_to_MovieVideo(void);
|
||
|
|
||
|
90 17 upcast_to_Namable 0 12 171 29 MovieVideo::upcast_to_Namable 0 1 10 33
|
||
|
upcast from MovieVideo to Namable
|
||
|
45
|
||
|
Namable *MovieVideo::upcast_to_Namable(void);
|
||
|
|
||
|
91 22 downcast_to_MovieVideo 0 12 173 31 Namable::downcast_to_MovieVideo 0 1 11 35
|
||
|
downcast from Namable to MovieVideo
|
||
|
50
|
||
|
MovieVideo *Namable::downcast_to_MovieVideo(void);
|
||
|
|
||
|
92 10 MovieVideo 0 4 171 22 MovieVideo::MovieVideo 0 2 1 2 465
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a null video stream --- a
|
||
|
// stream of plain blue and white frames that last one
|
||
|
// second each. To get more interesting video, you need
|
||
|
// to construct a subclass of this class.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
75
|
||
|
MovieVideo::MovieVideo(basic_string< char > const &name = ("Blank Video"));
|
||
|
|
||
|
93 11 ~MovieVideo 0 6 171 23 MovieVideo::~MovieVideo 0 0 228
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::Destructor
|
||
|
// Access: Public, Virtual
|
||
|
// Description:
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
38
|
||
|
virtual MovieVideo::~MovieVideo(void);
|
||
|
|
||
|
94 4 open 0 6 171 16 MovieVideo::open 0 1 3 336
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this video, returning a MovieVideoCursor of the
|
||
|
// appropriate type. Returns NULL on error.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
61
|
||
|
virtual PointerTo< MovieVideoCursor > MovieVideo::open(void);
|
||
|
|
||
|
95 3 get 0 4 171 15 MovieVideo::get 0 1 4 328
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::get
|
||
|
// Access: Published, Static
|
||
|
// Description: Obtains a MovieVideo that references a file.
|
||
|
// Just calls MovieTypeRegistry::make_video().
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
69
|
||
|
static PointerTo< MovieVideo > MovieVideo::get(Filename const &name);
|
||
|
|
||
|
96 12 get_filename 0 4 171 24 MovieVideo::get_filename 0 1 5 874
|
||
|
// Filename: movieVideo.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::get_filename
|
||
|
// Access: Published
|
||
|
// Description: Returns the movie's filename. A movie is not
|
||
|
// guaranteed to have a filename, if not, then this
|
||
|
// function returns an empty filename.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
60
|
||
|
inline Filename const &MovieVideo::get_filename(void) const;
|
||
|
|
||
|
97 16 get_subfile_info 0 4 171 28 MovieVideo::get_subfile_info 0 1 6 398
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::get_subfile_info
|
||
|
// Access: Published
|
||
|
// Description: If the movie is to be loaded from a subfile on disk,
|
||
|
// this returns the subfile info. Check info.is_empty()
|
||
|
// to see if this is valid data.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
67
|
||
|
inline SubfileInfo const &MovieVideo::get_subfile_info(void) const;
|
||
|
|
||
|
98 14 get_class_type 0 4 171 26 MovieVideo::get_class_type 0 1 7 0
|
||
|
51
|
||
|
static TypeHandle MovieVideo::get_class_type(void);
|
||
|
|
||
|
99 12 InkblotVideo 0 4 174 26 InkblotVideo::InkblotVideo 0 1 12 225
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: InkblotVideo::Constructor
|
||
|
// Access: Public
|
||
|
// Description: xxx
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
50
|
||
|
InkblotVideo::InkblotVideo(int x, int y, int fps);
|
||
|
|
||
|
100 14 get_class_type 0 4 174 28 InkblotVideo::get_class_type 0 1 13 0
|
||
|
53
|
||
|
static TypeHandle InkblotVideo::get_class_type(void);
|
||
|
|
||
|
101 10 get_source 0 4 175 28 MovieVideoCursor::get_source 0 1 14 768
|
||
|
// Filename: movieVideoCursor.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::get_source
|
||
|
// Access: Published
|
||
|
// Description: Get the MovieVideo which this cursor references.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
65
|
||
|
PointerTo< MovieVideo > MovieVideoCursor::get_source(void) const;
|
||
|
|
||
|
102 6 size_x 0 4 175 24 MovieVideoCursor::size_x 0 1 15 261
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::size_x
|
||
|
// Access: Published
|
||
|
// Description: Get the horizontal size of the movie.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
48
|
||
|
inline int MovieVideoCursor::size_x(void) const;
|
||
|
|
||
|
103 6 size_y 0 4 175 24 MovieVideoCursor::size_y 0 1 16 259
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::size_y
|
||
|
// Access: Published
|
||
|
// Description: Get the vertical size of the movie.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
48
|
||
|
inline int MovieVideoCursor::size_y(void) const;
|
||
|
|
||
|
104 18 get_num_components 0 4 175 36 MovieVideoCursor::get_num_components 0 1 17 310
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::get_num_components
|
||
|
// Access: Published
|
||
|
// Description: Returns 4 if the movie has an alpha
|
||
|
// channel, 3 otherwise.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
60
|
||
|
inline int MovieVideoCursor::get_num_components(void) const;
|
||
|
|
||
|
105 6 length 0 4 175 24 MovieVideoCursor::length 0 1 18 1709
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::length
|
||
|
// Access: Published
|
||
|
// Description: Returns the length of the movie.
|
||
|
//
|
||
|
// Some kinds of Movie, such as internet TV station,
|
||
|
// might not have a predictable length. In that case,
|
||
|
// the length will be set to a very large number: 1.0E10.
|
||
|
// If the internet TV station goes offline, the video
|
||
|
// or audio stream will set its abort flag. Reaching the
|
||
|
// end of the movie (ie, the specified length) normally
|
||
|
// does not cause the abort flag to be set.
|
||
|
//
|
||
|
// The video and audio streams produced by get_video and
|
||
|
// get_audio are always of unlimited duration - you can
|
||
|
// always read another video frame or another audio
|
||
|
// sample. This is true even if the specified length
|
||
|
// is reached, or an abort is flagged. If either stream
|
||
|
// runs out of data, it will synthesize blank video
|
||
|
// frames and silent audio samples as necessary to
|
||
|
// satisfy read requests.
|
||
|
//
|
||
|
// Some AVI files have incorrect length values encoded
|
||
|
// into them - usually, they're a second or two long or
|
||
|
// short. When playing such an AVI using the Movie class,
|
||
|
// you may see a slightly truncated video, or a slightly
|
||
|
// elongated video (padded with black frames). There are
|
||
|
// utilities out there to fix the length values in AVI
|
||
|
// files.
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
51
|
||
|
inline double MovieVideoCursor::length(void) const;
|
||
|
|
||
|
106 8 can_seek 0 4 175 26 MovieVideoCursor::can_seek 0 1 19 748
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::can_seek
|
||
|
// Access: Published
|
||
|
// Description: Returns true if the movie can seek. If this is
|
||
|
// true, seeking is still not guaranteed to be fast:
|
||
|
// for some movies, seeking is implemented by rewinding
|
||
|
// to the beginning and then fast-forwarding to the
|
||
|
// desired location. Even if the movie cannot seek,
|
||
|
// the fetch methods can still advance to an arbitrary
|
||
|
// location by reading frames and discarding them.
|
||
|
// However, to move backward, can_seek must return true.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
51
|
||
|
inline bool MovieVideoCursor::can_seek(void) const;
|
||
|
|
||
|
107 13 can_seek_fast 0 4 175 31 MovieVideoCursor::can_seek_fast 0 1 20 281
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::can_seek_fast
|
||
|
// Access: Published
|
||
|
// Description: Returns true if seek operations are constant time.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
56
|
||
|
inline bool MovieVideoCursor::can_seek_fast(void) const;
|
||
|
|
||
|
108 7 aborted 0 4 175 25 MovieVideoCursor::aborted 0 1 21 531
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::aborted
|
||
|
// Access: Published
|
||
|
// Description: Returns true if the video has aborted prematurely.
|
||
|
// For example, this could occur if the Movie was actually
|
||
|
// an internet TV station, and the connection was lost.
|
||
|
// Reaching the normal end of the video does not
|
||
|
// constitute an 'abort' condition.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
50
|
||
|
inline bool MovieVideoCursor::aborted(void) const;
|
||
|
|
||
|
109 5 ready 0 4 175 23 MovieVideoCursor::ready 0 1 22 399
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::ready
|
||
|
// Access: Published
|
||
|
// Description: Returns true if the cursor is a streaming source, and
|
||
|
// if a video frame is ready to be read. For non-
|
||
|
// streaming sources, this is always false.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
48
|
||
|
inline bool MovieVideoCursor::ready(void) const;
|
||
|
|
||
|
110 9 streaming 0 4 175 27 MovieVideoCursor::streaming 0 1 23 894
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::streaming
|
||
|
// Access: Published
|
||
|
// Description: Returns true if the video frames are being "pushed"
|
||
|
// at us by something that operates at its own speed -
|
||
|
// for example, a webcam. In this case, the frames come
|
||
|
// when they're ready to come. Attempting to read too
|
||
|
// soon will produce nothing, reading too late will cause
|
||
|
// frames to be dropped. In this case, the ready flag
|
||
|
// can be used to determine whether or not a frame is
|
||
|
// ready for reading.
|
||
|
//
|
||
|
// When streaming, you should still pay attention to
|
||
|
// last_start, but the value of next_start is only a
|
||
|
// guess.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
52
|
||
|
inline bool MovieVideoCursor::streaming(void) const;
|
||
|
|
||
|
111 13 setup_texture 0 4 175 31 MovieVideoCursor::setup_texture 0 1 24 382
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::setup_texture
|
||
|
// Access: Published
|
||
|
// Description: Set up the specified Texture object to contain
|
||
|
// content from this movie. This should be called
|
||
|
// once, not every frame.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
57
|
||
|
void MovieVideoCursor::setup_texture(Texture *tex) const;
|
||
|
|
||
|
112 8 set_time 0 6 175 26 MovieVideoCursor::set_time 0 1 25 1330
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::set_time
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Updates the cursor to the indicated time. If
|
||
|
// loop_count >= 1, the time is clamped to the movie's
|
||
|
// length * loop_count. If loop_count <= 0, the time is
|
||
|
// understood to be modulo the movie's length.
|
||
|
//
|
||
|
// Returns true if a new frame is now available, false
|
||
|
// otherwise. If this returns true, you should
|
||
|
// immediately follow this with exactly *one* call to
|
||
|
// fetch_buffer().
|
||
|
//
|
||
|
// If the movie reports that it can_seek, you may also
|
||
|
// specify a time value less than the previous value you
|
||
|
// passed to set_time(). Otherwise, you may only
|
||
|
// specify a time value greater than or equal to
|
||
|
// the previous value.
|
||
|
//
|
||
|
// If the movie reports that it can_seek, it doesn't
|
||
|
// mean that it can do so quickly. It may have to
|
||
|
// rewind the movie and then fast forward to the
|
||
|
// desired location. Only if can_seek_fast returns
|
||
|
// true can it seek rapidly.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
74
|
||
|
virtual bool MovieVideoCursor::set_time(double timestamp, int loop_count);
|
||
|
|
||
|
113 17 compare_timestamp 0 6 176 43 MovieVideoCursor::Buffer::compare_timestamp 0 1 31 666
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::Buffer::compare_timestamp
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Used to sort different buffers to ensure they
|
||
|
// correspond to the same source frame, particularly
|
||
|
// important when synchronizing the different pages of a
|
||
|
// multi-page texture.
|
||
|
//
|
||
|
// Returns 0 if the two buffers are of the same frame,
|
||
|
// <0 if this one comes earlier than the other one, and
|
||
|
// >0 if the other one comes earlier.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
101
|
||
|
virtual int MovieVideoCursor::Buffer::compare_timestamp(MovieVideoCursor::Buffer const *other) const;
|
||
|
|
||
|
114 13 get_timestamp 0 6 176 39 MovieVideoCursor::Buffer::get_timestamp 0 1 32 535
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::Buffer::get_timestamp
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Returns the nearest timestamp value of this
|
||
|
// particular buffer. Ideally,
|
||
|
// MovieVideoCursor::set_time() for this timestamp would
|
||
|
// return this buffer again. This need be defined only
|
||
|
// if compare_timestamp() is also defined.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
67
|
||
|
virtual double MovieVideoCursor::Buffer::get_timestamp(void) const;
|
||
|
|
||
|
115 14 get_class_type 0 4 176 40 MovieVideoCursor::Buffer::get_class_type 0 1 33 0
|
||
|
65
|
||
|
static TypeHandle MovieVideoCursor::Buffer::get_class_type(void);
|
||
|
|
||
|
116 12 fetch_buffer 0 6 175 30 MovieVideoCursor::fetch_buffer 0 1 26 649
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::fetch_buffer
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Gets the current video frame (as specified by
|
||
|
// set_time()) from the movie and returns it in a
|
||
|
// pre-allocated buffer. You may simply let the buffer
|
||
|
// dereference and delete itself when you are done with
|
||
|
// it.
|
||
|
//
|
||
|
// This may return NULL (even if set_time() returned
|
||
|
// true) if the frame is not available for some reason.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
83
|
||
|
virtual PointerTo< MovieVideoCursor::Buffer > MovieVideoCursor::fetch_buffer(void);
|
||
|
|
||
|
117 16 apply_to_texture 0 6 175 34 MovieVideoCursor::apply_to_texture 0 1 27 298
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::apply_to_texture
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Stores this buffer's contents in the indicated texture.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
110
|
||
|
virtual void MovieVideoCursor::apply_to_texture(MovieVideoCursor::Buffer const *buffer, Texture *t, int page);
|
||
|
|
||
|
118 20 apply_to_texture_rgb 0 6 175 38 MovieVideoCursor::apply_to_texture_rgb 0 1 28 407
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::apply_to_texture_rgb
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Copies this buffer's contents into the RGB channels
|
||
|
// of the supplied texture. The alpha channel of the
|
||
|
// texture is not touched.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
114
|
||
|
virtual void MovieVideoCursor::apply_to_texture_rgb(MovieVideoCursor::Buffer const *buffer, Texture *t, int page);
|
||
|
|
||
|
119 22 apply_to_texture_alpha 0 6 175 40 MovieVideoCursor::apply_to_texture_alpha 0 1 29 410
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::apply_to_texture_alpha
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Copies this buffer's contents into the alpha channel
|
||
|
// of the supplied texture. The RGB channels of the
|
||
|
// texture are not touched.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
131
|
||
|
virtual void MovieVideoCursor::apply_to_texture_alpha(MovieVideoCursor::Buffer const *buffer, Texture *t, int page, int alpha_src);
|
||
|
|
||
|
120 14 get_class_type 0 4 175 32 MovieVideoCursor::get_class_type 0 1 30 0
|
||
|
57
|
||
|
static TypeHandle MovieVideoCursor::get_class_type(void);
|
||
|
|
||
|
121 18 InkblotVideoCursor 0 4 178 38 InkblotVideoCursor::InkblotVideoCursor 0 1 34 231
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: InkblotVideoCursor::Constructor
|
||
|
// Access: Public
|
||
|
// Description: xxx
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
58
|
||
|
InkblotVideoCursor::InkblotVideoCursor(InkblotVideo *src);
|
||
|
|
||
|
122 14 get_class_type 0 4 178 34 InkblotVideoCursor::get_class_type 0 1 35 0
|
||
|
59
|
||
|
static TypeHandle InkblotVideoCursor::get_class_type(void);
|
||
|
|
||
|
123 37 upcast_to_TypedWritableReferenceCount 0 12 179 49 MovieAudio::upcast_to_TypedWritableReferenceCount 0 1 42 53
|
||
|
upcast from MovieAudio to TypedWritableReferenceCount
|
||
|
85
|
||
|
TypedWritableReferenceCount *MovieAudio::upcast_to_TypedWritableReferenceCount(void);
|
||
|
|
||
|
124 22 downcast_to_MovieAudio 0 12 172 51 TypedWritableReferenceCount::downcast_to_MovieAudio 0 1 43 55
|
||
|
downcast from TypedWritableReferenceCount to MovieAudio
|
||
|
70
|
||
|
MovieAudio *TypedWritableReferenceCount::downcast_to_MovieAudio(void);
|
||
|
|
||
|
125 17 upcast_to_Namable 0 12 179 29 MovieAudio::upcast_to_Namable 0 1 44 33
|
||
|
upcast from MovieAudio to Namable
|
||
|
45
|
||
|
Namable *MovieAudio::upcast_to_Namable(void);
|
||
|
|
||
|
126 22 downcast_to_MovieAudio 0 12 173 31 Namable::downcast_to_MovieAudio 0 1 45 35
|
||
|
downcast from Namable to MovieAudio
|
||
|
50
|
||
|
MovieAudio *Namable::downcast_to_MovieAudio(void);
|
||
|
|
||
|
127 10 MovieAudio 0 4 179 22 MovieAudio::MovieAudio 0 2 36 37 453
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a null audio stream --- a
|
||
|
// stream of total silence, at 8000 samples per second.
|
||
|
// To get more interesting audio, you need to construct
|
||
|
// a subclass of this class.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
75
|
||
|
MovieAudio::MovieAudio(basic_string< char > const &name = ("Blank Audio"));
|
||
|
|
||
|
128 11 ~MovieAudio 0 6 179 23 MovieAudio::~MovieAudio 0 0 228
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::Destructor
|
||
|
// Access: Public, Virtual
|
||
|
// Description:
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
38
|
||
|
virtual MovieAudio::~MovieAudio(void);
|
||
|
|
||
|
129 4 open 0 6 179 16 MovieAudio::open 0 1 38 270
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this audio, returning a MovieAudioCursor
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
61
|
||
|
virtual PointerTo< MovieAudioCursor > MovieAudio::open(void);
|
||
|
|
||
|
130 3 get 0 4 179 15 MovieAudio::get 0 1 39 328
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::get
|
||
|
// Access: Published, Static
|
||
|
// Description: Obtains a MovieAudio that references a file.
|
||
|
// Just calls MovieTypeRegistry::make_audio().
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
69
|
||
|
static PointerTo< MovieAudio > MovieAudio::get(Filename const &name);
|
||
|
|
||
|
131 12 get_filename 0 4 179 24 MovieAudio::get_filename 0 1 40 872
|
||
|
// Filename: movieAudio.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::get_filename
|
||
|
// Access: Published
|
||
|
// Description: Returns the movie's filename. A movie is not
|
||
|
// guaranteed to have a filename, if not, then this
|
||
|
// function returns a null filename.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
60
|
||
|
inline Filename const &MovieAudio::get_filename(void) const;
|
||
|
|
||
|
132 14 get_class_type 0 4 179 26 MovieAudio::get_class_type 0 1 41 0
|
||
|
51
|
||
|
static TypeHandle MovieAudio::get_class_type(void);
|
||
|
|
||
|
133 15 get_num_options 0 4 180 32 MicrophoneAudio::get_num_options 0 1 46 481
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MicrophoneAudio::get_num_options
|
||
|
// Access: Public
|
||
|
// Description: Returns the number of microphone options. An "option"
|
||
|
// consists of a device plus a set of configuration
|
||
|
// parameters. For example, "Soundblaster Audigy Line in
|
||
|
// at 44,100 samples/sec" would be an option.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
50
|
||
|
static int MicrophoneAudio::get_num_options(void);
|
||
|
|
||
|
134 10 get_option 0 4 180 27 MicrophoneAudio::get_option 0 1 47 258
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MicrophoneAudio::get_option
|
||
|
// Access: Public
|
||
|
// Description: Returns the nth microphone option.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
71
|
||
|
static PointerTo< MicrophoneAudio > MicrophoneAudio::get_option(int n);
|
||
|
|
||
|
135 12 get_channels 0 4 180 29 MicrophoneAudio::get_channels 0 1 48 751
|
||
|
// Filename: microphoneAudio.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MicrophoneAudio::get_channels
|
||
|
// Access: Published
|
||
|
// Description: Returns the number of channels.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
53
|
||
|
inline int MicrophoneAudio::get_channels(void) const;
|
||
|
|
||
|
136 8 get_rate 0 4 180 25 MicrophoneAudio::get_rate 0 1 49 249
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MicrophoneAudio::get_rate
|
||
|
// Access: Published
|
||
|
// Description: Returns the sample rate.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
49
|
||
|
inline int MicrophoneAudio::get_rate(void) const;
|
||
|
|
||
|
137 14 get_class_type 0 4 180 31 MicrophoneAudio::get_class_type 0 1 50 0
|
||
|
56
|
||
|
static TypeHandle MicrophoneAudio::get_class_type(void);
|
||
|
|
||
|
138 16 MovieAudioCursor 0 4 181 34 MovieAudioCursor::MovieAudioCursor 0 1 51 459
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a null audio stream --- a
|
||
|
// stream of total silence, at 8000 samples per second.
|
||
|
// To get more interesting audio, you need to construct
|
||
|
// a subclass of this class.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
52
|
||
|
MovieAudioCursor::MovieAudioCursor(MovieAudio *src);
|
||
|
|
||
|
139 10 get_source 0 4 181 28 MovieAudioCursor::get_source 0 1 52 769
|
||
|
// Filename: movieAudioCursor.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::get_source
|
||
|
// Access: Public
|
||
|
// Description: Returns the MovieAudio which this cursor references.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
72
|
||
|
inline PointerTo< MovieAudio > MovieAudioCursor::get_source(void) const;
|
||
|
|
||
|
140 10 audio_rate 0 4 181 28 MovieAudioCursor::audio_rate 0 1 53 255
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::audio_rate
|
||
|
// Access: Public
|
||
|
// Description: Returns the audio sample rate.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
52
|
||
|
inline int MovieAudioCursor::audio_rate(void) const;
|
||
|
|
||
|
141 14 audio_channels 0 4 181 32 MovieAudioCursor::audio_channels 0 1 54 318
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::audio_channels
|
||
|
// Access: Public
|
||
|
// Description: Returns the number of audio channels (ie, two for
|
||
|
// stereo, one for mono).
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
56
|
||
|
inline int MovieAudioCursor::audio_channels(void) const;
|
||
|
|
||
|
142 6 length 0 4 181 24 MovieAudioCursor::length 0 1 55 1159
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::length
|
||
|
// Access: Public
|
||
|
// Description: Returns the length of the movie. Attempting to read
|
||
|
// audio samples beyond the specified length will produce
|
||
|
// silent samples.
|
||
|
//
|
||
|
// Some kinds of Movie, such as internet TV station,
|
||
|
// might not have a predictable length. In that case,
|
||
|
// the length will be set to a very large number: 1.0E10.
|
||
|
//
|
||
|
// Some AVI files have incorrect length values encoded
|
||
|
// into them - they may be a second or two long or
|
||
|
// short. When playing such an AVI using the Movie class,
|
||
|
// you may see a slightly truncated video, or a slightly
|
||
|
// elongated video (padded with black frames). There are
|
||
|
// utilities out there to fix the length values in AVI
|
||
|
// files.
|
||
|
//
|
||
|
// An audio consumer needs to check the length, the
|
||
|
// ready status, and the aborted flag.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
51
|
||
|
inline double MovieAudioCursor::length(void) const;
|
||
|
|
||
|
143 8 can_seek 0 4 181 26 MovieAudioCursor::can_seek 0 1 56 744
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::can_seek
|
||
|
// Access: Public
|
||
|
// Description: Returns true if the movie can seek. If this is
|
||
|
// true, seeking is still not guaranteed to be fast:
|
||
|
// for some movies, seeking is implemented by rewinding
|
||
|
// to the beginning and then fast-forwarding to the
|
||
|
// desired location. Even if the movie cannot seek,
|
||
|
// the seek method can still advance to an arbitrary
|
||
|
// location by reading samples and discarding them.
|
||
|
// However, to move backward, can_seek must return true.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
51
|
||
|
inline bool MovieAudioCursor::can_seek(void) const;
|
||
|
|
||
|
144 13 can_seek_fast 0 4 181 31 MovieAudioCursor::can_seek_fast 0 1 57 278
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::can_seek_fast
|
||
|
// Access: Public
|
||
|
// Description: Returns true if seek operations are constant time.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
56
|
||
|
inline bool MovieAudioCursor::can_seek_fast(void) const;
|
||
|
|
||
|
145 4 tell 0 4 181 22 MovieAudioCursor::tell 0 1 58 262
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::tell
|
||
|
// Access: Public
|
||
|
// Description: Returns the current offset within the file.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
49
|
||
|
inline double MovieAudioCursor::tell(void) const;
|
||
|
|
||
|
146 12 skip_samples 0 4 181 30 MovieAudioCursor::skip_samples 0 1 59 322
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::skip_samples
|
||
|
// Access: Published
|
||
|
// Description: Skip audio samples from the stream. This is mostly
|
||
|
// for debugging purposes.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
50
|
||
|
inline void MovieAudioCursor::skip_samples(int n);
|
||
|
|
||
|
147 7 aborted 0 4 181 25 MovieAudioCursor::aborted 0 1 60 380
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::aborted
|
||
|
// Access: Public
|
||
|
// Description: If aborted is true, it means that the "ready" samples
|
||
|
// are not being replenished. See the method "ready"
|
||
|
// for an explanation.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
50
|
||
|
inline bool MovieAudioCursor::aborted(void) const;
|
||
|
|
||
|
148 5 ready 0 6 181 23 MovieAudioCursor::ready 0 1 61 1643
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::ready
|
||
|
// Access: Public
|
||
|
// Description: Returns the number of audio samples that are ready
|
||
|
// to read. This is primarily relevant for sources like
|
||
|
// microphones which produce samples at a fixed rate.
|
||
|
// If you try to read more samples than are ready, the
|
||
|
// result will be silent samples.
|
||
|
//
|
||
|
// Some audio streams do not have a limit on how fast
|
||
|
// they can produce samples. Such streams will always
|
||
|
// return 0x40000000 as the ready-count. This may well
|
||
|
// exceed the length of the audio stream. You therefore
|
||
|
// need to check length separately.
|
||
|
//
|
||
|
// If the aborted flag is set, that means the ready count
|
||
|
// is no longer being replenished. For example, a
|
||
|
// MovieAudioCursor might be reading from an internet
|
||
|
// radio station, and it might buffer data to avoid
|
||
|
// underruns. If it loses connection to the radio
|
||
|
// station, it will set the aborted flag to indicate that
|
||
|
// the buffer is no longer being replenished. But it is
|
||
|
// still ok to read the samples that are in the buffer,
|
||
|
// at least until they run out. Once those are gone,
|
||
|
// there will be no more.
|
||
|
//
|
||
|
// An audio consumer needs to check the length, the
|
||
|
// ready status, and the aborted flag.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
48
|
||
|
virtual int MovieAudioCursor::ready(void) const;
|
||
|
|
||
|
149 4 seek 0 6 181 22 MovieAudioCursor::seek 0 1 62 1171
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::seek
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Skips to the specified offset within the file.
|
||
|
//
|
||
|
// If the movie reports that it cannot seek, then
|
||
|
// this method can still advance by reading samples
|
||
|
// and discarding them. However, to move backward,
|
||
|
// can_seek must be true.
|
||
|
//
|
||
|
// If the movie reports that it can_seek, it doesn't
|
||
|
// mean that it can do so quickly. It may have to
|
||
|
// rewind the movie and then fast forward to the
|
||
|
// desired location. Only if can_seek_fast returns
|
||
|
// true can seek operations be done in constant time.
|
||
|
//
|
||
|
// Seeking may not be precise, because AVI files
|
||
|
// often have inaccurate indices. After
|
||
|
// seeking, tell will indicate that the cursor is
|
||
|
// at the target location. However, in truth, the data
|
||
|
// you read may come from a slightly offset location.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
51
|
||
|
virtual void MovieAudioCursor::seek(double offset);
|
||
|
|
||
|
150 12 read_samples 0 4 181 30 MovieAudioCursor::read_samples 0 2 63 64 1642
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::read_samples
|
||
|
// Access: Public, Virtual
|
||
|
// Description: Read audio samples from the stream. N is the
|
||
|
// number of samples you wish to read. Your buffer
|
||
|
// must be equal in size to N * channels.
|
||
|
// Multiple-channel audio will be interleaved.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::read_samples
|
||
|
// Access: Published
|
||
|
// Description: Read audio samples from the stream into a
|
||
|
// Datagram. N is the number of samples you wish
|
||
|
// to read. Multiple-channel audio will be interleaved.
|
||
|
//
|
||
|
// This is not particularly efficient, but it may be
|
||
|
// a convenient way to manipulate samples in python.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::read_samples
|
||
|
// Access: Published
|
||
|
// Description: Read audio samples from the stream and returns
|
||
|
// them as a string. The samples are stored little-endian
|
||
|
// in the string. N is the number of samples you wish
|
||
|
// to read. Multiple-channel audio will be interleaved.
|
||
|
//
|
||
|
// This is not particularly efficient, but it may be
|
||
|
// a convenient way to manipulate samples in python.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
117
|
||
|
void MovieAudioCursor::read_samples(int n, Datagram *dg);
|
||
|
basic_string< char > MovieAudioCursor::read_samples(int n);
|
||
|
|
||
|
151 14 get_class_type 0 4 181 32 MovieAudioCursor::get_class_type 0 1 65 0
|
||
|
57
|
||
|
static TypeHandle MovieAudioCursor::get_class_type(void);
|
||
|
|
||
|
152 13 UserDataAudio 0 4 182 28 UserDataAudio::UserDataAudio 0 2 66 67 331
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a UserDataAudio ---
|
||
|
// a means to supply raw audio samples manually.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
83
|
||
|
UserDataAudio::UserDataAudio(int rate, int channels, bool remove_after_read = (1));
|
||
|
|
||
|
153 4 open 0 6 182 19 UserDataAudio::open 0 1 68 374
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this audio, returning a UserDataAudioCursor. A
|
||
|
// UserDataAudio can only be opened by one consumer
|
||
|
// at a time.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
64
|
||
|
virtual PointerTo< MovieAudioCursor > UserDataAudio::open(void);
|
||
|
|
||
|
154 6 append 0 4 182 21 UserDataAudio::append 0 3 69 70 71 1136
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::append
|
||
|
// Access: Public
|
||
|
// Description: Appends audio samples to the buffer.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::append
|
||
|
// Access: Published
|
||
|
// Description: Appends audio samples to the buffer from a
|
||
|
// datagram. This is intended to make it easy to
|
||
|
// send streaming raw audio over a network.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::append
|
||
|
// Access: Published
|
||
|
// Description: 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.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
187
|
||
|
void UserDataAudio::append(short int *data, int n);
|
||
|
void UserDataAudio::append(DatagramIterator *src, int len = (1073741824));
|
||
|
void UserDataAudio::append(basic_string< char > const &str);
|
||
|
|
||
|
155 4 done 0 4 182 19 UserDataAudio::done 0 1 72 320
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::done
|
||
|
// Access: Published
|
||
|
// Description: Promises not to append any more samples, ie, this
|
||
|
// marks the end of the audio stream.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
31
|
||
|
void UserDataAudio::done(void);
|
||
|
|
||
|
156 14 get_class_type 0 4 182 29 UserDataAudio::get_class_type 0 1 73 0
|
||
|
54
|
||
|
static TypeHandle UserDataAudio::get_class_type(void);
|
||
|
|
||
|
157 19 UserDataAudioCursor 0 4 183 40 UserDataAudioCursor::UserDataAudioCursor 0 1 74 223
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudioCursor::Constructor
|
||
|
// Access:
|
||
|
// Description:
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
61
|
||
|
UserDataAudioCursor::UserDataAudioCursor(UserDataAudio *src);
|
||
|
|
||
|
158 14 get_class_type 0 4 183 35 UserDataAudioCursor::get_class_type 0 1 75 0
|
||
|
60
|
||
|
static TypeHandle UserDataAudioCursor::get_class_type(void);
|
||
|
|
||
|
159 11 VorbisAudio 0 4 184 24 VorbisAudio::VorbisAudio 0 1 76 227
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: VorbisAudio::Constructor
|
||
|
// Access: Protected
|
||
|
// Description: xxx
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
47
|
||
|
VorbisAudio::VorbisAudio(Filename const &name);
|
||
|
|
||
|
160 4 open 0 6 184 17 VorbisAudio::open 0 1 77 271
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: VorbisAudio::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this audio, returning a MovieAudioCursor
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
62
|
||
|
virtual PointerTo< MovieAudioCursor > VorbisAudio::open(void);
|
||
|
|
||
|
161 4 make 0 4 184 17 VorbisAudio::make 0 1 78 269
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: VorbisAudio::make
|
||
|
// Access: Published, Static
|
||
|
// Description: Obtains a MovieAudio that references a file.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
71
|
||
|
static PointerTo< MovieAudio > VorbisAudio::make(Filename const &name);
|
||
|
|
||
|
162 14 get_class_type 0 4 184 27 VorbisAudio::get_class_type 0 1 79 0
|
||
|
52
|
||
|
static TypeHandle VorbisAudio::get_class_type(void);
|
||
|
|
||
|
163 17 VorbisAudioCursor 0 4 185 36 VorbisAudioCursor::VorbisAudioCursor 0 1 80 378
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: VorbisAudioCursor::Constructor
|
||
|
// Access: Protected
|
||
|
// Description: Reads the .wav header from the indicated stream.
|
||
|
// This leaves the read pointer positioned at the
|
||
|
// start of the data.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
72
|
||
|
VorbisAudioCursor::VorbisAudioCursor(VorbisAudio *src, istream *stream);
|
||
|
|
||
|
164 14 get_class_type 0 4 185 33 VorbisAudioCursor::get_class_type 0 1 81 0
|
||
|
58
|
||
|
static TypeHandle VorbisAudioCursor::get_class_type(void);
|
||
|
|
||
|
165 8 WavAudio 0 4 186 18 WavAudio::WavAudio 0 1 82 224
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: WavAudio::Constructor
|
||
|
// Access: Protected
|
||
|
// Description: xxx
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
41
|
||
|
WavAudio::WavAudio(Filename const &name);
|
||
|
|
||
|
166 4 open 0 6 186 14 WavAudio::open 0 1 83 268
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: WavAudio::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this audio, returning a MovieAudioCursor
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
59
|
||
|
virtual PointerTo< MovieAudioCursor > WavAudio::open(void);
|
||
|
|
||
|
167 4 make 0 4 186 14 WavAudio::make 0 1 84 266
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: WavAudio::make
|
||
|
// Access: Published, Static
|
||
|
// Description: Obtains a MovieAudio that references a file.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
68
|
||
|
static PointerTo< MovieAudio > WavAudio::make(Filename const &name);
|
||
|
|
||
|
168 14 get_class_type 0 4 186 24 WavAudio::get_class_type 0 1 85 0
|
||
|
49
|
||
|
static TypeHandle WavAudio::get_class_type(void);
|
||
|
|
||
|
169 14 WavAudioCursor 0 4 187 30 WavAudioCursor::WavAudioCursor 0 1 86 375
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: WavAudioCursor::Constructor
|
||
|
// Access: Protected
|
||
|
// Description: Reads the .wav header from the indicated stream.
|
||
|
// This leaves the read pointer positioned at the
|
||
|
// start of the data.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
63
|
||
|
WavAudioCursor::WavAudioCursor(WavAudio *src, istream *stream);
|
||
|
|
||
|
170 14 get_class_type 0 4 187 30 WavAudioCursor::get_class_type 0 1 87 0
|
||
|
55
|
||
|
static TypeHandle WavAudioCursor::get_class_type(void);
|
||
|
|
||
|
87
|
||
|
1 14 Dtool_Aas27cnR 0 7 8 189 93 14 Dtool_Aas27cnR 465 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a null video stream --- a
|
||
|
// stream of plain blue and white frames that last one
|
||
|
// second each. To get more interesting video, you need
|
||
|
// to construct a subclass of this class.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 188
|
||
|
2 14 Dtool_Aas2Eqwy 0 7 8 189 93 14 Dtool_Aas2Eqwy 465 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a null video stream --- a
|
||
|
// stream of plain blue and white frames that last one
|
||
|
// second each. To get more interesting video, you need
|
||
|
// to construct a subclass of this class.
|
||
|
//////////////////////////////////////////////////////////////////// 0
|
||
|
3 14 Dtool_Aas2vz98 0 7 10 190 0 14 Dtool_Aas2vz98 336 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this video, returning a MovieVideoCursor of the
|
||
|
// appropriate type. Returns NULL on error.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 189
|
||
|
4 14 Dtool_Aas2tekD 0 7 11 189 93 14 Dtool_Aas2tekD 328 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::get
|
||
|
// Access: Published, Static
|
||
|
// Description: Obtains a MovieVideo that references a file.
|
||
|
// Just calls MovieTypeRegistry::make_video().
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 191
|
||
|
5 14 Dtool_Aas2_nr_ 0 6 12 191 0 14 Dtool_Aas2_nr_ 874 // Filename: movieVideo.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::get_filename
|
||
|
// Access: Published
|
||
|
// Description: Returns the movie's filename. A movie is not
|
||
|
// guaranteed to have a filename, if not, then this
|
||
|
// function returns an empty filename.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 194
|
||
|
6 14 Dtool_Aas2W6Yd 0 6 13 196 0 14 Dtool_Aas2W6Yd 398 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideo::get_subfile_info
|
||
|
// Access: Published
|
||
|
// Description: If the movie is to be loaded from a subfile on disk,
|
||
|
// this returns the subfile info. Check info.is_empty()
|
||
|
// to see if this is valid data.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 194
|
||
|
7 14 Dtool_Aas2VeVS 0 7 14 200 0 14 Dtool_Aas2VeVS 0 0
|
||
|
8 14 Dtool_Aas2QQdE 0 7 3 201 0 14 Dtool_Aas2QQdE 0 1 4 this 3 189
|
||
|
9 14 Dtool_Aas2xguY 0 7 4 189 93 14 Dtool_Aas2xguY 0 1 4 this 3 201
|
||
|
10 14 Dtool_Aas23iAT 0 6 6 202 0 14 Dtool_Aas23iAT 0 1 4 this 3 189
|
||
|
11 14 Dtool_Aas2RWtN 0 7 7 189 93 14 Dtool_Aas2RWtN 0 1 4 this 3 202
|
||
|
12 14 Dtool_Aas2Cokz 0 7 16 204 93 14 Dtool_Aas2Cokz 225 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: InkblotVideo::Constructor
|
||
|
// Access: Public
|
||
|
// Description: xxx
|
||
|
//////////////////////////////////////////////////////////////////// 3 1 x 1 203 1 y 1 203 3 fps 1 203
|
||
|
13 14 Dtool_Aas2MLJD 0 7 17 200 0 14 Dtool_Aas2MLJD 0 0
|
||
|
14 14 Dtool_Aas2F_3S 0 7 19 189 93 14 Dtool_Aas2F_3S 768 // Filename: movieVideoCursor.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::get_source
|
||
|
// Access: Published
|
||
|
// Description: Get the MovieVideo which this cursor references.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
15 14 Dtool_Aas2xQ_5 0 6 20 203 0 14 Dtool_Aas2xQ_5 261 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::size_x
|
||
|
// Access: Published
|
||
|
// Description: Get the horizontal size of the movie.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
16 14 Dtool_Aas2Mv_H 0 6 21 203 0 14 Dtool_Aas2Mv_H 259 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::size_y
|
||
|
// Access: Published
|
||
|
// Description: Get the vertical size of the movie.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
17 14 Dtool_Aas2lF0p 0 6 22 203 0 14 Dtool_Aas2lF0p 310 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::get_num_components
|
||
|
// Access: Published
|
||
|
// Description: Returns 4 if the movie has an alpha
|
||
|
// channel, 3 otherwise.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
18 14 Dtool_Aas2G8Aa 0 6 23 207 0 14 Dtool_Aas2G8Aa 1709 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::length
|
||
|
// Access: Published
|
||
|
// Description: Returns the length of the movie.
|
||
|
//
|
||
|
// Some kinds of Movie, such as internet TV station,
|
||
|
// might not have a predictable length. In that case,
|
||
|
// the length will be set to a very large number: 1.0E10.
|
||
|
// If the internet TV station goes offline, the video
|
||
|
// or audio stream will set its abort flag. Reaching the
|
||
|
// end of the movie (ie, the specified length) normally
|
||
|
// does not cause the abort flag to be set.
|
||
|
//
|
||
|
// The video and audio streams produced by get_video and
|
||
|
// get_audio are always of unlimited duration - you can
|
||
|
// always read another video frame or another audio
|
||
|
// sample. This is true even if the specified length
|
||
|
// is reached, or an abort is flagged. If either stream
|
||
|
// runs out of data, it will synthesize blank video
|
||
|
// frames and silent audio samples as necessary to
|
||
|
// satisfy read requests.
|
||
|
//
|
||
|
// Some AVI files have incorrect length values encoded
|
||
|
// into them - usually, they're a second or two long or
|
||
|
// short. When playing such an AVI using the Movie class,
|
||
|
// you may see a slightly truncated video, or a slightly
|
||
|
// elongated video (padded with black frames). There are
|
||
|
// utilities out there to fix the length values in AVI
|
||
|
// files.
|
||
|
//
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
19 14 Dtool_Aas2aKIT 0 6 24 208 0 14 Dtool_Aas2aKIT 748 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::can_seek
|
||
|
// Access: Published
|
||
|
// Description: Returns true if the movie can seek. If this is
|
||
|
// true, seeking is still not guaranteed to be fast:
|
||
|
// for some movies, seeking is implemented by rewinding
|
||
|
// to the beginning and then fast-forwarding to the
|
||
|
// desired location. Even if the movie cannot seek,
|
||
|
// the fetch methods can still advance to an arbitrary
|
||
|
// location by reading frames and discarding them.
|
||
|
// However, to move backward, can_seek must return true.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
20 14 Dtool_Aas2vhX3 0 6 25 208 0 14 Dtool_Aas2vhX3 281 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::can_seek_fast
|
||
|
// Access: Published
|
||
|
// Description: Returns true if seek operations are constant time.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
21 14 Dtool_Aas2A9Oi 0 6 26 208 0 14 Dtool_Aas2A9Oi 531 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::aborted
|
||
|
// Access: Published
|
||
|
// Description: Returns true if the video has aborted prematurely.
|
||
|
// For example, this could occur if the Movie was actually
|
||
|
// an internet TV station, and the connection was lost.
|
||
|
// Reaching the normal end of the video does not
|
||
|
// constitute an 'abort' condition.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
22 14 Dtool_Aas2OQVR 0 6 27 208 0 14 Dtool_Aas2OQVR 399 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::ready
|
||
|
// Access: Published
|
||
|
// Description: Returns true if the cursor is a streaming source, and
|
||
|
// if a video frame is ready to be read. For non-
|
||
|
// streaming sources, this is always false.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
23 14 Dtool_Aas2_Xew 0 6 28 208 0 14 Dtool_Aas2_Xew 894 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::streaming
|
||
|
// Access: Published
|
||
|
// Description: Returns true if the video frames are being "pushed"
|
||
|
// at us by something that operates at its own speed -
|
||
|
// for example, a webcam. In this case, the frames come
|
||
|
// when they're ready to come. Attempting to read too
|
||
|
// soon will produce nothing, reading too late will cause
|
||
|
// frames to be dropped. In this case, the ready flag
|
||
|
// can be used to determine whether or not a frame is
|
||
|
// ready for reading.
|
||
|
//
|
||
|
// When streaming, you should still pay attention to
|
||
|
// last_start, but the value of next_start is only a
|
||
|
// guess.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 205
|
||
|
24 14 Dtool_Aas2rq5v 0 4 29 211 0 14 Dtool_Aas2rq5v 382 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::setup_texture
|
||
|
// Access: Published
|
||
|
// Description: Set up the specified Texture object to contain
|
||
|
// content from this movie. This should be called
|
||
|
// once, not every frame.
|
||
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 205 3 tex 1 209
|
||
|
25 14 Dtool_Aas2Dnp8 0 6 30 208 0 14 Dtool_Aas2Dnp8 1330 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::set_time
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Updates the cursor to the indicated time. If
|
||
|
// loop_count >= 1, the time is clamped to the movie's
|
||
|
// length * loop_count. If loop_count <= 0, the time is
|
||
|
// understood to be modulo the movie's length.
|
||
|
//
|
||
|
// Returns true if a new frame is now available, false
|
||
|
// otherwise. If this returns true, you should
|
||
|
// immediately follow this with exactly *one* call to
|
||
|
// fetch_buffer().
|
||
|
//
|
||
|
// If the movie reports that it can_seek, you may also
|
||
|
// specify a time value less than the previous value you
|
||
|
// passed to set_time(). Otherwise, you may only
|
||
|
// specify a time value greater than or equal to
|
||
|
// the previous value.
|
||
|
//
|
||
|
// If the movie reports that it can_seek, it doesn't
|
||
|
// mean that it can do so quickly. It may have to
|
||
|
// rewind the movie and then fast forward to the
|
||
|
// desired location. Only if can_seek_fast returns
|
||
|
// true can it seek rapidly.
|
||
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 190 9 timestamp 1 207 10 loop_count 1 203
|
||
|
26 14 Dtool_Aas2gmDc 0 7 36 212 0 14 Dtool_Aas2gmDc 649 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::fetch_buffer
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Gets the current video frame (as specified by
|
||
|
// set_time()) from the movie and returns it in a
|
||
|
// pre-allocated buffer. You may simply let the buffer
|
||
|
// dereference and delete itself when you are done with
|
||
|
// it.
|
||
|
//
|
||
|
// This may return NULL (even if set_time() returned
|
||
|
// true) if the frame is not available for some reason.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 190
|
||
|
27 14 Dtool_Aas2_KHi 0 4 37 211 0 14 Dtool_Aas2_KHi 298 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::apply_to_texture
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Stores this buffer's contents in the indicated texture.
|
||
|
//////////////////////////////////////////////////////////////////// 4 4 this 3 190 6 buffer 1 213 1 t 1 209 4 page 1 203
|
||
|
28 14 Dtool_Aas2Qo4B 0 4 38 211 0 14 Dtool_Aas2Qo4B 407 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::apply_to_texture_rgb
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Copies this buffer's contents into the RGB channels
|
||
|
// of the supplied texture. The alpha channel of the
|
||
|
// texture is not touched.
|
||
|
//////////////////////////////////////////////////////////////////// 4 4 this 3 190 6 buffer 1 213 1 t 1 209 4 page 1 203
|
||
|
29 14 Dtool_Aas2LdQM 0 4 39 211 0 14 Dtool_Aas2LdQM 410 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::apply_to_texture_alpha
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Copies this buffer's contents into the alpha channel
|
||
|
// of the supplied texture. The RGB channels of the
|
||
|
// texture are not touched.
|
||
|
//////////////////////////////////////////////////////////////////// 5 4 this 3 190 6 buffer 1 213 1 t 1 209 4 page 1 203 9 alpha_src 1 203
|
||
|
30 14 Dtool_Aas2jF2f 0 7 40 200 0 14 Dtool_Aas2jF2f 0 0
|
||
|
31 14 Dtool_Aas2Bm8F 0 6 33 203 0 14 Dtool_Aas2Bm8F 666 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::Buffer::compare_timestamp
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Used to sort different buffers to ensure they
|
||
|
// correspond to the same source frame, particularly
|
||
|
// important when synchronizing the different pages of a
|
||
|
// multi-page texture.
|
||
|
//
|
||
|
// Returns 0 if the two buffers are of the same frame,
|
||
|
// <0 if this one comes earlier than the other one, and
|
||
|
// >0 if the other one comes earlier.
|
||
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 213 5 other 1 213
|
||
|
32 14 Dtool_Aas2TlXP 0 6 34 207 0 14 Dtool_Aas2TlXP 535 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieVideoCursor::Buffer::get_timestamp
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Returns the nearest timestamp value of this
|
||
|
// particular buffer. Ideally,
|
||
|
// MovieVideoCursor::set_time() for this timestamp would
|
||
|
// return this buffer again. This need be defined only
|
||
|
// if compare_timestamp() is also defined.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 213
|
||
|
33 14 Dtool_Aas2AV0C 0 7 35 200 0 14 Dtool_Aas2AV0C 0 0
|
||
|
34 14 Dtool_Aas2zSgu 0 7 42 215 0 14 Dtool_Aas2zSgu 231 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: InkblotVideoCursor::Constructor
|
||
|
// Access: Public
|
||
|
// Description: xxx
|
||
|
//////////////////////////////////////////////////////////////////// 1 3 src 1 204
|
||
|
35 14 Dtool_Aas2_Vdw 0 7 43 200 0 14 Dtool_Aas2_Vdw 0 0
|
||
|
36 14 Dtool_Aas2h6Gr 0 7 49 216 128 14 Dtool_Aas2h6Gr 453 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a null audio stream --- a
|
||
|
// stream of total silence, at 8000 samples per second.
|
||
|
// To get more interesting audio, you need to construct
|
||
|
// a subclass of this class.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 188
|
||
|
37 14 Dtool_Aas2xuOM 0 7 49 216 128 14 Dtool_Aas2xuOM 453 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a null audio stream --- a
|
||
|
// stream of total silence, at 8000 samples per second.
|
||
|
// To get more interesting audio, you need to construct
|
||
|
// a subclass of this class.
|
||
|
//////////////////////////////////////////////////////////////////// 0
|
||
|
38 14 Dtool_Aas2WPyR 0 7 51 217 0 14 Dtool_Aas2WPyR 270 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this audio, returning a MovieAudioCursor
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 216
|
||
|
39 14 Dtool_Aas2hRaY 0 7 52 216 128 14 Dtool_Aas2hRaY 328 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::get
|
||
|
// Access: Published, Static
|
||
|
// Description: Obtains a MovieAudio that references a file.
|
||
|
// Just calls MovieTypeRegistry::make_audio().
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 191
|
||
|
40 14 Dtool_Aas2WjhU 0 6 53 191 0 14 Dtool_Aas2WjhU 872 // Filename: movieAudio.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudio::get_filename
|
||
|
// Access: Published
|
||
|
// Description: Returns the movie's filename. A movie is not
|
||
|
// guaranteed to have a filename, if not, then this
|
||
|
// function returns a null filename.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 218
|
||
|
41 14 Dtool_Aas2JYLn 0 7 54 200 0 14 Dtool_Aas2JYLn 0 0
|
||
|
42 14 Dtool_Aas2EOTZ 0 7 45 201 0 14 Dtool_Aas2EOTZ 0 1 4 this 3 216
|
||
|
43 14 Dtool_Aas2ly_h 0 7 46 216 128 14 Dtool_Aas2ly_h 0 1 4 this 3 201
|
||
|
44 14 Dtool_Aas2fg2n 0 6 47 202 0 14 Dtool_Aas2fg2n 0 1 4 this 3 216
|
||
|
45 14 Dtool_Aas2nTQ_ 0 7 48 216 128 14 Dtool_Aas2nTQ_ 0 1 4 this 3 202
|
||
|
46 14 Dtool_Aas2HsFA 0 6 56 203 0 14 Dtool_Aas2HsFA 481 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MicrophoneAudio::get_num_options
|
||
|
// Access: Public
|
||
|
// Description: Returns the number of microphone options. An "option"
|
||
|
// consists of a device plus a set of configuration
|
||
|
// parameters. For example, "Soundblaster Audigy Line in
|
||
|
// at 44,100 samples/sec" would be an option.
|
||
|
//////////////////////////////////////////////////////////////////// 0
|
||
|
47 14 Dtool_Aas2MUdn 0 7 57 220 128 14 Dtool_Aas2MUdn 258 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MicrophoneAudio::get_option
|
||
|
// Access: Public
|
||
|
// Description: Returns the nth microphone option.
|
||
|
//////////////////////////////////////////////////////////////////// 1 1 n 1 203
|
||
|
48 14 Dtool_Aas2sjnl 0 6 58 203 0 14 Dtool_Aas2sjnl 751 // Filename: microphoneAudio.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MicrophoneAudio::get_channels
|
||
|
// Access: Published
|
||
|
// Description: Returns the number of channels.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 221
|
||
|
49 14 Dtool_Aas2HJIm 0 6 59 203 0 14 Dtool_Aas2HJIm 249 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MicrophoneAudio::get_rate
|
||
|
// Access: Published
|
||
|
// Description: Returns the sample rate.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 221
|
||
|
50 14 Dtool_Aas2LVOV 0 7 60 200 0 14 Dtool_Aas2LVOV 0 0
|
||
|
51 14 Dtool_Aas2ar8r 0 7 62 217 0 14 Dtool_Aas2ar8r 459 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a null audio stream --- a
|
||
|
// stream of total silence, at 8000 samples per second.
|
||
|
// To get more interesting audio, you need to construct
|
||
|
// a subclass of this class.
|
||
|
//////////////////////////////////////////////////////////////////// 1 3 src 1 216
|
||
|
52 14 Dtool_Aas2Rwtn 0 7 63 216 128 14 Dtool_Aas2Rwtn 769 // Filename: movieAudioCursor.I
|
||
|
// Created by: jyelon (02Jul07)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// PANDA 3D SOFTWARE
|
||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
//
|
||
|
// All use of this software is subject to the terms of the revised BSD
|
||
|
// license. You should have received a copy of this license along
|
||
|
// with this source code in a file named "LICENSE."
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::get_source
|
||
|
// Access: Public
|
||
|
// Description: Returns the MovieAudio which this cursor references.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 223
|
||
|
53 14 Dtool_Aas27TYa 0 6 64 203 0 14 Dtool_Aas27TYa 255 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::audio_rate
|
||
|
// Access: Public
|
||
|
// Description: Returns the audio sample rate.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 223
|
||
|
54 14 Dtool_Aas2gtX4 0 6 65 203 0 14 Dtool_Aas2gtX4 318 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::audio_channels
|
||
|
// Access: Public
|
||
|
// Description: Returns the number of audio channels (ie, two for
|
||
|
// stereo, one for mono).
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 223
|
||
|
55 14 Dtool_Aas2Oi2u 0 6 66 207 0 14 Dtool_Aas2Oi2u 1159 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::length
|
||
|
// Access: Public
|
||
|
// Description: Returns the length of the movie. Attempting to read
|
||
|
// audio samples beyond the specified length will produce
|
||
|
// silent samples.
|
||
|
//
|
||
|
// Some kinds of Movie, such as internet TV station,
|
||
|
// might not have a predictable length. In that case,
|
||
|
// the length will be set to a very large number: 1.0E10.
|
||
|
//
|
||
|
// Some AVI files have incorrect length values encoded
|
||
|
// into them - they may be a second or two long or
|
||
|
// short. When playing such an AVI using the Movie class,
|
||
|
// you may see a slightly truncated video, or a slightly
|
||
|
// elongated video (padded with black frames). There are
|
||
|
// utilities out there to fix the length values in AVI
|
||
|
// files.
|
||
|
//
|
||
|
// An audio consumer needs to check the length, the
|
||
|
// ready status, and the aborted flag.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 223
|
||
|
56 14 Dtool_Aas2qX_n 0 6 67 208 0 14 Dtool_Aas2qX_n 744 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::can_seek
|
||
|
// Access: Public
|
||
|
// Description: Returns true if the movie can seek. If this is
|
||
|
// true, seeking is still not guaranteed to be fast:
|
||
|
// for some movies, seeking is implemented by rewinding
|
||
|
// to the beginning and then fast-forwarding to the
|
||
|
// desired location. Even if the movie cannot seek,
|
||
|
// the seek method can still advance to an arbitrary
|
||
|
// location by reading samples and discarding them.
|
||
|
// However, to move backward, can_seek must return true.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 223
|
||
|
57 14 Dtool_Aas2miNM 0 6 68 208 0 14 Dtool_Aas2miNM 278 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::can_seek_fast
|
||
|
// Access: Public
|
||
|
// Description: Returns true if seek operations are constant time.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 223
|
||
|
58 14 Dtool_Aas29J2Y 0 6 69 207 0 14 Dtool_Aas29J2Y 262 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::tell
|
||
|
// Access: Public
|
||
|
// Description: Returns the current offset within the file.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 223
|
||
|
59 14 Dtool_Aas22mru 0 4 70 211 0 14 Dtool_Aas22mru 322 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::skip_samples
|
||
|
// Access: Published
|
||
|
// Description: Skip audio samples from the stream. This is mostly
|
||
|
// for debugging purposes.
|
||
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 217 1 n 1 203
|
||
|
60 14 Dtool_Aas20CF3 0 6 71 208 0 14 Dtool_Aas20CF3 380 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::aborted
|
||
|
// Access: Public
|
||
|
// Description: If aborted is true, it means that the "ready" samples
|
||
|
// are not being replenished. See the method "ready"
|
||
|
// for an explanation.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 223
|
||
|
61 14 Dtool_Aas2GSLm 0 6 72 203 0 14 Dtool_Aas2GSLm 1643 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::ready
|
||
|
// Access: Public
|
||
|
// Description: Returns the number of audio samples that are ready
|
||
|
// to read. This is primarily relevant for sources like
|
||
|
// microphones which produce samples at a fixed rate.
|
||
|
// If you try to read more samples than are ready, the
|
||
|
// result will be silent samples.
|
||
|
//
|
||
|
// Some audio streams do not have a limit on how fast
|
||
|
// they can produce samples. Such streams will always
|
||
|
// return 0x40000000 as the ready-count. This may well
|
||
|
// exceed the length of the audio stream. You therefore
|
||
|
// need to check length separately.
|
||
|
//
|
||
|
// If the aborted flag is set, that means the ready count
|
||
|
// is no longer being replenished. For example, a
|
||
|
// MovieAudioCursor might be reading from an internet
|
||
|
// radio station, and it might buffer data to avoid
|
||
|
// underruns. If it loses connection to the radio
|
||
|
// station, it will set the aborted flag to indicate that
|
||
|
// the buffer is no longer being replenished. But it is
|
||
|
// still ok to read the samples that are in the buffer,
|
||
|
// at least until they run out. Once those are gone,
|
||
|
// there will be no more.
|
||
|
//
|
||
|
// An audio consumer needs to check the length, the
|
||
|
// ready status, and the aborted flag.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 223
|
||
|
62 14 Dtool_Aas29c_h 0 4 73 211 0 14 Dtool_Aas29c_h 1171 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::seek
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Skips to the specified offset within the file.
|
||
|
//
|
||
|
// If the movie reports that it cannot seek, then
|
||
|
// this method can still advance by reading samples
|
||
|
// and discarding them. However, to move backward,
|
||
|
// can_seek must be true.
|
||
|
//
|
||
|
// If the movie reports that it can_seek, it doesn't
|
||
|
// mean that it can do so quickly. It may have to
|
||
|
// rewind the movie and then fast forward to the
|
||
|
// desired location. Only if can_seek_fast returns
|
||
|
// true can seek operations be done in constant time.
|
||
|
//
|
||
|
// Seeking may not be precise, because AVI files
|
||
|
// often have inaccurate indices. After
|
||
|
// seeking, tell will indicate that the cursor is
|
||
|
// at the target location. However, in truth, the data
|
||
|
// you read may come from a slightly offset location.
|
||
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 217 6 offset 1 207
|
||
|
63 14 Dtool_Aas2TfBw 0 6 74 188 0 14 Dtool_Aas2TfBw 627 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::read_samples
|
||
|
// Access: Published
|
||
|
// Description: Read audio samples from the stream and returns
|
||
|
// them as a string. The samples are stored little-endian
|
||
|
// in the string. N is the number of samples you wish
|
||
|
// to read. Multiple-channel audio will be interleaved.
|
||
|
//
|
||
|
// This is not particularly efficient, but it may be
|
||
|
// a convenient way to manipulate samples in python.
|
||
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 217 1 n 1 203
|
||
|
64 14 Dtool_Aas28NPe 0 4 74 211 0 14 Dtool_Aas28NPe 544 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: MovieAudioCursor::read_samples
|
||
|
// Access: Published
|
||
|
// Description: Read audio samples from the stream into a
|
||
|
// Datagram. N is the number of samples you wish
|
||
|
// to read. Multiple-channel audio will be interleaved.
|
||
|
//
|
||
|
// This is not particularly efficient, but it may be
|
||
|
// a convenient way to manipulate samples in python.
|
||
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 217 1 n 1 203 2 dg 1 225
|
||
|
65 14 Dtool_Aas2bKs0 0 7 75 200 0 14 Dtool_Aas2bKs0 0 0
|
||
|
66 14 Dtool_Aas2KE9v 0 7 77 227 128 14 Dtool_Aas2KE9v 331 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a UserDataAudio ---
|
||
|
// a means to supply raw audio samples manually.
|
||
|
//////////////////////////////////////////////////////////////////// 3 4 rate 1 203 8 channels 1 203 17 remove_after_read 1 208
|
||
|
67 14 Dtool_Aas2d_xn 0 7 77 227 128 14 Dtool_Aas2d_xn 331 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::Constructor
|
||
|
// Access: Public
|
||
|
// Description: This constructor returns a UserDataAudio ---
|
||
|
// a means to supply raw audio samples manually.
|
||
|
//////////////////////////////////////////////////////////////////// 2 4 rate 1 203 8 channels 1 203
|
||
|
68 14 Dtool_Aas2B0gt 0 7 78 217 0 14 Dtool_Aas2B0gt 374 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this audio, returning a UserDataAudioCursor. A
|
||
|
// UserDataAudio can only be opened by one consumer
|
||
|
// at a time.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 227
|
||
|
69 14 Dtool_Aas21A0Y 0 4 79 211 0 14 Dtool_Aas21A0Y 387 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::append
|
||
|
// Access: Published
|
||
|
// Description: Appends audio samples to the buffer from a
|
||
|
// datagram. This is intended to make it easy to
|
||
|
// send streaming raw audio over a network.
|
||
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 227 3 src 1 228 3 len 1 203
|
||
|
70 14 Dtool_Aas2cLbv 0 4 79 211 0 14 Dtool_Aas2cLbv 387 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::append
|
||
|
// Access: Published
|
||
|
// Description: Appends audio samples to the buffer from a
|
||
|
// datagram. This is intended to make it easy to
|
||
|
// send streaming raw audio over a network.
|
||
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 227 3 src 1 228
|
||
|
71 14 Dtool_Aas2QG1O 0 4 79 211 0 14 Dtool_Aas2QG1O 491 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::append
|
||
|
// Access: Published
|
||
|
// Description: 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.
|
||
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 227 3 str 1 188
|
||
|
72 14 Dtool_Aas2PL6l 0 4 80 211 0 14 Dtool_Aas2PL6l 320 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudio::done
|
||
|
// Access: Published
|
||
|
// Description: Promises not to append any more samples, ie, this
|
||
|
// marks the end of the audio stream.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 227
|
||
|
73 14 Dtool_Aas22DZm 0 7 81 200 0 14 Dtool_Aas22DZm 0 0
|
||
|
74 14 Dtool_Aas2T7Mu 0 7 83 230 0 14 Dtool_Aas2T7Mu 223 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: UserDataAudioCursor::Constructor
|
||
|
// Access:
|
||
|
// Description:
|
||
|
//////////////////////////////////////////////////////////////////// 1 3 src 1 227
|
||
|
75 14 Dtool_Aas2fQjQ 0 7 84 200 0 14 Dtool_Aas2fQjQ 0 0
|
||
|
76 14 Dtool_Aas2Z080 0 7 86 231 128 14 Dtool_Aas2Z080 227 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: VorbisAudio::Constructor
|
||
|
// Access: Protected
|
||
|
// Description: xxx
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 191
|
||
|
77 14 Dtool_Aas2EDS7 0 7 87 217 0 14 Dtool_Aas2EDS7 271 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: VorbisAudio::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this audio, returning a MovieAudioCursor
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 231
|
||
|
78 14 Dtool_Aas2i8zO 0 7 88 216 128 14 Dtool_Aas2i8zO 269 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: VorbisAudio::make
|
||
|
// Access: Published, Static
|
||
|
// Description: Obtains a MovieAudio that references a file.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 191
|
||
|
79 14 Dtool_Aas2L0mo 0 7 89 200 0 14 Dtool_Aas2L0mo 0 0
|
||
|
80 14 Dtool_Aas2Nska 0 7 91 234 0 14 Dtool_Aas2Nska 378 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: VorbisAudioCursor::Constructor
|
||
|
// Access: Protected
|
||
|
// Description: Reads the .wav header from the indicated stream.
|
||
|
// This leaves the read pointer positioned at the
|
||
|
// start of the data.
|
||
|
//////////////////////////////////////////////////////////////////// 2 3 src 1 231 6 stream 1 232
|
||
|
81 14 Dtool_Aas2qGBa 0 7 92 200 0 14 Dtool_Aas2qGBa 0 0
|
||
|
82 14 Dtool_Aas2WKL7 0 7 94 235 128 14 Dtool_Aas2WKL7 224 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: WavAudio::Constructor
|
||
|
// Access: Protected
|
||
|
// Description: xxx
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 191
|
||
|
83 14 Dtool_Aas2zCHt 0 7 95 217 0 14 Dtool_Aas2zCHt 268 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: WavAudio::open
|
||
|
// Access: Published, Virtual
|
||
|
// Description: Open this audio, returning a MovieAudioCursor
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 235
|
||
|
84 14 Dtool_Aas2Y3P2 0 7 96 216 128 14 Dtool_Aas2Y3P2 266 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: WavAudio::make
|
||
|
// Access: Published, Static
|
||
|
// Description: Obtains a MovieAudio that references a file.
|
||
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 191
|
||
|
85 14 Dtool_Aas2Zugp 0 7 97 200 0 14 Dtool_Aas2Zugp 0 0
|
||
|
86 14 Dtool_Aas22UDT 0 7 99 236 0 14 Dtool_Aas22UDT 375 ////////////////////////////////////////////////////////////////////
|
||
|
// Function: WavAudioCursor::Constructor
|
||
|
// Access: Protected
|
||
|
// Description: Reads the .wav header from the indicated stream.
|
||
|
// This leaves the read pointer positioned at the
|
||
|
// start of the data.
|
||
|
//////////////////////////////////////////////////////////////////// 2 3 src 1 235 6 stream 1 232
|
||
|
87 14 Dtool_Aas2ZUk_ 0 7 100 200 0 14 Dtool_Aas2ZUk_ 0 0
|
||
|
67
|
||
|
171 10 MovieVideo 0 26625 10 MovieVideo 10 MovieVideo 0 0 0 1 92 93 0 5 94 95 96 97 98 0 0 2 3 172 88 89 3 173 90 91 0 0 676
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : MovieVideo
|
||
|
// Description : A MovieVideo is actually any source that provides
|
||
|
// a sequence of video frames. That could include an
|
||
|
// AVI file, a digital camera, or an internet TV station.
|
||
|
//
|
||
|
// The difference between a MovieVideo and a
|
||
|
// MovieVideoCursor is like the difference between a
|
||
|
// filename and a file handle. The MovieVideo just
|
||
|
// indicates a particular movie. The MovieVideoCursor
|
||
|
// is what allows access.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
172 27 TypedWritableReferenceCount 0 2049 27 TypedWritableReferenceCount 27 TypedWritableReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 722
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : TypedWritableReferenceCount
|
||
|
// Description : A base class for things which need to inherit from
|
||
|
// both TypedWritable and from ReferenceCount. It's
|
||
|
// convenient to define this intermediate base class
|
||
|
// instead of multiply inheriting from the two classes
|
||
|
// each time they are needed, so that we can sensibly
|
||
|
// pass around pointers to things which are both
|
||
|
// TypedWritables and ReferenceCounters.
|
||
|
//
|
||
|
// See also TypedObject for detailed instructions.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
173 7 Namable 0 2049 7 Namable 7 Namable 0 0 0 0 0 0 0 0 0 0 0 0 324
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : Namable
|
||
|
// Description : A base class for all things which can have a name.
|
||
|
// The name is either empty or nonempty, but it is never
|
||
|
// NULL.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
174 12 InkblotVideo 0 75777 12 InkblotVideo 12 InkblotVideo 0 0 0 1 99 93 0 1 100 0 0 1 0 171 0 0 0 0 276
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : InkblotVideo
|
||
|
// Description : A cellular automaton that generates an amusing
|
||
|
// pattern of swirling colors.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
175 16 MovieVideoCursor 0 75777 16 MovieVideoCursor 16 MovieVideoCursor 0 0 0 0 0 0 17 101 102 103 104 105 106 107 108 109 110 111 112 116 117 118 119 120 0 0 1 0 172 0 0 0 1 176 812
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : MovieVideoCursor
|
||
|
// Description : A MovieVideo is actually any source that provides
|
||
|
// a sequence of video frames. That could include an
|
||
|
// AVI file, a digital camera, or an internet TV station.
|
||
|
// A MovieVideoCursor is a handle that lets you read
|
||
|
// data sequentially from a MovieVideo.
|
||
|
//
|
||
|
// Thread safety: each individual MovieVideoCursor
|
||
|
// must be owned and accessed by a single thread.
|
||
|
// It is OK for two different threads to open
|
||
|
// the same file at the same time, as long as they
|
||
|
// use separate MovieVideoCursor objects.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
176 6 Buffer 0 337921 24 MovieVideoCursor::Buffer 24 MovieVideoCursor::Buffer 175 0 0 0 0 0 3 113 114 115 0 0 1 0 177 0 0 0 0 0
|
||
|
|
||
|
177 19 TypedReferenceCount 0 2049 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 710
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : TypedReferenceCount
|
||
|
// Description : A base class for things which need to inherit from
|
||
|
// both TypedObject and from ReferenceCount. It's
|
||
|
// convenient to define this intermediate base class
|
||
|
// instead of multiply inheriting from the two classes
|
||
|
// each time they are needed, so that we can sensibly
|
||
|
// pass around pointers to things which are both
|
||
|
// TypedObjects and ReferenceCounters.
|
||
|
//
|
||
|
// See also TypedObject for detailed instructions.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
178 18 InkblotVideoCursor 0 75777 18 InkblotVideoCursor 18 InkblotVideoCursor 0 0 0 1 121 0 0 1 122 0 0 1 0 175 0 0 0 0 282
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : InkblotVideoCursor
|
||
|
// Description : A cellular automaton that generates an amusing
|
||
|
// pattern of swirling colors.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
179 10 MovieAudio 0 26625 10 MovieAudio 10 MovieAudio 0 0 0 1 127 128 0 4 129 130 131 132 0 0 2 3 172 123 124 3 173 125 126 0 0 673
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : MovieAudio
|
||
|
// Description : A MovieAudio is actually any source that provides
|
||
|
// a sequence of audio samples. That could include an
|
||
|
// AVI file, a microphone, or an internet TV station.
|
||
|
//
|
||
|
// The difference between a MovieAudio and a
|
||
|
// MovieAudioCursor is like the difference between a
|
||
|
// filename and a file handle. The MovieAudio just
|
||
|
// indicates a particular movie. The MovieAudioCursor
|
||
|
// is what allows access.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
180 15 MicrophoneAudio 0 75777 15 MicrophoneAudio 15 MicrophoneAudio 0 0 0 0 128 0 5 133 134 135 136 137 1 238 0 1 0 179 0 0 0 0 290
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : MicrophoneAudio
|
||
|
// Description : Class MicrophoneAudio provides the means to read
|
||
|
// raw audio samples from a microphone.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
181 16 MovieAudioCursor 0 75777 16 MovieAudioCursor 16 MovieAudioCursor 0 0 0 1 138 0 0 13 139 140 141 142 143 144 145 146 147 148 149 150 151 0 0 1 0 172 0 0 0 0 809
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : MovieAudioCursor
|
||
|
// Description : A MovieAudio is actually any source that provides
|
||
|
// a sequence of audio samples. That could include an
|
||
|
// AVI file, a microphone, or an internet TV station.
|
||
|
// A MovieAudioCursor is a handle that lets you read
|
||
|
// data sequentially from a MovieAudio.
|
||
|
//
|
||
|
// Thread safety: each individual MovieAudioCursor
|
||
|
// must be owned and accessed by a single thread.
|
||
|
// It is OK for two different threads to open
|
||
|
// the same file at the same time, as long as they
|
||
|
// use separate MovieAudioCursor objects.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
182 13 UserDataAudio 0 75777 13 UserDataAudio 13 UserDataAudio 0 0 0 1 152 128 0 4 153 154 155 156 0 0 1 0 179 0 0 0 0 622
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : UserDataAudio
|
||
|
// Description : 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.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
183 19 UserDataAudioCursor 0 75777 19 UserDataAudioCursor 19 UserDataAudioCursor 0 0 0 1 157 0 0 1 158 0 0 1 0 181 0 0 0 0 293
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : UserDataAudioCursor
|
||
|
// Description : A UserDataAudioCursor is a means to manually
|
||
|
// supply a sequence of raw audio samples.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
184 11 VorbisAudio 0 75777 11 VorbisAudio 11 VorbisAudio 0 0 0 1 159 128 0 3 160 161 162 0 0 1 0 179 0 0 0 0 291
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : VorbisAudio
|
||
|
// Description : Interfaces with the libvorbisfile library to
|
||
|
// implement decoding of Ogg Vorbis audio files.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
185 17 VorbisAudioCursor 0 75777 17 VorbisAudioCursor 17 VorbisAudioCursor 0 0 0 1 163 0 0 1 164 0 0 1 0 181 0 0 0 0 297
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : VorbisAudioCursor
|
||
|
// Description : Interfaces with the libvorbisfile library to
|
||
|
// implement decoding of Ogg Vorbis audio files.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
186 8 WavAudio 0 75777 8 WavAudio 8 WavAudio 0 0 0 1 165 128 0 3 166 167 168 0 0 1 0 179 0 0 0 0 288
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : WavAudio
|
||
|
// Description : A native PCM .wav loader. Supported formats
|
||
|
// are linear PCM, IEEE float, A-law and mu-law.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
187 14 WavAudioCursor 0 75777 14 WavAudioCursor 14 WavAudioCursor 0 0 0 1 169 0 0 1 170 0 0 1 0 181 0 0 0 0 301
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : WavAudioCursor
|
||
|
// Description : Used for reading PCM .wav files. Supported formats
|
||
|
// are linear PCM, IEEE float, A-law and mu-law.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
188 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
189 12 MovieVideo * 0 8576 12 MovieVideo * 12 MovieVideo * 0 0 171 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
190 18 MovieVideoCursor * 0 8576 18 MovieVideoCursor * 18 MovieVideoCursor * 0 0 175 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
191 16 Filename const * 0 8576 16 Filename const * 16 Filename const * 0 0 192 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
192 14 Filename const 0 8832 14 Filename const 14 Filename const 0 0 193 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
193 8 Filename 0 2048 8 Filename 8 Filename 0 0 0 0 0 0 0 0 0 0 0 0 869
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : Filename
|
||
|
// Description : The name of a file, such as a texture file or an Egg
|
||
|
// file. Stores the full pathname, and includes
|
||
|
// functions for extracting out the directory prefix
|
||
|
// part and the file extension and stuff.
|
||
|
//
|
||
|
// A Filename is also aware of the mapping between the
|
||
|
// Unix-like filename convention we use internally, and
|
||
|
// the local OS's specific filename convention, and it
|
||
|
// knows how to perform basic OS-specific I/O, like
|
||
|
// testing for file existence and searching a
|
||
|
// searchpath, as well as the best way to open an
|
||
|
// fstream for reading or writing.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
194 18 MovieVideo const * 0 8576 18 MovieVideo const * 18 MovieVideo const * 0 0 195 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
195 16 MovieVideo const 0 8832 16 MovieVideo const 16 MovieVideo const 0 0 171 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
196 19 SubfileInfo const * 0 8576 19 SubfileInfo const * 19 SubfileInfo const * 0 0 197 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
197 17 SubfileInfo const 0 8832 17 SubfileInfo const 17 SubfileInfo const 0 0 198 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
198 11 SubfileInfo 0 2048 11 SubfileInfo 11 SubfileInfo 0 0 0 0 0 0 0 0 0 0 0 0 418
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : SubfileInfo
|
||
|
// Description : This class records a particular byte sub-range within
|
||
|
// an existing file on disk. Generally, the filename is
|
||
|
// understood as a physical file on disk, and not to be
|
||
|
// looked up via the vfs.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
199 10 TypeHandle 0 2048 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 1098
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : TypeHandle
|
||
|
// Description : TypeHandle is the identifier used to differentiate
|
||
|
// C++ class types. Any C++ classes that inherit from
|
||
|
// some base class, and must be differentiated at run
|
||
|
// time, should store a static TypeHandle object that
|
||
|
// can be queried through a static member function
|
||
|
// named get_class_type(). Most of the time, it is also
|
||
|
// desirable to inherit from TypedObject, which provides
|
||
|
// some virtual functions to return the TypeHandle for a
|
||
|
// particular instance.
|
||
|
//
|
||
|
// At its essence, a TypeHandle is simply a unique
|
||
|
// identifier that is assigned by the TypeRegistry. The
|
||
|
// TypeRegistry stores a tree of TypeHandles, so that
|
||
|
// ancestry of a particular type may be queried, and the
|
||
|
// type name may be retrieved for run-time display.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
200 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 199 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
201 29 TypedWritableReferenceCount * 0 8576 29 TypedWritableReferenceCount * 29 TypedWritableReferenceCount * 0 0 172 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
202 9 Namable * 0 8576 9 Namable * 9 Namable * 0 0 173 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
203 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
204 14 InkblotVideo * 0 8576 14 InkblotVideo * 14 InkblotVideo * 0 0 174 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
205 24 MovieVideoCursor const * 0 8576 24 MovieVideoCursor const * 24 MovieVideoCursor const * 0 0 206 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
206 22 MovieVideoCursor const 0 8832 22 MovieVideoCursor const 22 MovieVideoCursor const 0 0 175 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
207 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
208 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
209 9 Texture * 0 8576 9 Texture * 9 Texture * 0 0 210 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
210 7 Texture 0 2048 7 Texture 7 Texture 0 0 0 0 0 0 0 0 0 0 0 0 1051
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : Texture
|
||
|
// Description : Represents a texture object, which is typically a
|
||
|
// single 2-d image but may also represent a 1-d or 3-d
|
||
|
// texture image, or the six 2-d faces of a cube map
|
||
|
// texture.
|
||
|
//
|
||
|
// A texture's image data might be stored in system RAM
|
||
|
// (see get_ram_image()) or its image may be represented
|
||
|
// in texture memory on one or more
|
||
|
// GraphicsStateGuardians (see prepare()), or both. The
|
||
|
// typical usage pattern is that a texture is loaded
|
||
|
// from an image file on disk, which copies its image
|
||
|
// data into system RAM; then the first time the texture
|
||
|
// is rendered its image data is copied to texture
|
||
|
// memory (actually, to the graphics API), and the
|
||
|
// system RAM image is automatically freed.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
211 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
212 8 Buffer * 0 8576 26 MovieVideoCursor::Buffer * 26 MovieVideoCursor::Buffer * 0 0 176 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
213 14 Buffer const * 0 8576 32 MovieVideoCursor::Buffer const * 32 MovieVideoCursor::Buffer const * 0 0 214 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
214 12 Buffer const 0 8832 30 MovieVideoCursor::Buffer const 30 MovieVideoCursor::Buffer const 0 0 176 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
215 20 InkblotVideoCursor * 0 8576 20 InkblotVideoCursor * 20 InkblotVideoCursor * 0 0 178 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
216 12 MovieAudio * 0 8576 12 MovieAudio * 12 MovieAudio * 0 0 179 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
217 18 MovieAudioCursor * 0 8576 18 MovieAudioCursor * 18 MovieAudioCursor * 0 0 181 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
218 18 MovieAudio const * 0 8576 18 MovieAudio const * 18 MovieAudio const * 0 0 219 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
219 16 MovieAudio const 0 8832 16 MovieAudio const 16 MovieAudio const 0 0 179 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
220 17 MicrophoneAudio * 0 8576 17 MicrophoneAudio * 17 MicrophoneAudio * 0 0 180 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
221 23 MicrophoneAudio const * 0 8576 23 MicrophoneAudio const * 23 MicrophoneAudio const * 0 0 222 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
222 21 MicrophoneAudio const 0 8832 21 MicrophoneAudio const 21 MicrophoneAudio const 0 0 180 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
223 24 MovieAudioCursor const * 0 8576 24 MovieAudioCursor const * 24 MovieAudioCursor const * 0 0 224 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
224 22 MovieAudioCursor const 0 8832 22 MovieAudioCursor const 22 MovieAudioCursor const 0 0 181 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
225 10 Datagram * 0 8576 10 Datagram * 10 Datagram * 0 0 226 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
226 8 Datagram 0 2048 8 Datagram 8 Datagram 0 0 0 0 0 0 0 0 0 0 0 0 900
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : Datagram
|
||
|
// Description : An ordered list of data elements, formatted in memory
|
||
|
// for transmission over a socket or writing to a data
|
||
|
// file.
|
||
|
//
|
||
|
// Data elements should be added one at a time, in
|
||
|
// order, to the Datagram. The nature and contents of
|
||
|
// the data elements are totally up to the user. When a
|
||
|
// Datagram has been transmitted and received, its data
|
||
|
// elements may be extracted using a DatagramIterator;
|
||
|
// it is up to the caller to know the correct type of
|
||
|
// each data element in order.
|
||
|
//
|
||
|
// A Datagram is itself headerless; it is simply a
|
||
|
// collection of data elements.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
227 15 UserDataAudio * 0 8576 15 UserDataAudio * 15 UserDataAudio * 0 0 182 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
228 18 DatagramIterator * 0 8576 18 DatagramIterator * 18 DatagramIterator * 0 0 229 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
229 16 DatagramIterator 0 2048 16 DatagramIterator 16 DatagramIterator 0 0 0 0 0 0 0 0 0 0 0 0 438
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
// Class : DatagramIterator
|
||
|
// Description : A class to retrieve the individual data elements
|
||
|
// previously stored in a Datagram. Elements may be
|
||
|
// retrieved one at a time; it is up to the caller to
|
||
|
// know the correct type and order of each element.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
230 21 UserDataAudioCursor * 0 8576 21 UserDataAudioCursor * 21 UserDataAudioCursor * 0 0 183 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
231 13 VorbisAudio * 0 8576 13 VorbisAudio * 13 VorbisAudio * 0 0 184 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
232 9 istream * 0 8576 9 istream * 9 istream * 0 0 233 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
233 7 istream 0 2048 7 istream 7 istream 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
234 19 VorbisAudioCursor * 0 8576 19 VorbisAudioCursor * 19 VorbisAudioCursor * 0 0 185 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
235 10 WavAudio * 0 8576 10 WavAudio * 10 WavAudio * 0 0 186 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
236 16 WavAudioCursor * 0 8576 16 WavAudioCursor * 16 WavAudioCursor * 0 0 187 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
237 6 string 0 2048 20 basic_string< char > 20 basic_string< char > 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
0
|
||
|
0
|
||
|
1
|
||
|
238 0 0 55 11 get_options 15 get_num_options 10 get_option
|