From: Tobias Leich SD
set to 4096.
To be documented.
+ +SDL::Mixer::Music::hook_music( $callback, $position ); - or - - SDL::Mixer::Music::hook_music( &callback, $position ); -
This sets up a custom music player function, so you can pass your own audio stream data into the SDL::Mixer.
The function will be called with position
passed into the first parameter when the callback
is called.
@@ -69,7 +65,7 @@ Using a custom music player and the internal music player is not possible, the c
Note: NEVER call SDL::Mixer
functions, nor SDL::Audio::lock, from a callback function.
Note: At program termination also call SDL::Mixer::Music::hook_music()
to stop this callback.
Example:
-my $callback = sub +sub callback { my $position = shift; # position (first time its 0, on each call $length is added) my $length = shift; # length of bytes we have to put in stream @@ -83,9 +79,9 @@ Using a custom music player and the internal music player is not possible, the c } return @stream; - }; + } - SDL::Mixer::Music::hook_music( $callback, 0 ); + SDL::Mixer::Music::hook_music( 'main::callback', 0 );@@ -101,8 +97,12 @@ This happens when the music is over or is fading out.Example:
my $music_is_playing = 0; my @music = qw(first.mp3 next.mp3 other.mp3 last.mp3); - my $callback = sub{ $music_is_playing = 0; }; - SDL::Mixer::Music::hook_music_finished( $callback ); + sub callback + { + $music_is_playing = 0; + } + + SDL::Mixer::Music::hook_music_finished( 'main::callback' ); foreach my $this_song ( @music ) { diff --git a/pages/documentation.html-inc b/pages/documentation.html-inc index 74908b5..2c10aaf 100644 --- a/pages/documentation.html-inc +++ b/pages/documentation.html-inc @@ -1,2 +1,2 @@-Documentation (latest development branch)
Core SDL - Simple DirectMedia Layer for Perl SDL::Time - a SDL perl extension for managing timers.
Audio SDL::Audio - SDL Bindings for Audio
Structure SDL::AudioCVT - Audio Conversion Structure SDL::AudioSpec - SDL Bindings for structure SDL::AudioSpec
CDROM SDL::CDROM - SDL Bindings for the CDROM device
Structure SDL::CD - SDL Bindings for structure SDL_CD SDL::CDTrack - SDL Bindings for structure SDL_CDTrack
Events SDL::Events - Bindings to the Events Category in SDL API
Structure SDL::Event - General event structure
Joystick SDL::Joystick - SDL Bindings for the Joystick device
Mouse SDL::Mouse - SDL Bindings for the Mouse device
Structure SDL::Cursor - Mouse cursor structure
Structure SDL::Version - SDL Bindings for structure SDL_Version
Video SDL::Video - Bindings to the video category in SDL API
Structure SDL::Color - Format independent color description SDL::Overlay - YUV Video overlay SDL::Palette - Color palette for 8-bit pixel formats SDL::PixelFormat - Stores surface format information SDL::Rect - Defines a rectangular area SDL::Surface - Graphic surface structure. SDL::VideoInfo - Video Target Information
Cookbook SDL::Cookbook SDL::Cookbook::PDL
Extension SDL::App - a SDL perl extension
GFX SDL::GFX::Framerate - framerate calculating functions SDL::GFX::Primitives - basic drawing functions
Structure SDL::GFX::FPSManager - data structure used by SDL::GFX::Framerate
Image SDL::Image - Bindings for the SDL_Image library
Mixer SDL::Mixer - Sound and music functions SDL::Mixer::Channels - SDL::Mixer channel functions and bindings SDL::Mixer::Effects - sound effect functions SDL::Mixer::Groups - Audio channel group functions SDL::Mixer::Music - functions for music SDL::Mixer::Samples - functions for loading sound samples
Structure SDL::Mixer::MixChunk - SDL Bindings for structure SDL_MixChunk SDL::Mixer::MixMusic - SDL Bindings for structure SDL_MixMusic
Pango SDL::Pango - Text rendering engine
Structure SDL::Pango::Context - Context object for SDL::Pango
TODO
Core
MultiThread SDL::MultiThread - Bindings to the MultiThread category in SDL API
Structure SDL::RWOps - SDL Bindings to SDL_RWOPs
GFX SDL::GFX::BlitFunc - blitting functions SDL::GFX::ImageFilter - image filtering functions SDL::GFX::Rotozoom - rotation and zooming functions for surfaces
TTF SDL::TTF - True Type Font functions (libfreetype)
Structure SDL::TTF::Font - Font object type for SDL_ttf
Tutorials SDL::Tutorial - introduction to Perl SDL SDL::Tutorial::Animation SDL::Tutorial::Images SDL::Tutorial::LunarLander - a small tutorial on Perl SDL SDL::Tutorial::Pong - Get started pong SDL::Tutorial::Tetris - Let's Make Tetris +
UNCATEGORIZED SDL::Credits SDL::Font - a SDL perl extension SDL::Game::Palette - a perl extension SDL::MPEG - a SDL perl extension SDL::Music - a perl extension SDL::OpenGL - a perl extension SDL::SFont - a perl extension SDL::SMPEG - a SDL perl extension SDL::Sound - a perl extension SDL::TTFont - a SDL perl extension SDL::Tool::Font - a perl extension SDL::Tool::Graphic Documentation (latest development branch)
Core SDL - Simple DirectMedia Layer for Perl SDL::Time - a SDL perl extension for managing timers.
Audio SDL::Audio - SDL Bindings for Audio
Structure SDL::AudioCVT - Audio Conversion Structure SDL::AudioSpec - SDL Bindings for structure SDL::AudioSpec
CDROM SDL::CDROM - SDL Bindings for the CDROM device
Structure SDL::CD - SDL Bindings for structure SDL_CD SDL::CDTrack - SDL Bindings for structure SDL_CDTrack
Events SDL::Events - Bindings to the Events Category in SDL API
Structure SDL::Event - General event structure
Joystick SDL::Joystick - SDL Bindings for the Joystick device
Mouse SDL::Mouse - SDL Bindings for the Mouse device
Structure SDL::Cursor - Mouse cursor structure
Structure SDL::Version - SDL Bindings for structure SDL_Version
Video SDL::Video - Bindings to the video category in SDL API
Structure SDL::Color - Format independent color description SDL::Overlay - YUV Video overlay SDL::Palette - Color palette for 8-bit pixel formats SDL::PixelFormat - Stores surface format information SDL::Rect - Defines a rectangular area SDL::Surface - Graphic surface structure. SDL::VideoInfo - Video Target Information
Cookbook SDL::Cookbook SDL::Cookbook::PDL
Extension SDL::App - a SDL perl extension
GFX SDL::GFX::Framerate - framerate calculating functions SDL::GFX::Primitives - basic drawing functions
Structure SDL::GFX::FPSManager - data structure used by SDL::GFX::Framerate
Image SDL::Image - Bindings for the SDL_Image library
Mixer SDL::Mixer - Sound and music functions SDL::Mixer::Channels - SDL::Mixer channel functions and bindings SDL::Mixer::Effects - sound effect functions SDL::Mixer::Groups - Audio channel group functions SDL::Mixer::Music - functions for music SDL::Mixer::Samples - functions for loading sound samples
Structure SDL::Mixer::MixChunk - SDL Bindings for structure SDL_MixChunk SDL::Mixer::MixMusic - SDL Bindings for structure SDL_MixMusic
Pango SDL::Pango - Text rendering engine
Structure SDL::Pango::Context - Context object for SDL::Pango
TODO
Core
MultiThread SDL::MultiThread - Bindings to the MultiThread category in SDL API
Structure SDL::RWOps - SDL Bindings to SDL_RWOPs
GFX SDL::GFX::BlitFunc - blitting functions SDL::GFX::ImageFilter - image filtering functions SDL::GFX::Rotozoom - rotation and zooming functions for surfaces
TTF SDL::TTF - True Type Font functions (libfreetype)
Structure SDL::TTF::Font - Font object type for SDL_ttf
Tutorials SDL::Tutorial - introduction to Perl SDL SDL::Tutorial::Animation SDL::Tutorial::Images SDL::Tutorial::LunarLander - a small tutorial on Perl SDL SDL::Tutorial::Pong - Get started pong SDL::Tutorial::Tetris - Let's Make Tetris
UNCATEGORIZED SDL::Credits SDL::Font - a SDL perl extension SDL::Game::Palette - a perl extension SDL::MPEG - a SDL perl extension SDL::Music - a perl extension SDL::OpenGL - a perl extension SDL::SFont - a perl extension SDL::SMPEG - a SDL perl extension SDL::Sound - a perl extension SDL::TTFont - a SDL perl extension SDL::Tool::Font - a perl extension SDL::Tool::Graphic