Pause song

From Bennu Wiki
Revision as of 03:05, 2 October 2008 by Sandman (talk | contribs) (1 revision)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


Definition

INT pause_song ( )

Pauses the currently playing song.

Notes

The song pauses immediately, but can be resumed later by calling resume_song(). For a nicer effect, you may want to fade the music out before pausing. See fade_music_off().

Returns

INT : Error.

-1 - Error: sound inactive.
0 - No error.

Example

program music_example;
global
    my_song;
    playing;
    paused;
    faded_in;
    v;
begin
    set_mode(640,480,16);
    
    my_song=load_song("beat.ogg");
    
    
    write(0,320,30,4,"Use the keyboard to control the music playback.");
    write(0,320,50,4,"Key [ENTER] starts / stops the song.");
    write(0,320,60,4,"Key [SPACE] pauses / resumes the song.");
    write(0,320,70,4,"Key [0] through key [9] changes the song volume.");
    write(0,320,80,4,"Key [F] fades the song in or out.");
    
    write(0,320,120,5,"Playing: ");
    write_int(0,320,120,3,&playing);
    
    write(0,320,140,5,"Paused: ");
    write_int(0,320,140,3,&paused);
    
    write(0,320,160,5,"Faded in: ");
    write_int(0,320,160,3,&faded_in);
    
    write(0,320,180,5,"Volume: ");
    write_int(0,320,180,3,&v);
    
    v=128;
    faded_in=true;


    repeat
        if(key(_enter))
            if(is_playing_song())
                stop_song();
                playing=false;
            else
                play_song(my_song,1);
                playing=true;
            end
            while(key(_enter))frame;end
        end
        
        if(key(_space))
            if(paused)
                paused=false;
                resume_song();
            else
                paused=true;
                pause_song();
            end
            while(key(_space))frame;end
        end
        
        if(key(_f))
            if(faded_in)
                faded_in=false;
                fade_music_off(100);
            else
                faded_in=true;
                fade_music_in(my_song,1,100);
            end
            while(key(_f))frame;end
        end
        
        if(key(_0))v=0;end
        if(key(_1))v=14;end
        if(key(_2))v=28;end
        if(key(_3))v=43;end
        if(key(_4))v=57;end
        if(key(_5))v=71;end
        if(key(_6))v=85;end
        if(key(_7))v=100;end
        if(key(_8))v=114;end
        if(key(_9))v=128;end
        
        set_song_volume(v);

    frame;
    until(key(_esc))
    
    exit();
end

Used in example: key(), set_mode(), load_song(), write(), write_int(), pause_song(), play_song(), stop_song(), resume_song(), fade_music_in(), fade_music_off(), set_song_volume().


Sound Functions
Fade_music_in()Fade_music_off()Is_playing_song()Is_playing_wav()Load_song()Load_wav()Pause_song()Pause_wav()Play_song()Play_wav()Reserve_channels()Resume_song()Resume_wav()Reverse_stereo()Set_channel_volume()Set_distance()Set_music_position()Set_panning()Set_position()Set_song_volume()Set_Wav_Volume()Sound_close()Sound_init()Stop_song()Stop_wav()Unload_song()Unload_wav()