This wiki is out of date, use the continuation of this wiki instead

Pause song

From FenixWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 12:06, 30 July 2007 (edit)
G105b (Talk | contribs)

← Previous diff
Revision as of 12:28, 30 July 2007 (edit) (undo)
G105b (Talk | contribs)

Next diff →
Line 9: Line 9:
== Notes == == 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]]. 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]].
 +
 +== Example ==
 +<pre>
 +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
 +</pre>
 +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]].

Revision as of 12:28, 30 July 2007


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.

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.

Personal tools