SDL_image 1.2.4: Mix_SetMusicCMD

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

### 4.5.12 Mix_SetMusicCMD

`int Mix_SetMusicCMD(const char *command)`

command
  System command to play the music. Should be a complete command, as if typed in to the command line, but it should expect the filename to be added as the last argument.
  NULL will turn off using an external command for music, returning to the internal music playing functionality.

Setup a command line music player to use to play music. Any music playing will be halted. The music file to play is set by calling `Mix_LoadMUS(filename)`, and the filename is appended as the last argument on the commandline. This allows you to reuse the music command to play multiple files. The command will be sent signals SIGTERM to halt, SIGSTOP to pause, and SIGCONT to resume. The command program should react correctly to those signals for it to function properly with SDL_Mixer. `Mix_VolumeMusic` has no effect when using an external music player, and `Mix_GetError` will have an error code set. You should set the music volume in the music player's command if the music player supports that. Looping music works, by calling the command again when the previous music player process has ended. Playing music through a command uses a forked process to execute the music command.
To use the internal music players set the command to NULL.
NOTE: External music is not mixed by SDL_mixer, so no post-processing hooks will be for music.
NOTE: Playing music through an external command may not work if the sound driver does not support multiple openings of the audio device, since SDL_Mixer already has the audio device open for playing samples through channels.
NOTE: Commands are not totally portable, so be careful.

Returns: 0 on success, or -1 on any errors, such as running out of memory.

    // use mpg123 to play music
    Mix_Music *music=NULL;
    if(Mix_SetMusicCMD("mpg123 -q")==-1) {
        perror("Mix_SetMusicCMD");
    } else {
        // play some mp3 file
        music=Mix_LoadMUS("music.mp3");
        if(music) {
            Mix_PlayMusic(music,1);
        }
    }

See Also:
4.5.3 Mix_PlayMusic, 4.5.7 Mix_VolumeMusic

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated on November, 1 2002 using texi2html