--- /dev/null
+From: Denis Oliver Kropp <dok@shizo.directfb.home>
+Date: Thu, 28 Feb 2008 13:56:34 +0000 (+0100)
+Subject: [fusionsound] Follow API changes, removing remaining dependencies on <directfb.h>.
+X-Git-Url: http://git.directfb.org/?p=core%2FFusionSound.git;a=commitdiff_plain;h=3195b24014b5678b934db021a6958fcae9c09bb9
+
+[fusionsound] Follow API changes, removing remaining dependencies on <directfb.h>.
+---
+
+diff --git a/drivers/alsa.c b/drivers/alsa.c
+index 6b685d7..53c35a8 100644
+--- a/drivers/alsa.c
++++ b/drivers/alsa.c
+@@ -108,7 +108,7 @@ alsa_device_get_devname( const CoreSoundDeviceConfig *config )
+ return "default";
+ }
+
+-static DFBResult
++static DirectResult
+ alsa_device_set_configuration( snd_pcm_t *handle,
+ CoreSoundDeviceConfig *config )
+ {
+@@ -124,7 +124,7 @@ alsa_device_set_configuration( snd_pcm_t *handle,
+
+ if (snd_pcm_hw_params_any( handle, params ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't get hw params!\n" );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ if (snd_pcm_hw_params_set_access( handle, params,
+@@ -133,19 +133,19 @@ alsa_device_set_configuration( snd_pcm_t *handle,
+ : SND_PCM_ACCESS_RW_INTERLEAVED ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't set interleaved %saccess!\n",
+ fs_config->dma ? "DMA " : "" );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ if (snd_pcm_hw_params_set_format( handle, params,
+ fs2alsa_format( config->format ) ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't set format!\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ if (snd_pcm_hw_params_set_channels( handle, params,
+ FS_CHANNELS_FOR_MODE(config->mode) ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't set channels mode!\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ #if SND_LIB_VERSION >= 0x010009
+@@ -157,14 +157,14 @@ alsa_device_set_configuration( snd_pcm_t *handle,
+ if (snd_pcm_hw_params_set_rate_near( handle, params,
+ &config->rate, &dir ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't set rate!\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ dir = 0;
+ if (snd_pcm_hw_params_set_buffer_time_near( handle, params,
+ &buffertime, &dir ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't set buffertime!\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ dir = 1;
+@@ -172,12 +172,12 @@ alsa_device_set_configuration( snd_pcm_t *handle,
+ if (snd_pcm_hw_params_set_periods_near( handle, params,
+ &periods, &dir ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't set period count!\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ if (snd_pcm_hw_params( handle, params ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't set hw params!\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* Workaround for ALSA >= 1.0.9 always returning the maximum supported buffersize. */
+@@ -191,37 +191,37 @@ alsa_device_set_configuration( snd_pcm_t *handle,
+
+ if (snd_pcm_prepare( handle ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't prepare stream!\n" );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ alsa_device_getset_volume( float *get, float *set )
+ {
+- DFBResult ret = DFB_OK;
++ DirectResult ret = DR_OK;
+ snd_mixer_t *mixer;
+ snd_mixer_selem_id_t *sid;
+ snd_mixer_elem_t *elem;
+ long vol, min, max;
+
+ if (snd_mixer_open( &mixer, 0 ) < 0)
+- return DFB_IO;
++ return DR_IO;
+
+ if (snd_mixer_attach( mixer, fs_config->device ? : "default" ) < 0) {
+ snd_mixer_close( mixer );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ if (snd_mixer_selem_register( mixer, NULL, NULL ) < 0) {
+ snd_mixer_close( mixer );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ if (snd_mixer_load( mixer ) < 0) {
+ snd_mixer_close( mixer );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ snd_mixer_selem_id_malloc( &sid );
+@@ -230,7 +230,7 @@ alsa_device_getset_volume( float *get, float *set )
+ elem = snd_mixer_find_selem( mixer, sid );
+ if (!elem) {
+ snd_mixer_close( mixer );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ snd_mixer_selem_get_playback_volume_range( elem, &min, &max );
+@@ -239,12 +239,12 @@ alsa_device_getset_volume( float *get, float *set )
+ vol = *set * (float)(max - min) + min;
+
+ if (snd_mixer_selem_set_playback_volume_all( elem, vol ) < 0)
+- ret = DFB_UNSUPPORTED;
++ ret = DR_UNSUPPORTED;
+ }
+ else {
+ /* Assume equal level for all channels */
+ if (snd_mixer_selem_get_playback_volume( elem, 0, &vol ) < 0)
+- ret = DFB_UNSUPPORTED;
++ ret = DR_UNSUPPORTED;
+ else
+ *get = (float)(vol - min) / (float)(max - min);
+ }
+@@ -257,7 +257,7 @@ alsa_device_getset_volume( float *get, float *set )
+ /******************************************************************************/
+
+
+-static DFBResult
++static DirectResult
+ device_probe( void )
+ {
+ snd_pcm_t *handle;
+@@ -265,10 +265,10 @@ device_probe( void )
+ if (snd_pcm_open( &handle, fs_config->device ? : "default",
+ SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK ) == 0) {
+ snd_pcm_close( handle );
+- return DFB_OK;
++ return DR_OK;
+ }
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ static void
+@@ -296,7 +296,7 @@ device_get_driver_info( SoundDriverInfo *info )
+ info->device_data_size = sizeof(AlsaDeviceData);
+ }
+
+-static DFBResult
++static DirectResult
+ device_open( void *device_data,
+ SoundDeviceInfo *device_info,
+ CoreSoundDeviceConfig *config )
+@@ -305,18 +305,18 @@ device_open( void *device_data,
+ const char *dev;
+ snd_ctl_t *ctl;
+ snd_ctl_card_info_t *info;
+- DFBResult ret;
++ DirectResult ret;
+
+ dev = fs_config->device ? : alsa_device_get_devname( config );
+
+ if (snd_pcm_open( &data->handle, dev, SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't open pcm device '%s'!\n", dev );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ if (snd_pcm_nonblock( data->handle, 0 ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't disable non-blocking mode!\n" );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ /* device name */
+@@ -357,7 +357,7 @@ device_open( void *device_data,
+ D_INFO( "FusionSound/Device/ALSA: DMA enabled.\n" );
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static int
+@@ -382,7 +382,7 @@ try_recover( snd_pcm_t *handle, int err )
+ return err;
+ }
+
+-static DFBResult
++static DirectResult
+ device_get_buffer( void *device_data, u8 **addr, unsigned int *avail )
+ {
+ AlsaDeviceData *data = device_data;
+@@ -403,7 +403,7 @@ device_get_buffer( void *device_data, u8 **addr, unsigned int *avail )
+ if (r < 0) {
+ D_ERROR( "FusionSound/Device/ALSA: snd_pcm_avail_update() failed: %s\n",
+ snd_strerror( r ) );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+ continue;
+ }
+@@ -417,7 +417,7 @@ device_get_buffer( void *device_data, u8 **addr, unsigned int *avail )
+ if (r < 0) {
+ D_ERROR( "FusionSound/Device/ALSA: snd_pcm_avail_update() failed: %s\n",
+ snd_strerror( r ) );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+ continue;
+ }
+@@ -429,7 +429,7 @@ device_get_buffer( void *device_data, u8 **addr, unsigned int *avail )
+ if (r < 0) {
+ D_ERROR( "FusionSound/Device/ALSA: snd_pcm_mmap_begin() failed: %s\n",
+ snd_strerror( r ) );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+ continue;
+ }
+@@ -441,10 +441,10 @@ device_get_buffer( void *device_data, u8 **addr, unsigned int *avail )
+ }
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_commit_buffer( void *device_data, unsigned int frames )
+ {
+ AlsaDeviceData *data = device_data;
+@@ -460,7 +460,7 @@ device_commit_buffer( void *device_data, unsigned int frames )
+ if (r < 0) {
+ D_ERROR( "FusionSound/Device/ALSA: snd_pcm_writei() failed: %s\n",
+ snd_strerror( r ) );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+ }
+ frames -= r;
+@@ -475,7 +475,7 @@ device_commit_buffer( void *device_data, unsigned int frames )
+ if (r < 0) {
+ D_ERROR( "FusionSound/Device/ALSA: snd_pcm_mmap_commit() failed: %s\n",
+ snd_strerror( r ) );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+ continue;
+ }
+@@ -483,7 +483,7 @@ device_commit_buffer( void *device_data, unsigned int frames )
+ }
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+@@ -496,19 +496,19 @@ device_get_output_delay( void *device_data, int *delay )
+ *delay = odelay;
+ }
+
+-static DFBResult
++static DirectResult
+ device_get_volume( void *device_data, float *level )
+ {
+ return alsa_device_getset_volume( level, NULL );
+ }
+
+-static DFBResult
++static DirectResult
+ device_set_volume( void *device_data, float level )
+ {
+ return alsa_device_getset_volume( NULL, &level );
+ }
+
+-static DFBResult
++static DirectResult
+ device_suspend( void *device_data )
+ {
+ AlsaDeviceData *data = device_data;
+@@ -517,21 +517,21 @@ device_suspend( void *device_data )
+ snd_pcm_close( data->handle );
+ data->handle = NULL;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_resume( void *device_data )
+ {
+ AlsaDeviceData *data = device_data;
+ const char *dev;
+- DFBResult ret;
++ DirectResult ret;
+
+ dev = fs_config->device ? : alsa_device_get_devname( data->config );
+
+ if (snd_pcm_open( &data->handle, dev, SND_PCM_STREAM_PLAYBACK, 0 ) < 0) {
+ D_ERROR( "FusionSound/Device/Alsa: couldn't reopen pcm device '%s'!\n", dev );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ ret = alsa_device_set_configuration( data->handle, data->config );
+diff --git a/drivers/oss.c b/drivers/oss.c
+index 9e9ce8d..9b3b16e 100644
+--- a/drivers/oss.c
++++ b/drivers/oss.c
+@@ -124,7 +124,7 @@ oss2fs_format( int format )
+ return -1;
+ }
+
+-static DFBResult
++static DirectResult
+ oss_device_set_configuration( int fd, CoreSoundDeviceConfig *config )
+ {
+ int fmt;
+@@ -137,7 +137,7 @@ oss_device_set_configuration( int fd, CoreSoundDeviceConfig *config )
+
+ fmt = fs2oss_format( config->format );
+ if (fmt == -1)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* set application profile */
+ #if defined(SNDCTL_DSP_PROFILE) && defined(APF_NORMAL)
+@@ -149,20 +149,20 @@ oss_device_set_configuration( int fd, CoreSoundDeviceConfig *config )
+ if (ioctl( fd, SNDCTL_DSP_SETFMT, &fmt ) < 0 ||
+ oss2fs_format( fmt ) != config->format) {
+ D_ERROR( "FusionSound/Device/OSS: unsupported format!\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* set number of channels */
+ if (ioctl( fd, SNDCTL_DSP_CHANNELS, &channels ) < 0 ||
+ channels != FS_CHANNELS_FOR_MODE(config->mode)) {
+ D_ERROR( "FusionSound/Device/OSS: unsupported channels mode!\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* set sample rate */
+ if (ioctl( fd, SNDCTL_DSP_SPEED, &rate ) < 0) {
+ D_ERROR( "FusionSound/Device/OSS: unable to set rate to '%d'!\n", config->rate );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* query block size */
+@@ -170,18 +170,18 @@ oss_device_set_configuration( int fd, CoreSoundDeviceConfig *config )
+ buffersize /= channels * FS_BYTES_PER_SAMPLE(config->format);
+ if (buffersize < 1) {
+ D_ERROR( "FusionSound/Device/OSS: unable to query block size!\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ config->rate = rate;
+ config->buffersize = buffersize;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /******************************************************************************/
+
+-static DFBResult
++static DirectResult
+ device_probe( void )
+ {
+ int fd, fmt;
+@@ -195,17 +195,17 @@ device_probe( void )
+ }
+
+ if (fd < 0)
+- return DFB_IO;
++ return DR_IO;
+
+ /* issue a generic ioctl to test the device */
+ if (ioctl( fd, SNDCTL_DSP_GETFMTS, &fmt ) < 0) {
+ close( fd );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ close( fd );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+@@ -233,7 +233,7 @@ device_get_driver_info( SoundDriverInfo *info )
+ info->device_data_size = sizeof(OSSDeviceData);
+ }
+
+-static DFBResult
++static DirectResult
+ device_open( void *device_data,
+ SoundDeviceInfo *device_info,
+ CoreSoundDeviceConfig *config )
+@@ -241,7 +241,7 @@ device_open( void *device_data,
+ OSSDeviceData *data = device_data;
+ int mixer_fd;
+ audio_buf_info info;
+- DFBResult ret;
++ DirectResult ret;
+
+ /* open sound device in non-blocking mode */
+ if (fs_config->device) {
+@@ -254,7 +254,7 @@ device_open( void *device_data,
+
+ if (data->fd < 0) {
+ D_ERROR( "FusionSound/Device/OSS: Couldn't open output device!\n" );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ /* reset to blocking mode */
+@@ -303,10 +303,10 @@ device_open( void *device_data,
+ close( mixer_fd );
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_get_buffer( void *device_data, u8 **addr, unsigned int *avail )
+ {
+ OSSDeviceData *data = device_data;
+@@ -314,21 +314,21 @@ device_get_buffer( void *device_data, u8 **addr, unsigned int *avail )
+ *addr = data->buffer;
+ *avail = data->config->buffersize;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_commit_buffer( void *device_data, unsigned int frames )
+ {
+ OSSDeviceData *data = device_data;
+
+ if (write( data->fd, data->buffer, frames*data->bytes_per_frame ) < 0) {
+- DFBResult ret = errno2result( errno );
++ DirectResult ret = errno2result( errno );
+ D_DERROR( ret, "FusionSound/Device/OSS: couldn't write %d frames!\n", frames );
+ return ret;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+@@ -346,7 +346,7 @@ device_get_output_delay( void *device_data, int *delay )
+ *delay = (info.fragsize * info.fragstotal - info.bytes) / data->bytes_per_frame;
+ }
+
+-static DFBResult
++static DirectResult
+ device_get_volume( void *device_data, float *level )
+ {
+ int fd;
+@@ -354,22 +354,22 @@ device_get_volume( void *device_data, float *level )
+
+ fd = direct_try_open( "/dev/mixer", "/dev/sound/mixer", O_RDONLY, false );
+ if (fd < 0)
+- return DFB_IO;
++ return DR_IO;
+
+ if (ioctl( fd, SOUND_MIXER_READ_PCM, &vol ) < 0) {
+ D_PERROR( "FusionSound/Device/OSS: couldn't get volume level!\n" );
+ close( fd );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ close( fd );
+
+ *level = (float)((vol & 0xff) + ((vol >> 8) & 0xff)) / 200.0f;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_set_volume( void *device_data, float level )
+ {
+ int fd;
+@@ -377,22 +377,22 @@ device_set_volume( void *device_data, float level )
+
+ fd = direct_try_open( "/dev/mixer", "/dev/sound/mixer", O_RDONLY, false );
+ if (fd < 0)
+- return DFB_IO;
++ return DR_IO;
+
+ vol = level * 100.0f;
+ vol |= vol << 8;
+ if (ioctl( fd, SOUND_MIXER_WRITE_PCM, &vol ) < 0) {
+ D_PERROR( "FusionSound/Device/OSS: couldn't set volume level!\n" );
+ close( fd );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ close( fd );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_suspend( void *device_data )
+ {
+ OSSDeviceData *data = device_data;
+@@ -401,21 +401,21 @@ device_suspend( void *device_data )
+ close( data->fd );
+ data->fd = -1;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_resume( void *device_data )
+ {
+ OSSDeviceData *data = device_data;
+- DFBResult ret;
++ DirectResult ret;
+
+ data->fd = (fs_config->device)
+ ? open( fs_config->device, O_WRONLY )
+ : direct_try_open( "/dev/dsp", "/dev/sound/dsp", O_WRONLY, false );
+ if (data->fd < 0) {
+ D_ERROR( "FusionSound/Device/OSS: Couldn't reopen output device!\n" );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ ret = oss_device_set_configuration( data->fd, data->config );
+@@ -427,7 +427,7 @@ device_resume( void *device_data )
+
+ fcntl( data->fd, F_SETFD, FD_CLOEXEC );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+diff --git a/drivers/wave.c b/drivers/wave.c
+index f33a44d..a13514f 100644
+--- a/drivers/wave.c
++++ b/drivers/wave.c
+@@ -85,7 +85,7 @@ typedef struct {
+ /******************************************************************************/
+
+
+-static DFBResult
++static DirectResult
+ device_probe( void )
+ {
+ int fd;
+@@ -93,7 +93,7 @@ device_probe( void )
+
+ /* load only when requested */
+ if (!fs_config->driver)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ if (fs_config->device) {
+ snprintf( path, sizeof(path), "%s", fs_config->device );
+@@ -105,11 +105,11 @@ device_probe( void )
+
+ fd = open( path, O_WRONLY | O_CREAT | O_NOCTTY | O_NONBLOCK, 0644 );
+ if (fd < 0)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ close( fd );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+@@ -137,7 +137,7 @@ device_get_driver_info( SoundDriverInfo *info )
+ info->device_data_size = sizeof(WaveDeviceData);
+ }
+
+-static DFBResult
++static DirectResult
+ device_open( void *device_data,
+ SoundDeviceInfo *device_info,
+ CoreSoundDeviceConfig *config )
+@@ -147,7 +147,7 @@ device_open( void *device_data,
+ char path[4096];
+
+ if (config->format == FSSF_FLOAT)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ if (fs_config->device) {
+ snprintf( path, sizeof(path), "%s", fs_config->device );
+@@ -161,7 +161,7 @@ device_open( void *device_data,
+ if (data->fd < 0) {
+ D_ERROR( "FusionSound/Device/Wave: "
+ "couldn't open '%s' for writing!\n", path );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ /* close file descriptor on exec */
+@@ -222,16 +222,16 @@ device_open( void *device_data,
+
+ if (write( data->fd, &header, sizeof(header) ) < sizeof(header)) {
+ D_ERROR( "FusionSound/Device/Wave: write error!\n" );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ data->bits = FS_BITS_PER_SAMPLE(config->format);
+ data->channels = FS_CHANNELS_FOR_MODE(config->mode);
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_get_buffer( void *device_data, u8 **addr, unsigned int *avail )
+ {
+ WaveDeviceData *data = device_data;
+@@ -239,10 +239,10 @@ device_get_buffer( void *device_data, u8 **addr, unsigned int *avail )
+ *addr = data->buffer;
+ *avail = data->buffersize;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_commit_buffer( void *device_data, unsigned int frames )
+ {
+ WaveDeviceData *data = device_data;
+@@ -274,7 +274,7 @@ device_commit_buffer( void *device_data, unsigned int frames )
+
+ write( data->fd, buf, frames * data->channels * data->bits >> 3 );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+@@ -283,19 +283,19 @@ device_get_output_delay( void *device_data, int *delay )
+ *delay = 0;
+ }
+
+-static DFBResult
++static DirectResult
+ device_get_volume( void *device_data, float *level )
+ {
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ device_set_volume( void *device_data, float level )
+ {
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ device_suspend( void *device_data )
+ {
+ WaveDeviceData *data = device_data;
+@@ -306,10 +306,10 @@ device_suspend( void *device_data )
+ data->fd = -1;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ device_resume( void *device_data )
+ {
+ WaveDeviceData *data = device_data;
+@@ -327,13 +327,13 @@ device_resume( void *device_data )
+ data->fd = open( path, O_WRONLY | O_APPEND | O_NOCTTY );
+ if (data->fd < 0) {
+ D_ERROR( "FusionSound/Device/Wave: couldn't reopen '%s'!\n", path );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ fcntl( data->fd, F_SETFD, FD_CLOEXEC );
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+diff --git a/examples/advanced.c b/examples/advanced.c
+index d9fa898..d62ce46 100644
+--- a/examples/advanced.c
++++ b/examples/advanced.c
+@@ -17,7 +17,7 @@ static IFusionSoundPlayback *
+ prepare_test( IFusionSoundBuffer *buffer,
+ const char *name )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ IFusionSoundPlayback *playback;
+
+ ret = buffer->CreatePlayback (buffer, &playback);
+@@ -48,7 +48,7 @@ prepare_test( IFusionSoundBuffer *buffer,
+
+ #define TEST(x...) \
+ do { \
+- DFBResult ret = (x); \
++ DirectResult ret = (x); \
+ if (ret) { \
+ fprintf( stderr, "FAILED!\n\n" ); \
+ FusionSoundError (#x, ret); \
+@@ -191,7 +191,7 @@ do_playback_tests (IFusionSoundBuffer *buffer)
+
+ int main (int argc, char *argv[])
+ {
+- DFBResult ret;
++ DirectResult ret;
+ IFusionSound *sound;
+ IFusionSoundBuffer *buffer;
+
+diff --git a/examples/loader.c b/examples/loader.c
+index 373efcb..eb4b0ff 100644
+--- a/examples/loader.c
++++ b/examples/loader.c
+@@ -43,27 +43,27 @@ static void fixup_sampledata(u16 *data, int len)
+ }
+ #endif
+
+-static DFBResult
++static DirectResult
+ read_file_header (int fd)
+ {
+ char buf[12];
+
+ if (read (fd, buf, 12) < 12) {
+ fprintf (stderr, "Could not read at least 12 bytes!\n");
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ if (buf[0] != 'R' || buf[1] != 'I' || buf[2] != 'F' || buf[3] != 'F') {
+ fprintf (stderr, "No RIFF header found!\n");
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ if (buf[8] != 'W' || buf[9] != 'A' || buf[10] != 'V' || buf[11] != 'E') {
+ fprintf (stderr, "Not a WAVE!\n");
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static int
+@@ -85,7 +85,7 @@ read_chunk_header (int fd, char *magic)
+ IFusionSoundBuffer *
+ load_sample (IFusionSound *sound, const char *filename)
+ {
+- DFBResult ret;
++ DirectResult ret;
+ int fd;
+ FSBufferDescription desc;
+ IFusionSoundBuffer *buffer;
+@@ -104,7 +104,7 @@ load_sample (IFusionSound *sound, const char *filename)
+ return NULL;
+ }
+
+- while (DFB_TRUE) {
++ while (DR_TRUE) {
+ char magic[4];
+
+ len = read_chunk_header (fd, magic);
+@@ -168,7 +168,7 @@ load_sample (IFusionSound *sound, const char *filename)
+ desc.sampleformat = (fmt.bitspersample == 8) ? FSSF_U8 : FSSF_S16;
+ desc.samplerate = fmt.frequency;
+
+- while (DFB_TRUE) {
++ while (DR_TRUE) {
+ char magic[4];
+
+ len = read_chunk_header (fd, magic);
+diff --git a/examples/music.c b/examples/music.c
+index 5656bfc..c30c462 100644
+--- a/examples/music.c
++++ b/examples/music.c
+@@ -56,7 +56,7 @@ cleanup( int s )
+ exit( s );
+ }
+
+-static DFBEnumerationResult
++static DirectEnumerationResult
+ track_display_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ {
+ printf( " Track %2d: %s - %s\n", id,
+@@ -66,10 +66,10 @@ track_display_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ return DFENUM_OK;
+ }
+
+-static DFBEnumerationResult
++static DirectEnumerationResult
+ track_playback_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ FSMusicProviderStatus status = FMSTATE_UNKNOWN;
+ double len = 0;
+ static int flags = FMPLAY_NOFX;
+@@ -220,7 +220,7 @@ track_playback_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ int
+ main( int argc, char *argv[] )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ ret = FusionSoundInit( &argc, &argv );
+ if (ret)
+diff --git a/examples/music_loader.c b/examples/music_loader.c
+index d97b5a4..76def1e 100644
+--- a/examples/music_loader.c
++++ b/examples/music_loader.c
+@@ -22,7 +22,7 @@ load_sample( IFusionSound *sound, const char *file )
+ void *data;
+ int bytes;
+ int frames = 0;
+- DFBResult ret;
++ DirectResult ret;
+
+ ret = sound->CreateMusicProvider( sound, file, &provider );
+ if (ret) {
+@@ -68,7 +68,7 @@ main( int argc, char **argv )
+ {
+ IFusionSound *sound;
+ IFusionSoundBuffer *buffer;
+- DFBResult ret;
++ DirectResult ret;
+
+ ret = FusionSoundInit( &argc, &argv );
+ if (ret)
+diff --git a/examples/player.c b/examples/player.c
+index 7fc065d..d622e4b 100644
+--- a/examples/player.c
++++ b/examples/player.c
+@@ -26,10 +26,10 @@ static IFusionSoundPlayback *playback;
+ static int sample_length;
+
+
+-static DFBResult
++static DirectResult
+ create_playback( const char *filename )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ ret = FusionSoundCreate( &sound );
+ if (ret) {
+@@ -53,13 +53,13 @@ create_playback( const char *filename )
+ }
+ else {
+ playback->Start( playback, 0, -1 );
+- return DFB_OK;
++ return DR_OK;
+ }
+ }
+
+ sound->Release( sound );
+
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ static void
+@@ -101,17 +101,17 @@ slider_update( LiteSlider *slider, float pos, void *ctx )
+ static void
+ button_pressed( LiteButton *button, void *ctx )
+ {
+- static DFBBoolean stopped;
++ static bool stopped;
+
+ if (stopped) {
+ playback->Continue( playback );
+
+- stopped = DFB_FALSE;
++ stopped = false;
+ }
+ else {
+ playback->Stop( playback );
+
+- stopped = DFB_TRUE;
++ stopped = true;
+ }
+ }
+
+@@ -119,7 +119,7 @@ int
+ main (int argc, char *argv[])
+ {
+ int i;
+- DFBResult ret;
++ DirectResult ret;
+ LiteLabel *label[5];
+ LiteSlider *slider[5];
+ LiteButton *playbutton;
+@@ -195,7 +195,7 @@ main (int argc, char *argv[])
+ lite_set_window_opacity( window, 0xff );
+
+ /* run the event loop with a timeout */
+- while (lite_window_event_loop( window, 20 ) == DFB_TIMEOUT) {
++ while (lite_window_event_loop( window, 20 ) == DR_TIMEOUT) {
+ int position = 0;
+
+ playback->GetStatus( playback, NULL, &position );
+diff --git a/examples/scope.c b/examples/scope.c
+index d84d130..89f7f9d 100644
+--- a/examples/scope.c
++++ b/examples/scope.c
+@@ -65,7 +65,7 @@ buffer_callback( int len, void *ctx )
+ {
+ void *data;
+
+- if (buffer->Lock( buffer, &data, 0, 0 ) != DFB_OK)
++ if (buffer->Lock( buffer, &data, 0, 0 ) != DR_OK)
+ return FMBCR_OK;
+
+ /* draw scope */
+@@ -79,21 +79,21 @@ buffer_callback( int len, void *ctx )
+ return FMBCR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ create_playback( const char *filename )
+ {
+ FSBufferDescription b_desc;
+ FSStreamDescription s_desc;
+- DFBResult err;
++ DirectResult err;
+
+ err = FusionSoundCreate( &sound );
+- if (err != DFB_OK) {
++ if (err != DR_OK) {
+ FusionSoundError( "FusionSoundCreate() failed", err );
+ return err;
+ }
+
+ err = sound->CreateMusicProvider( sound, filename, &provider );
+- if (err != DFB_OK) {
++ if (err != DR_OK) {
+ FusionSoundError( "CreateMusicProvider() failed", err );
+ return err;
+ }
+@@ -111,25 +111,25 @@ create_playback( const char *filename )
+ s_desc.channels = 2;
+
+ err = sound->CreateStream( sound, &s_desc, &stream );
+- if (err != DFB_OK) {
++ if (err != DR_OK) {
+ FusionSoundError( "CreateStream() failed", err );
+ return err;
+ }
+
+ err = sound->CreateBuffer( sound, &b_desc, &buffer );
+- if (err != DFB_OK) {
++ if (err != DR_OK) {
+ FusionSoundError( "CreateBuffer() failed", err );
+ return err;
+ }
+
+ err = provider->PlayToBuffer( provider, buffer,
+ buffer_callback, NULL );
+- if (err != DFB_OK) {
++ if (err != DR_OK) {
+ FusionSoundError( "PlayToBuffer() failed", err );
+ return err;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+@@ -148,11 +148,11 @@ destroy_playback( void )
+ int
+ main( int argc, char **argv )
+ {
+- DFBResult err;
++ DirectResult err;
+ DFBRectangle rect;
+
+ err = DirectFBInit( &argc, &argv );
+- if (err != DFB_OK)
++ if (err != DR_OK)
+ DirectFBErrorFatal( "DirectFBInit() failed", err );
+
+ if (argc != 2) {
+@@ -161,7 +161,7 @@ main( int argc, char **argv )
+ }
+
+ err = FusionSoundInit( &argc, &argv );
+- if (err != DFB_OK)
++ if (err != DR_OK)
+ FusionSoundErrorFatal( "FusionSoundInit() failed", err );
+
+ /* initialize LiTE */
+@@ -184,7 +184,7 @@ main( int argc, char **argv )
+ lite_set_window_opacity( window, 0xff );
+
+ /* initialize FusionSound and load track */
+- if (create_playback( argv[1] ) != DFB_OK) {
++ if (create_playback( argv[1] ) != DR_OK) {
+ destroy_playback();
+ lite_destroy_window( window );
+ lite_close();
+@@ -192,12 +192,12 @@ main( int argc, char **argv )
+ }
+
+ /* event loop */
+- while (lite_window_event_loop( window, 20 ) == DFB_TIMEOUT) {
++ while (lite_window_event_loop( window, 20 ) == DR_TIMEOUT) {
+ double pos;
+
+ /* check if playback is finished */
+ err = provider->GetPos( provider, &pos );
+- if (err == DFB_EOF)
++ if (err == DR_EOF)
+ break;
+ }
+
+diff --git a/examples/simple.c b/examples/simple.c
+index add23aa..9992b96 100644
+--- a/examples/simple.c
++++ b/examples/simple.c
+@@ -12,7 +12,7 @@
+
+ int main (int argc, char *argv[])
+ {
+- DFBResult ret;
++ DirectResult ret;
+ IFusionSound *sound;
+ IFusionSoundBuffer *buffer;
+
+diff --git a/examples/stream.c b/examples/stream.c
+index e4549c9..ed64c9d 100644
+--- a/examples/stream.c
++++ b/examples/stream.c
+@@ -13,7 +13,7 @@
+ static void
+ feed_stream (IFusionSoundStream *stream)
+ {
+- DFBResult ret;
++ DirectResult ret;
+ int i;
+ s16 buf[16384];
+
+@@ -49,7 +49,7 @@ feed_stream (IFusionSoundStream *stream)
+ int
+ main (int argc, char *argv[])
+ {
+- DFBResult ret;
++ DirectResult ret;
+ IFusionSound *sound;
+ IFusionSoundStream *stream;
+ FSStreamDescription desc;
+diff --git a/include/fusionsound.h b/include/fusionsound.h
+index 26f97de..1bb94d2 100644
+--- a/include/fusionsound.h
++++ b/include/fusionsound.h
+@@ -28,7 +28,7 @@
+ #ifndef __FUSIONSOUND_H__
+ #define __FUSIONSOUND_H__
+
+-#include <directfb.h>
++#include <direct/interface.h>
+
+ #ifdef __cplusplus
+ extern "C"
+@@ -81,50 +81,50 @@ DECLARE_INTERFACE( IFusionSoundMusicProvider )
+ * Parses the command-line and initializes some variables. You absolutely need to
+ * call this before doing anything else. Removes all options used by FusionSound from argv.
+ */
+-DFBResult FusionSoundInit(
+- int *argc, /* pointer to main()'s argc */
+- char *(*argv[]) /* pointer to main()'s argv */
+- );
++DirectResult FusionSoundInit(
++ int *argc, /* pointer to main()'s argc */
++ char *(*argv[]) /* pointer to main()'s argv */
++ );
+
+ /*
+ * Sets configuration parameters supported on command line and in config file.
+ * Can only be called before FusionSoundCreate but after FusionSoundInit.
+ */
+-DFBResult FusionSoundSetOption(
+- const char *name,
+- const char *value
+- );
++DirectResult FusionSoundSetOption(
++ const char *name,
++ const char *value
++ );
+
+ /*
+ * Creates the super interface.
+ */
+-DFBResult FusionSoundCreate(
+- IFusionSound **ret_interface /* pointer to the created interface */
+- );
++DirectResult FusionSoundCreate(
++ IFusionSound **ret_interface /* pointer to the created interface */
++ );
+
+ /*
+ * Print a description of the result code along with an
+ * optional message that is put in front with a colon.
+ */
+-DFBResult FusionSoundError(
+- const char *msg, /* optional message */
+- DFBResult result /* result code to interpret */
+- );
++DirectResult FusionSoundError(
++ const char *msg, /* optional message */
++ DirectResult result /* result code to interpret */
++ );
+
+ /*
+ * Behaves like FusionSoundError, but shuts down the calling application.
+ */
+-DFBResult FusionSoundErrorFatal(
+- const char *msg, /* optional message */
+- DFBResult result /* result code to interpret */
+- );
++DirectResult FusionSoundErrorFatal(
++ const char *msg, /* optional message */
++ DirectResult result /* result code to interpret */
++ );
+
+ /*
+ * Returns a string describing 'result'.
+ */
+ const char *FusionSoundErrorString(
+- DFBResult result
+- );
++ DirectResult result
++ );
+
+ /*
+ * Retrieves information about supported command-line flags in the
+@@ -423,7 +423,7 @@ typedef struct {
+ /*
+ * Called for each track provided by a music provider.
+ */
+-typedef DFBEnumerationResult (*FSTrackCallback) (
++typedef DirectEnumerationResult (*FSTrackCallback) (
+ FSTrackID track_id,
+ FSTrackDescription desc,
+ void *callbackdata
+@@ -456,7 +456,7 @@ DEFINE_INTERFACE( IFusionSound,
+ /*
+ * Get a description of the sound device.
+ */
+- DFBResult (*GetDeviceDescription) (
++ DirectResult (*GetDeviceDescription) (
+ IFusionSound *thiz,
+ FSDeviceDescription *ret_desc
+ );
+@@ -471,7 +471,7 @@ DEFINE_INTERFACE( IFusionSound,
+ * Default values for sample rate, sample format and number of channels
+ * depend on device configuration.
+ */
+- DFBResult (*CreateBuffer) (
++ DirectResult (*CreateBuffer) (
+ IFusionSound *thiz,
+ const FSBufferDescription *desc,
+ IFusionSoundBuffer **interface
+@@ -485,7 +485,7 @@ DEFINE_INTERFACE( IFusionSound,
+ * Default values for sample rate, sample format and number of channels
+ * depend on device configuration, while ring buffer length defaults to 1/5 seconds.
+ */
+- DFBResult (*CreateStream) (
++ DirectResult (*CreateStream) (
+ IFusionSound *thiz,
+ const FSStreamDescription *desc,
+ IFusionSoundStream **interface
+@@ -494,7 +494,7 @@ DEFINE_INTERFACE( IFusionSound,
+ /*
+ * Create a music provider.
+ */
+- DFBResult (*CreateMusicProvider) (
++ DirectResult (*CreateMusicProvider) (
+ IFusionSound *thiz,
+ const char *filename,
+ IFusionSoundMusicProvider **interface
+@@ -510,7 +510,7 @@ DEFINE_INTERFACE( IFusionSound,
+ *
+ * See also <i>SetMasterVolume()</i>.
+ */
+- DFBResult (*GetMasterVolume) (
++ DirectResult (*GetMasterVolume) (
+ IFusionSound *thiz,
+ float *level
+ );
+@@ -523,7 +523,7 @@ DEFINE_INTERFACE( IFusionSound,
+ *
+ * See also <i>GetMasterVolume()</i>.
+ */
+- DFBResult (*SetMasterVolume) (
++ DirectResult (*SetMasterVolume) (
+ IFusionSound *thiz,
+ float level
+ );
+@@ -536,7 +536,7 @@ DEFINE_INTERFACE( IFusionSound,
+ *
+ * See also <i>SetLocalVolume()</i>.
+ */
+- DFBResult (*GetLocalVolume) (
++ DirectResult (*GetLocalVolume) (
+ IFusionSound *thiz,
+ float *level
+ );
+@@ -550,7 +550,7 @@ DEFINE_INTERFACE( IFusionSound,
+ *
+ * See also <i>GetLocalVolume()</i>.
+ */
+- DFBResult (*SetLocalVolume) (
++ DirectResult (*SetLocalVolume) (
+ IFusionSound *thiz,
+ float level
+ );
+@@ -564,7 +564,7 @@ DEFINE_INTERFACE( IFusionSound,
+ * No other calls to FusionSound are allowed until <i>Resume()</i>
+ * has been called.
+ */
+- DFBResult (*Suspend) (
++ DirectResult (*Suspend) (
+ IFusionSound *thiz
+ );
+
+@@ -573,7 +573,7 @@ DEFINE_INTERFACE( IFusionSound,
+ *
+ * Only to be called after <i>Suspend()</i>.
+ */
+- DFBResult (*Resume) (
++ DirectResult (*Resume) (
+ IFusionSound *thiz
+ );
+ )
+@@ -622,7 +622,7 @@ DEFINE_INTERFACE( IFusionSoundBuffer,
+ /*
+ * Get a description of the buffer.
+ */
+- DFBResult (*GetDescription) (
++ DirectResult (*GetDescription) (
+ IFusionSoundBuffer *thiz,
+ FSBufferDescription *ret_desc
+ );
+@@ -636,7 +636,7 @@ DEFINE_INTERFACE( IFusionSoundBuffer,
+ * Set the buffer position indicator (in frames)
+ * affecting subsequent playback and lock for access.
+ */
+- DFBResult (*SetPosition) (
++ DirectResult (*SetPosition) (
+ IFusionSoundBuffer *thiz,
+ int position
+ );
+@@ -652,7 +652,7 @@ DEFINE_INTERFACE( IFusionSoundBuffer,
+ *
+ * See also <i>SetPosition()</i>.
+ */
+- DFBResult (*Lock) (
++ DirectResult (*Lock) (
+ IFusionSoundBuffer *thiz,
+ void **ret_data,
+ int *ret_frames,
+@@ -662,7 +662,7 @@ DEFINE_INTERFACE( IFusionSoundBuffer,
+ /*
+ * Unlock a buffer.
+ */
+- DFBResult (*Unlock) (
++ DirectResult (*Unlock) (
+ IFusionSoundBuffer *thiz
+ );
+
+@@ -679,7 +679,7 @@ DEFINE_INTERFACE( IFusionSoundBuffer,
+ *
+ * See also <i>CreatePlayback()</i>.
+ */
+- DFBResult (*Play) (
++ DirectResult (*Play) (
+ IFusionSoundBuffer *thiz,
+ FSBufferPlayFlags flags
+ );
+@@ -692,7 +692,7 @@ DEFINE_INTERFACE( IFusionSoundBuffer,
+ *
+ * See also <i>CreatePlayback()</i>.
+ */
+- DFBResult (*Stop) (
++ DirectResult (*Stop) (
+ IFusionSoundBuffer *thiz
+ );
+
+@@ -704,7 +704,7 @@ DEFINE_INTERFACE( IFusionSoundBuffer,
+ *
+ * Each playback instance represents one concurrent playback of the buffer.
+ */
+- DFBResult (*CreatePlayback) (
++ DirectResult (*CreatePlayback) (
+ IFusionSoundBuffer *thiz,
+ IFusionSoundPlayback **interface
+ );
+@@ -739,7 +739,7 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ /*
+ * Get a description of the stream.
+ */
+- DFBResult (*GetDescription) (
++ DirectResult (*GetDescription) (
+ IFusionSoundStream *thiz,
+ FSStreamDescription *ret_desc
+ );
+@@ -758,7 +758,7 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ *
+ * If this method returns successfully, all data has been written.
+ */
+- DFBResult (*Write) (
++ DirectResult (*Write) (
+ IFusionSoundStream *thiz,
+ const void *data,
+ int length
+@@ -772,7 +772,7 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ *
+ * Specifying a <b>length</b> of zero waits until playback has finished.
+ */
+- DFBResult (*Wait) (
++ DirectResult (*Wait) (
+ IFusionSoundStream *thiz,
+ int length
+ );
+@@ -787,13 +787,13 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ *
+ * Simply pass NULL for values that are not of interest.
+ */
+- DFBResult (*GetStatus) (
++ DirectResult (*GetStatus) (
+ IFusionSoundStream *thiz,
+ int *filled,
+ int *total,
+ int *read_position,
+ int *write_position,
+- DFBBoolean *playing
++ bool *playing
+ );
+
+ /*
+@@ -802,7 +802,7 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ * This method stops the playback immediately and
+ * discards any buffered data.
+ */
+- DFBResult (*Flush) (
++ DirectResult (*Flush) (
+ IFusionSoundStream *thiz
+ );
+
+@@ -812,7 +812,7 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ * This method discards any pending input data,
+ * making <i>Write()</i> return as soon as possible.
+ */
+- DFBResult (*Drop) (
++ DirectResult (*Drop) (
+ IFusionSoundStream *thiz
+ );
+
+@@ -830,7 +830,7 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ * Even if the stream is not playing, e.g. due to pre-buffering,
+ * the method behaves as if the playback has just been started.
+ */
+- DFBResult (*GetPresentationDelay) (
++ DirectResult (*GetPresentationDelay) (
+ IFusionSoundStream *thiz,
+ int *delay
+ );
+@@ -845,7 +845,7 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ * This includes volume, pitch and pan settings as well as manual starting, pausing or
+ * stopping of the playback.
+ */
+- DFBResult (*GetPlayback) (
++ DirectResult (*GetPlayback) (
+ IFusionSoundStream *thiz,
+ IFusionSoundPlayback **interface
+ );
+@@ -865,7 +865,7 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ * After filling the ring buffer, call <i>Commit()</i> to submit
+ * the samples to the stream.
+ */
+- DFBResult (*Access) (
++ DirectResult (*Access) (
+ IFusionSoundStream *thiz,
+ void **ret_data,
+ int *ret_avail
+@@ -876,7 +876,7 @@ DEFINE_INTERFACE( IFusionSoundStream,
+ *
+ * Commit <b>length</b> frames of data written upon previous <i>Access()</i>.
+ */
+- DFBResult (*Commit) (
++ DirectResult (*Commit) (
+ IFusionSoundStream *thiz,
+ int length
+ );
+@@ -928,7 +928,7 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ *
+ * This method can be used for seeking if the playback is already running.
+ */
+- DFBResult (*Start) (
++ DirectResult (*Start) (
+ IFusionSoundPlayback *thiz,
+ int start,
+ int stop
+@@ -940,7 +940,7 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ * This method stops a running playback. The playback can be continued
+ * by calling <i>Continue()</i> or restarted using <i>Start()</i>.
+ */
+- DFBResult (*Stop) (
++ DirectResult (*Stop) (
+ IFusionSoundPlayback *thiz
+ );
+
+@@ -963,7 +963,7 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ * <i>IFusionSoundBuffer::Play()</i>, but rejects multiple concurrent
+ * playbacks.
+ */
+- DFBResult (*Continue) (
++ DirectResult (*Continue) (
+ IFusionSoundPlayback *thiz
+ );
+
+@@ -975,7 +975,7 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ * If the playback is in looping mode the method returns immediately
+ * with an error.
+ */
+- DFBResult (*Wait) (
++ DirectResult (*Wait) (
+ IFusionSoundPlayback *thiz
+ );
+
+@@ -990,9 +990,9 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ * It also returns the current playback <b>position</b> or the position
+ * where <i>Continue()</i> would start to play.
+ */
+- DFBResult (*GetStatus) (
++ DirectResult (*GetStatus) (
+ IFusionSoundPlayback *thiz,
+- DFBBoolean *running,
++ bool *running,
+ int *position
+ );
+
+@@ -1005,7 +1005,7 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ * The <b>level</b> is a linear factor being 1.0f by default, currently
+ * ranges from 0.0f to 64.0f due to internal mixing limitations.
+ */
+- DFBResult (*SetVolume) (
++ DirectResult (*SetVolume) (
+ IFusionSoundPlayback *thiz,
+ float level
+ );
+@@ -1015,7 +1015,7 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ *
+ * The <b>value</b> ranges from -1.0f (left) to 1.0f (right).
+ */
+- DFBResult (*SetPan) (
++ DirectResult (*SetPan) (
+ IFusionSoundPlayback *thiz,
+ float value
+ );
+@@ -1026,7 +1026,7 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ * The <b>value</b> is a linear factor being 1.0f by default, currently
+ * ranges from 0.0f to 64.0f due to internal mixing limitations.
+ */
+- DFBResult (*SetPitch) (
++ DirectResult (*SetPitch) (
+ IFusionSoundPlayback *thiz,
+ float value
+ );
+@@ -1034,7 +1034,7 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ /*
+ * Set the direction of the playback.
+ */
+- DFBResult (*SetDirection) (
++ DirectResult (*SetDirection) (
+ IFusionSoundPlayback *thiz,
+ FSPlaybackDirection direction
+ );
+@@ -1047,7 +1047,7 @@ DEFINE_INTERFACE( IFusionSoundPlayback,
+ * Levels are linear factors ranging from 0.0f to 1.0f and
+ * being 0.707f (-3dB) by default.
+ */
+- DFBResult (*SetDownmixLevels) (
++ DirectResult (*SetDownmixLevels) (
+ IFusionSoundPlayback *thiz,
+ float center,
+ float rear
+@@ -1077,7 +1077,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ * Retrieve information about the music provider's
+ * capabilities.
+ */
+- DFBResult (*GetCapabilities) (
++ DirectResult (*GetCapabilities) (
+ IFusionSoundMusicProvider *thiz,
+ FSMusicProviderCapabilities *ret_caps
+ );
+@@ -1090,7 +1090,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ * used to select a track for playback using
+ * IFusionSoundMusicProvider::SelectTrack().
+ */
+- DFBResult (*EnumTracks) (
++ DirectResult (*EnumTracks) (
+ IFusionSoundMusicProvider *thiz,
+ FSTrackCallback callback,
+ void *callbackdata
+@@ -1099,7 +1099,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ /*
+ * Get the unique ID of the current track.
+ */
+- DFBResult (*GetTrackID) (
++ DirectResult (*GetTrackID) (
+ IFusionSoundMusicProvider *thiz,
+ FSTrackID *ret_track_id
+ );
+@@ -1107,7 +1107,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ /*
+ * Get a description of the current track.
+ */
+- DFBResult (*GetTrackDescription) (
++ DirectResult (*GetTrackDescription) (
+ IFusionSoundMusicProvider *thiz,
+ FSTrackDescription *ret_desc
+ );
+@@ -1116,7 +1116,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ * Get a stream description that best matches the music
+ * contained in the file.
+ */
+- DFBResult (*GetStreamDescription) (
++ DirectResult (*GetStreamDescription) (
+ IFusionSoundMusicProvider *thiz,
+ FSStreamDescription *ret_desc
+ );
+@@ -1128,7 +1128,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ * The music provider is responsible of returning a
+ * buffer description suitable for holding the whole track.
+ */
+- DFBResult (*GetBufferDescription) (
++ DirectResult (*GetBufferDescription) (
+ IFusionSoundMusicProvider *thiz,
+ FSBufferDescription *ret_desc
+ );
+@@ -1138,7 +1138,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ /*
+ * Select a track by its unique ID.
+ */
+- DFBResult (*SelectTrack) (
++ DirectResult (*SelectTrack) (
+ IFusionSoundMusicProvider *thiz,
+ FSTrackID track_id
+ );
+@@ -1147,7 +1147,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ * Play selected track rendering it into
+ * the destination stream.
+ */
+- DFBResult (*PlayToStream) (
++ DirectResult (*PlayToStream) (
+ IFusionSoundMusicProvider *thiz,
+ IFusionSoundStream *destination
+ );
+@@ -1162,7 +1162,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ * samples per channels actually written
+ * to the destination buffer.
+ */
+- DFBResult (*PlayToBuffer) (
++ DirectResult (*PlayToBuffer) (
+ IFusionSoundMusicProvider *thiz,
+ IFusionSoundBuffer *destination,
+ FMBufferCallback callback,
+@@ -1172,14 +1172,14 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ /*
+ * Stop playback.
+ */
+- DFBResult (*Stop) (
++ DirectResult (*Stop) (
+ IFusionSoundMusicProvider *thiz
+ );
+
+ /*
+ * Get playback status.
+ */
+- DFBResult (*GetStatus) (
++ DirectResult (*GetStatus) (
+ IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus *ret_status
+ );
+@@ -1189,7 +1189,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ /*
+ * Seeks to a position within the current track.
+ */
+- DFBResult (*SeekTo) (
++ DirectResult (*SeekTo) (
+ IFusionSoundMusicProvider *thiz,
+ double seconds
+ );
+@@ -1197,7 +1197,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ /*
+ * Gets current position within the current track.
+ */
+- DFBResult (*GetPos) (
++ DirectResult (*GetPos) (
+ IFusionSoundMusicProvider *thiz,
+ double *ret_seconds
+ );
+@@ -1205,7 +1205,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ /*
+ * Gets the length of the current track.
+ */
+- DFBResult (*GetLength) (
++ DirectResult (*GetLength) (
+ IFusionSoundMusicProvider *thiz,
+ double *ret_seconds
+ );
+@@ -1215,7 +1215,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ /*
+ * Set the flags controlling playback.
+ */
+- DFBResult (*SetPlaybackFlags) (
++ DirectResult (*SetPlaybackFlags) (
+ IFusionSoundMusicProvider *thiz,
+ FSMusicProviderPlaybackFlags flags
+ );
+@@ -1228,7 +1228,7 @@ DEFINE_INTERFACE( IFusionSoundMusicProvider,
+ * if the specified <b>timeout</b> in milliseconds
+ * is non-zero, until timeout expires.
+ */
+- DFBResult (*WaitStatus) (
++ DirectResult (*WaitStatus) (
+ IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus mask,
+ unsigned int timeout
+diff --git a/interfaces/IFusionSound/ifusionsound_module.c b/interfaces/IFusionSound/ifusionsound_module.c
+index 3cd23a3..a1025fa 100644
+--- a/interfaces/IFusionSound/ifusionsound_module.c
++++ b/interfaces/IFusionSound/ifusionsound_module.c
+@@ -36,9 +36,9 @@
+ #include <direct/interface.h>
+
+
+-static DFBResult Probe( void *arg );
++static DirectResult Probe( void *arg );
+
+-static DFBResult Construct( IFusionSound *thiz, void *arg );
++static DirectResult Construct( IFusionSound *thiz, void *arg );
+
+ #include <direct/interface_implementation.h>
+
+@@ -47,17 +47,17 @@ DIRECT_INTERFACE_IMPLEMENTATION( IFusionSound, default )
+
+ /* exported symbols */
+
+-static DFBResult
++static DirectResult
+ Probe( void *arg )
+ {
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSound *thiz,
+ void *arg )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ ret = FusionSoundInit( NULL, NULL );
+ if (ret) {
+diff --git a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_cdda.c b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_cdda.c
+index 4e5269d..20603a6 100644
+--- a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_cdda.c
++++ b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_cdda.c
+@@ -47,10 +47,10 @@
+ #include <direct/thread.h>
+ #include <direct/util.h>
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx );
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream );
+@@ -116,21 +116,21 @@ typedef struct {
+
+ #include <linux/cdrom.h>
+
+-static DFBResult
++static DirectResult
+ cdda_probe( int fd )
+ {
+ struct cdrom_tochdr tochdr;
+
+ if (ioctl( fd, CDROM_DRIVE_STATUS, CDSL_CURRENT ) != CDS_DISC_OK)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ if (ioctl( fd, CDROMREADTOCHDR, &tochdr ) < 0)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ unsigned int *ret_num )
+ {
+@@ -146,14 +146,14 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ if (ioctl( fd, CDROMREADTOCHDR, &tochdr ) == -1) {
+ D_PERROR( "IFusionSoundMusicProvide_CDDA: "
+ "ioctl( CDROMREADTOCHDR ) failed!\n" );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ ms.addr_format = CDROM_LBA;
+ if (ioctl( fd, CDROMMULTISESSION, &ms ) == -1) {
+ D_PERROR( "IFusionSoundMusicProvide_CDDA: "
+ "ioctl( CDROMMULTISESSION ) failed!\n" );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ total_tracks = tochdr.cdth_trk1 - tochdr.cdth_trk0 + 1;
+@@ -172,7 +172,7 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ D_PERROR( "IFusionSoundMusicProvide_CDDA: "
+ "ioctl( CDROMREADTOCENTRY ) failed!\n" );
+ D_FREE( tracks );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ /* skip data tracks */
+@@ -190,7 +190,7 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+
+ if (total_tracks < 1) {
+ D_FREE( tracks );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ memset( &tocentry, 0, sizeof(tocentry) );
+@@ -202,7 +202,7 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ D_PERROR( "IFusionSoundMusicProvide_CDDA: "
+ "ioctl( CDROMREADTOCENTRY ) failed!\n" );
+ D_FREE( tracks );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ if (!ms.xa_flag) {
+@@ -221,7 +221,7 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ *ret_tracks = tracks;
+ *ret_num = total_tracks;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static int
+@@ -246,18 +246,18 @@ cdda_read_audio( int fd, u8 *buf, int pos, int len )
+
+ #include <sys/cdio.h>
+
+-static DFBResult
++static DirectResult
+ cdda_probe( int fd )
+ {
+ struct ioc_toc_header tochdr;
+
+ if (ioctl( fd, CDIOREADTOCHEADER, &tochdr ) < 0)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ unsigned int *ret_num )
+ {
+@@ -272,7 +272,7 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ if (ioctl( fd, CDIOREADTOCHEADER, &tochdr ) == -1) {
+ D_PERROR( "IFusionSoundMusicProvide_CDDA: "
+ "ioctl( CDIOREADTOCHEADER ) failed!\n" );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ total_tracks = tochdr.ending_track - tochdr.starting_track + 1;
+@@ -291,7 +291,7 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ D_PERROR( "IFusionSoundMusicProvide_CDDA: "
+ "ioctl( CDIOREADTOCENTRY ) failed!\n" );
+ D_FREE( tracks );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ /* skip data tracks */
+@@ -309,7 +309,7 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+
+ if (total_tracks < 1) {
+ D_FREE( tracks );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ memset( &tocentry, 0, sizeof(tocentry) );
+@@ -321,7 +321,7 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ D_PERROR( "IFusionSoundMusicProvide_CDDA: "
+ "ioctl( CDIOREADTOCENTRY ) failed!\n" );
+ D_FREE( tracks );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ msf_lba = tocentry.entry.addr;
+@@ -336,7 +336,7 @@ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ *ret_tracks = tracks;
+ *ret_num = total_tracks;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static int
+@@ -359,18 +359,18 @@ cdda_read_audio( int fd, u8 *buf, int pos, int len )
+
+ #else
+
+-static DFBResult
++static DirectResult
+ cdda_probe( int fd )
+ {
+ D_WARN( "unsupported system" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ cdda_build_tracklits( int fd, struct cdda_track **ret_tracks,
+ unsigned int *ret_num )
+ {
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ static int
+@@ -648,17 +648,17 @@ IFusionSoundMusicProvider_CDDA_Destruct( IFusionSoundMusicProvider *thiz )
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_AddRef( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_Release( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+@@ -666,24 +666,24 @@ IFusionSoundMusicProvider_CDDA_Release( IFusionSoundMusicProvider *thiz )
+ if (--data->ref == 0)
+ IFusionSoundMusicProvider_CDDA_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_GetCapabilities( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderCapabilities *caps )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!caps)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *caps = FMCAPS_BASIC | FMCAPS_SEEK;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_EnumTracks( IFusionSoundMusicProvider *thiz,
+ FSTrackCallback callback,
+ void *callbackdata )
+@@ -694,7 +694,7 @@ IFusionSoundMusicProvider_CDDA_EnumTracks( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!callback)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ for (i = 0; i < data->total_tracks; i++) {
+ struct cdda_track *track = &data->tracks[i];
+@@ -718,24 +718,24 @@ IFusionSoundMusicProvider_CDDA_EnumTracks( IFusionSoundMusicProvider *thiz,
+ break;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_GetTrackID( IFusionSoundMusicProvider *thiz,
+ FSTrackID *ret_track_id )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!ret_track_id)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *ret_track_id = data->current_track;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_GetTrackDescription( IFusionSoundMusicProvider *thiz,
+ FSTrackDescription *desc )
+ {
+@@ -744,7 +744,7 @@ IFusionSoundMusicProvider_CDDA_GetTrackDescription( IFusionSoundMusicProvider *t
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ memset( desc, 0, sizeof(FSTrackDescription) );
+
+@@ -763,17 +763,17 @@ IFusionSoundMusicProvider_CDDA_GetTrackDescription( IFusionSoundMusicProvider *t
+ direct_snputs( desc->encoding, "PCM 16 bit", FS_TRACK_DESC_ENCODING_LENGTH );
+ desc->bitrate = CD_FRAMES_PER_SECOND * CD_BYTES_PER_FRAME * 8;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_GetStreamDescription( IFusionSoundMusicProvider *thiz,
+ FSStreamDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSSDF_SAMPLERATE | FSSDF_CHANNELS |
+ FSSDF_SAMPLEFORMAT | FSSDF_BUFFERSIZE;
+@@ -782,10 +782,10 @@ IFusionSoundMusicProvider_CDDA_GetStreamDescription( IFusionSoundMusicProvider *
+ desc->sampleformat = FSSF_S16;
+ desc->buffersize = 4704;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_GetBufferDescription( IFusionSoundMusicProvider *thiz,
+ FSBufferDescription *desc )
+ {
+@@ -794,7 +794,7 @@ IFusionSoundMusicProvider_CDDA_GetBufferDescription( IFusionSoundMusicProvider *
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ track = &data->tracks[data->current_track];
+
+@@ -807,23 +807,23 @@ IFusionSoundMusicProvider_CDDA_GetBufferDescription( IFusionSoundMusicProvider *
+ if (desc->length > FS_MAX_FRAMES)
+ desc->length = FS_MAX_FRAMES;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_SelectTrack( IFusionSoundMusicProvider *thiz,
+ FSTrackID track_id )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (track_id > data->total_tracks)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+ data->current_track = track_id;
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -914,7 +914,7 @@ CDDAStreamThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_PlayToStream( IFusionSoundMusicProvider *thiz,
+ IFusionSoundStream *destination )
+ {
+@@ -924,17 +924,17 @@ IFusionSoundMusicProvider_CDDA_PlayToStream( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check whether destination samplerate is supported */
+ if (desc.samplerate != 44100)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether number of channels is supported */
+ if (desc.channels > 2)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether destination format is supported */
+ switch (desc.sampleformat) {
+@@ -945,12 +945,12 @@ IFusionSoundMusicProvider_CDDA_PlayToStream( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* check destination buffer size */
+ if (desc.buffersize < CD_BYTES_PER_FRAME/4)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -985,7 +985,7 @@ IFusionSoundMusicProvider_CDDA_PlayToStream( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -1013,7 +1013,7 @@ CDDABufferThread( DirectThread *thread, void *ctx )
+ data->tracks[data->current_track].length - pos );
+ pos += data->tracks[data->current_track].start;
+
+- if (buffer->Lock( buffer, (void*)&dst, &size, 0 ) != DFB_OK) {
++ if (buffer->Lock( buffer, (void*)&dst, &size, 0 ) != DR_OK) {
+ D_ERROR( "IFusionSoundMusicProvider_CDDA: "
+ "Couldn't lock destination buffer!\n" );
+ data->status = FMSTATE_FINISHED;
+@@ -1073,7 +1073,7 @@ CDDABufferThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ IFusionSoundBuffer *destination,
+ FMBufferCallback callback,
+@@ -1085,17 +1085,17 @@ IFusionSoundMusicProvider_CDDA_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check whether destination samplerate is supported */
+ if (desc.samplerate != 44100)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether number of channels is supported */
+ if (desc.channels > 2)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether destination format is supported */
+ switch (desc.sampleformat) {
+@@ -1106,12 +1106,12 @@ IFusionSoundMusicProvider_CDDA_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* check destination buffer size */
+ if (desc.length < CD_BYTES_PER_FRAME/4)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -1148,10 +1148,10 @@ IFusionSoundMusicProvider_CDDA_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_Stop( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+@@ -1164,24 +1164,24 @@ IFusionSoundMusicProvider_CDDA_Stop( IFusionSoundMusicProvider *thiz )
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_GetStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus *status )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!status)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *status = data->status;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_SeekTo( IFusionSoundMusicProvider *thiz,
+ double seconds )
+ {
+@@ -1191,22 +1191,22 @@ IFusionSoundMusicProvider_CDDA_SeekTo( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (seconds < 0.0)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ track = &data->tracks[data->current_track];
+ frame = seconds * CD_FRAMES_PER_SECOND;
+ if (frame >= track->length)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ pthread_mutex_lock( &data->lock );
+ track->frame = frame;
+ data->seeked = true;
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_GetPos( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+@@ -1215,15 +1215,15 @@ IFusionSoundMusicProvider_CDDA_GetPos( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ track = &data->tracks[data->current_track];
+ *seconds = (double)track->frame / CD_FRAMES_PER_SECOND;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_GetLength( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+@@ -1232,29 +1232,29 @@ IFusionSoundMusicProvider_CDDA_GetLength( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ track = &data->tracks[data->current_track];
+ *seconds = (double)track->length / CD_FRAMES_PER_SECOND;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_SetPlaybackFlags( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderPlaybackFlags flags )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (flags & ~FMPLAY_LOOPING)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ data->flags = flags;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_CDDA_WaitStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus mask,
+ unsigned int timeout )
+@@ -1262,7 +1262,7 @@ IFusionSoundMusicProvider_CDDA_WaitStatus( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_CDDA )
+
+ if (!mask || mask & ~FMSTATE_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (timeout) {
+ struct timespec t;
+@@ -1274,18 +1274,18 @@ IFusionSoundMusicProvider_CDDA_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ #ifdef HAVE_PTHREAD_MUTEX_TIMEDLOCK
+ if (pthread_mutex_timedlock( &data->lock, &t ))
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ #else
+ while (pthread_mutex_trylock( &data->lock )) {
+ usleep( 1000 );
+ if (direct_clock_get_abs_micros() >= s)
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ #endif
+ while (!(data->status & mask)) {
+ if (pthread_cond_timedwait( &data->cond, &data->lock, &t ) == ETIMEDOUT) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ }
+ }
+@@ -1298,23 +1298,23 @@ IFusionSoundMusicProvider_CDDA_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /* exported symbols */
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx )
+ {
+ return cdda_probe( direct_stream_fileno( ctx->stream ) );
+ }
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream )
+ {
+- DFBResult err;
++ DirectResult err;
+
+ DIRECT_ALLOCATE_INTERFACE_DATA( thiz, IFusionSoundMusicProvider_CDDA )
+
+@@ -1324,7 +1324,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ data->fd = dup( direct_stream_fileno( stream ) );
+ if (data->fd < 0) {
+ IFusionSoundMusicProvider_CDDA_Destruct( thiz );
+- return DFB_IO;
++ return DR_IO;
+ }
+
+ /* reset to blocking mode */
+@@ -1332,7 +1332,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ fcntl( data->fd, F_GETFL ) & ~O_NONBLOCK );
+
+ err = cdda_build_tracklits( data->fd, &data->tracks, &data->total_tracks );
+- if (err != DFB_OK) {
++ if (err != DR_OK) {
+ IFusionSoundMusicProvider_CDDA_Destruct( thiz );
+ return err;
+ }
+@@ -1364,6 +1364,6 @@ Construct( IFusionSoundMusicProvider *thiz,
+ thiz->SetPlaybackFlags = IFusionSoundMusicProvider_CDDA_SetPlaybackFlags;
+ thiz->WaitStatus = IFusionSoundMusicProvider_CDDA_WaitStatus;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c
+index 9302248..2a99a16 100644
+--- a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c
++++ b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c
+@@ -44,10 +44,10 @@
+ #include <avcodec.h>
+ #include <avformat.h>
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx );
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream );
+@@ -113,7 +113,7 @@ av_read_callback( void *opaque, uint8_t *buf, int size )
+ ret = direct_stream_read( data->stream, size, buf+len, &read );
+ if (ret) {
+ if (!len)
+- return (ret == DFB_EOF) ? 0 : -1;
++ return (ret == DR_EOF) ? 0 : -1;
+ break;
+ }
+ len += read;
+@@ -147,11 +147,11 @@ av_seek_callback( void *opaque, offset_t offset, int whence )
+ ret = direct_stream_seek( data->stream, pos-offset );
+ break;
+ default:
+- ret = DFB_UNSUPPORTED;
++ ret = DR_UNSUPPORTED;
+ break;
+ }
+
+- if (ret != DFB_OK)
++ if (ret != DR_OK)
+ return -1;
+
+ return direct_stream_offset( data->stream );
+@@ -435,17 +435,17 @@ IFusionSoundMusicProvider_FFmpeg_Destruct( IFusionSoundMusicProvider *thiz )
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_AddRef( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_Release( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+@@ -453,33 +453,33 @@ IFusionSoundMusicProvider_FFmpeg_Release( IFusionSoundMusicProvider *thiz )
+ if (--data->ref == 0)
+ IFusionSoundMusicProvider_FFmpeg_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_GetCapabilities( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderCapabilities *caps )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!caps)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *caps = FMCAPS_BASIC;
+ if (direct_stream_seekable( data->stream ))
+ *caps |= FMCAPS_SEEK;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_GetTrackDescription( IFusionSoundMusicProvider *thiz,
+ FSTrackDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ direct_snputs( desc->artist, data->ctx->author, FS_TRACK_DESC_ARTIST_LENGTH );
+ direct_snputs( desc->title, data->ctx->title, FS_TRACK_DESC_TITLE_LENGTH );
+@@ -490,17 +490,17 @@ IFusionSoundMusicProvider_FFmpeg_GetTrackDescription( IFusionSoundMusicProvider
+ desc->bitrate = data->codec->bit_rate;
+ desc->replaygain = desc->replaygain_album = 0;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_GetStreamDescription( IFusionSoundMusicProvider *thiz,
+ FSStreamDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSSDF_SAMPLERATE | FSSDF_CHANNELS |
+ FSSDF_SAMPLEFORMAT | FSSDF_BUFFERSIZE;
+@@ -509,17 +509,17 @@ IFusionSoundMusicProvider_FFmpeg_GetStreamDescription( IFusionSoundMusicProvider
+ desc->sampleformat = FSSF_S16;
+ desc->buffersize = desc->samplerate/8;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_GetBufferDescription( IFusionSoundMusicProvider *thiz,
+ FSBufferDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSBDF_SAMPLERATE | FSBDF_CHANNELS |
+ FSBDF_SAMPLEFORMAT | FSBDF_LENGTH;
+@@ -531,7 +531,7 @@ IFusionSoundMusicProvider_FFmpeg_GetBufferDescription( IFusionSoundMusicProvider
+ else
+ desc->length = MIN((s64)data->ctx->duration*desc->samplerate/AV_TIME_BASE, FS_MAX_FRAMES);
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -644,7 +644,7 @@ FFmpegStreamThread( DirectThread *thread, void *ctx )
+ return (void*)0;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_PlayToStream( IFusionSoundMusicProvider *thiz,
+ IFusionSoundStream *destination )
+ {
+@@ -653,16 +653,16 @@ IFusionSoundMusicProvider_FFmpeg_PlayToStream( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->dest.stream == destination)
+- return DFB_OK;
++ return DR_OK;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check whether destination samplerate is supported */
+ if (desc.samplerate != data->codec->sample_rate)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether destination format is supported */
+ switch (desc.sampleformat) {
+@@ -673,7 +673,7 @@ IFusionSoundMusicProvider_FFmpeg_PlayToStream( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* check whether destination mode is supported */
+@@ -693,7 +693,7 @@ IFusionSoundMusicProvider_FFmpeg_PlayToStream( IFusionSoundMusicProvider *thiz,
+ case FSCM_SURROUND51:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -703,7 +703,7 @@ IFusionSoundMusicProvider_FFmpeg_PlayToStream( IFusionSoundMusicProvider *thiz,
+ if (data->finished) {
+ if (av_seek_frame( data->ctx, -1, 0, AVSEEK_FLAG_BACKWARD ) < 0) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+ data->finished = false;
+ }
+@@ -712,7 +712,7 @@ IFusionSoundMusicProvider_FFmpeg_PlayToStream( IFusionSoundMusicProvider *thiz,
+ data->buf = D_MALLOC( AVCODEC_MAX_AUDIO_FRAME_SIZE );
+ if (!data->buf) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_NOSYSTEMMEMORY;
++ return DR_NOLOCALMEMORY;
+ }
+ }
+
+@@ -730,7 +730,7 @@ IFusionSoundMusicProvider_FFmpeg_PlayToStream( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -860,7 +860,7 @@ FFmpegBufferThread( DirectThread *thread, void *ctx )
+ return (void*)0;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ IFusionSoundBuffer *destination,
+ FMBufferCallback callback,
+@@ -871,16 +871,16 @@ IFusionSoundMusicProvider_FFmpeg_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->dest.buffer == destination)
+- return DFB_OK;
++ return DR_OK;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check whether destination samplerate is supported */
+ if (desc.samplerate != data->codec->sample_rate)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether destination format is supported */
+ switch (desc.sampleformat) {
+@@ -891,7 +891,7 @@ IFusionSoundMusicProvider_FFmpeg_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* check whether destination mode is supported */
+@@ -911,7 +911,7 @@ IFusionSoundMusicProvider_FFmpeg_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ case FSCM_SURROUND51:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -921,7 +921,7 @@ IFusionSoundMusicProvider_FFmpeg_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ if (data->finished) {
+ if (av_seek_frame( data->ctx, -1, 0, AVSEEK_FLAG_BACKWARD ) < 0) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+ data->finished = false;
+ }
+@@ -930,7 +930,7 @@ IFusionSoundMusicProvider_FFmpeg_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ data->buf = D_MALLOC( AVCODEC_MAX_AUDIO_FRAME_SIZE );
+ if (!data->buf) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_NOSYSTEMMEMORY;
++ return DR_NOLOCALMEMORY;
+ }
+ }
+
+@@ -951,10 +951,10 @@ IFusionSoundMusicProvider_FFmpeg_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_Stop( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+@@ -967,41 +967,41 @@ IFusionSoundMusicProvider_FFmpeg_Stop( IFusionSoundMusicProvider *thiz )
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_GetStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus *status )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!status)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *status = data->status;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_SeekTo( IFusionSoundMusicProvider *thiz,
+ double seconds )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ s64 time;
+
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (seconds < 0.0)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (!direct_stream_seekable( data->stream ))
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ time = seconds * AV_TIME_BASE;
+ if (data->ctx->duration != AV_NOPTS_VALUE && time > data->ctx->duration)
+- return DFB_OK;
++ return DR_OK;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -1010,10 +1010,10 @@ IFusionSoundMusicProvider_FFmpeg_SeekTo( IFusionSoundMusicProvider *thiz,
+ data->seeked = true;
+ data->finished = false;
+ data->pts = time;
+- ret = DFB_OK;
++ ret = DR_OK;
+ }
+ else {
+- ret = DFB_FAILURE;
++ ret = DR_FAILURE;
+ }
+
+ pthread_mutex_unlock( &data->lock );
+@@ -1021,7 +1021,7 @@ IFusionSoundMusicProvider_FFmpeg_SeekTo( IFusionSoundMusicProvider *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_GetPos( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+@@ -1030,7 +1030,7 @@ IFusionSoundMusicProvider_FFmpeg_GetPos( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pos = data->pts;
+ if (data->dest.stream) {
+@@ -1042,43 +1042,43 @@ IFusionSoundMusicProvider_FFmpeg_GetPos( IFusionSoundMusicProvider *thiz,
+
+ *seconds = (double)pos / AV_TIME_BASE;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_GetLength( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->ctx->duration > 0) {
+ *seconds = (double)data->ctx->duration / AV_TIME_BASE;
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ *seconds = 0.0;
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_SetPlaybackFlags( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderPlaybackFlags flags )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (flags & ~FMPLAY_LOOPING)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ data->flags = flags;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_FFmpeg_WaitStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus mask,
+ unsigned int timeout )
+@@ -1086,7 +1086,7 @@ IFusionSoundMusicProvider_FFmpeg_WaitStatus( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg )
+
+ if (!mask || mask & ~FMSTATE_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (timeout) {
+ struct timespec t;
+@@ -1098,18 +1098,18 @@ IFusionSoundMusicProvider_FFmpeg_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ #ifdef HAVE_PTHREAD_MUTEX_TIMEDLOCK
+ if (pthread_mutex_timedlock( &data->lock, &t ))
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ #else
+ while (pthread_mutex_trylock( &data->lock )) {
+ usleep( 1000 );
+ if (direct_clock_get_abs_micros() >= s)
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ #endif
+ while (!(data->status & mask)) {
+ if (pthread_cond_timedwait( &data->cond, &data->lock, &t ) == ETIMEDOUT) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ }
+ }
+@@ -1122,12 +1122,12 @@ IFusionSoundMusicProvider_FFmpeg_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /*****************************************************************************/
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx )
+ {
+ AVProbeData pd;
+@@ -1146,13 +1146,13 @@ Probe( IFusionSoundMusicProvider_ProbeContext *ctx )
+ !strcmp( format->name, "aac" ) ||
+ !strcmp( format->name, "ac3" ) ||
+ !strcmp( format->name, "flac" ))
+- return DFB_OK;
++ return DR_OK;
+ }
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream )
+@@ -1178,7 +1178,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ fmt = av_probe_input_format( &pd, 1 );
+ if (!fmt) {
+ IFusionSoundMusicProvider_FFmpeg_Destruct( thiz );
+- return DFB_INIT;
++ return DR_INIT;
+ }
+
+ data->iobuf = D_MALLOC( 4096 );
+@@ -1192,19 +1192,19 @@ Construct( IFusionSoundMusicProvider *thiz,
+ direct_stream_seekable( stream ) ? av_seek_callback : NULL ) < 0) {
+ D_ERROR( "IFusionSoundMusicProvider_FFmpeg: init_put_byte() failed!\n" );
+ IFusionSoundMusicProvider_FFmpeg_Destruct( thiz );
+- return DFB_INIT;
++ return DR_INIT;
+ }
+
+ if (av_open_input_stream( &data->ctx, &data->pb, filename, fmt, NULL ) < 0) {
+ D_ERROR( "IFusionSoundMusicProvider_FFmpeg: av_open_input_stream() failed!\n" );
+ IFusionSoundMusicProvider_FFmpeg_Destruct( thiz );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ if (av_find_stream_info( data->ctx ) < 0) {
+ D_ERROR( "IFusionSoundMusicProvider_FFmpeg: couldn't find stream info!\n" );
+ IFusionSoundMusicProvider_FFmpeg_Destruct( thiz );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ for (i = 0; i < data->ctx->nb_streams; i++) {
+@@ -1217,7 +1217,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ if (!data->st) {
+ D_ERROR( "IFusionSoundMusicProvider_FFmpeg: couldn't find audio stream!\n" );
+ IFusionSoundMusicProvider_FFmpeg_Destruct( thiz );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ data->codec = data->st->codec;
+@@ -1225,7 +1225,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ if (!c || avcodec_open( data->codec, c ) < 0) {
+ D_ERROR( "IFusionSoundMusicProvider_FFmpeg: couldn't find audio decoder!\n" );
+ IFusionSoundMusicProvider_FFmpeg_Destruct( thiz );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ direct_util_recursive_pthread_mutex_init( &data->lock );
+@@ -1248,5 +1248,5 @@ Construct( IFusionSoundMusicProvider *thiz,
+ thiz->SetPlaybackFlags = IFusionSoundMusicProvider_FFmpeg_SetPlaybackFlags;
+ thiz->WaitStatus = IFusionSoundMusicProvider_FFmpeg_WaitStatus;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+diff --git a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_mad.c b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_mad.c
+index 04efb9f..bd45b3f 100644
+--- a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_mad.c
++++ b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_mad.c
+@@ -44,10 +44,10 @@
+ #include <mad.h>
+
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx );
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream );
+@@ -429,17 +429,17 @@ IFusionSoundMusicProvider_Mad_Destruct( IFusionSoundMusicProvider *thiz )
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_AddRef( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_Release( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+@@ -447,47 +447,47 @@ IFusionSoundMusicProvider_Mad_Release( IFusionSoundMusicProvider *thiz )
+ if (--data->ref == 0)
+ IFusionSoundMusicProvider_Mad_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_GetCapabilities( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderCapabilities *caps )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!caps)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *caps = FMCAPS_BASIC | FMCAPS_HALFRATE;
+ if (direct_stream_seekable( data->s ))
+ *caps |= FMCAPS_SEEK;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_GetTrackDescription( IFusionSoundMusicProvider *thiz,
+ FSTrackDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *desc = data->desc;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_GetStreamDescription( IFusionSoundMusicProvider *thiz,
+ FSStreamDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSSDF_SAMPLERATE | FSSDF_CHANNELS |
+ FSSDF_SAMPLEFORMAT | FSSDF_BUFFERSIZE;
+@@ -496,17 +496,17 @@ IFusionSoundMusicProvider_Mad_GetStreamDescription( IFusionSoundMusicProvider *t
+ desc->sampleformat = FSSF_S32;
+ desc->buffersize = data->samplerate/8;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_GetBufferDescription( IFusionSoundMusicProvider *thiz,
+ FSBufferDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSBDF_SAMPLERATE | FSBDF_CHANNELS |
+ FSBDF_SAMPLEFORMAT | FSBDF_LENGTH;
+@@ -515,7 +515,7 @@ IFusionSoundMusicProvider_Mad_GetBufferDescription( IFusionSoundMusicProvider *t
+ desc->sampleformat = FSSF_S32;
+ desc->length = MIN(data->frames, FS_MAX_FRAMES);
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -529,7 +529,7 @@ MadStreamThread( DirectThread *thread, void *ctx )
+ direct_stream_wait( data->s, data->read_size, NULL );
+
+ while (data->status == FMSTATE_PLAY) {
+- DFBResult ret = DFB_OK;
++ DirectResult ret = DR_OK;
+ unsigned int len = data->read_size;
+ int offset = 0;
+ struct timeval tv = { 0, 500 };
+@@ -554,7 +554,7 @@ MadStreamThread( DirectThread *thread, void *ctx )
+
+ if (offset < data->read_size) {
+ ret = direct_stream_wait( data->s, data->read_size, &tv );
+- if (ret != DFB_TIMEOUT) {
++ if (ret != DR_TIMEOUT) {
+ ret = direct_stream_read( data->s,
+ data->read_size-offset,
+ data->read_buffer+offset, &len );
+@@ -562,7 +562,7 @@ MadStreamThread( DirectThread *thread, void *ctx )
+ }
+
+ if (ret) {
+- if (ret == DFB_EOF) {
++ if (ret == DR_EOF) {
+ if (data->flags & FMPLAY_LOOPING) {
+ direct_stream_seek( data->s, 0 );
+ }
+@@ -616,7 +616,7 @@ MadStreamThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_PlayToStream( IFusionSoundMusicProvider *thiz,
+ IFusionSoundStream *destination )
+ {
+@@ -625,21 +625,21 @@ IFusionSoundMusicProvider_Mad_PlayToStream( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->dest.stream == destination)
+- return DFB_OK;
++ return DR_OK;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check whether destination samplerate is supported */
+ if (desc.samplerate != data->samplerate &&
+ desc.samplerate != data->samplerate/2)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether number of channels is supported */
+ if (desc.channels > 6)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether destination format is supported */
+ switch (desc.sampleformat) {
+@@ -650,7 +650,7 @@ IFusionSoundMusicProvider_Mad_PlayToStream( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -691,7 +691,7 @@ IFusionSoundMusicProvider_Mad_PlayToStream( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -709,7 +709,7 @@ MadBufferThread( DirectThread *thread, void *ctx )
+ direct_stream_wait( data->s, data->read_size, NULL );
+
+ while (data->status == FMSTATE_PLAY) {
+- DFBResult ret = DFB_OK;
++ DirectResult ret = DR_OK;
+ unsigned int len = data->read_size;
+ int offset = 0;
+ struct timeval tv = { 0, 500 };
+@@ -732,7 +732,7 @@ MadBufferThread( DirectThread *thread, void *ctx )
+
+ if (offset < data->read_size) {
+ ret = direct_stream_wait( data->s, data->read_size, &tv );
+- if (ret != DFB_TIMEOUT) {
++ if (ret != DR_TIMEOUT) {
+ ret = direct_stream_read( data->s,
+ data->read_size-offset,
+ data->read_buffer+offset, &len );
+@@ -740,7 +740,7 @@ MadBufferThread( DirectThread *thread, void *ctx )
+ }
+
+ if (ret) {
+- if (ret == DFB_EOF) {
++ if (ret == DR_EOF) {
+ if (data->flags & FMPLAY_LOOPING) {
+ direct_stream_seek( data->s, 0 );
+ }
+@@ -778,7 +778,7 @@ MadBufferThread( DirectThread *thread, void *ctx )
+ mad_synth_frame( &data->synth, &data->frame );
+ len = pcm->length;
+
+- if (buffer->Lock( buffer, (void*)&dst, &size, 0 ) != DFB_OK) {
++ if (buffer->Lock( buffer, (void*)&dst, &size, 0 ) != DR_OK) {
+ D_ERROR( "IFusionSoundMusicProvider_Mad: Couldn't lock buffer!\n" );
+ break;
+ }
+@@ -814,7 +814,7 @@ MadBufferThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ IFusionSoundBuffer *destination,
+ FMBufferCallback callback,
+@@ -825,21 +825,21 @@ IFusionSoundMusicProvider_Mad_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->dest.buffer == destination)
+- return DFB_OK;
++ return DR_OK;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check whether destination samplerate is supported */
+ if (desc.samplerate != data->samplerate &&
+ desc.samplerate != data->samplerate/2)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether number of channels is supported */
+ if (desc.channels > 6)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check whether destination format is supported */
+ switch (desc.sampleformat) {
+@@ -850,7 +850,7 @@ IFusionSoundMusicProvider_Mad_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -895,10 +895,10 @@ IFusionSoundMusicProvider_Mad_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_Stop( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+@@ -911,35 +911,35 @@ IFusionSoundMusicProvider_Mad_Stop( IFusionSoundMusicProvider *thiz )
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_GetStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus *status )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!status)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *status = data->status;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_SeekTo( IFusionSoundMusicProvider *thiz,
+ double seconds )
+ {
+- DFBResult ret = DFB_FAILURE;
++ DirectResult ret = DR_FAILURE;
+ double rate;
+ unsigned int off;
+
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (seconds < 0.0)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -947,7 +947,7 @@ IFusionSoundMusicProvider_Mad_SeekTo( IFusionSoundMusicProvider *thiz,
+ if (rate) {
+ off = (seconds*rate);
+ ret = direct_stream_seek( data->s, off );
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ data->seeked = true;
+ data->finished = false;
+ }
+@@ -958,7 +958,7 @@ IFusionSoundMusicProvider_Mad_SeekTo( IFusionSoundMusicProvider *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_GetPos( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+@@ -968,10 +968,10 @@ IFusionSoundMusicProvider_Mad_GetPos( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (!data->desc.bitrate)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ pos = direct_stream_offset( data->s );
+ if (data->status == FMSTATE_PLAY && data->stream.this_frame) {
+@@ -982,41 +982,41 @@ IFusionSoundMusicProvider_Mad_GetPos( IFusionSoundMusicProvider *thiz,
+ rate = (data->desc.bitrate ? : data->frame.header.bitrate) >> 3;
+ *seconds = (double)pos / rate;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_GetLength( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *seconds = data->length;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_SetPlaybackFlags( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderPlaybackFlags flags )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (flags & ~FMPLAY_LOOPING)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ if (flags & FMPLAY_LOOPING && !direct_stream_seekable( data->s ))
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ data->flags = flags;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Mad_WaitStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus mask,
+ unsigned int timeout )
+@@ -1024,7 +1024,7 @@ IFusionSoundMusicProvider_Mad_WaitStatus( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Mad )
+
+ if (!mask || mask & ~FMSTATE_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (timeout) {
+ struct timespec t;
+@@ -1036,18 +1036,18 @@ IFusionSoundMusicProvider_Mad_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ #ifdef HAVE_PTHREAD_MUTEX_TIMEDLOCK
+ if (pthread_mutex_timedlock( &data->lock, &t ))
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ #else
+ while (pthread_mutex_trylock( &data->lock )) {
+ usleep( 1000 );
+ if (direct_clock_get_abs_micros() >= s)
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ #endif
+ while (!(data->status & mask)) {
+ if (pthread_cond_timedwait( &data->cond, &data->lock, &t ) == ETIMEDOUT) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ }
+ }
+@@ -1060,38 +1060,38 @@ IFusionSoundMusicProvider_Mad_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /* exported symbols */
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx )
+ {
+ char *ext;
+
+ if (ctx->mimetype && !strcmp( ctx->mimetype, "audio/mpeg" ))
+- return DFB_OK;
++ return DR_OK;
+
+ ext = strrchr( ctx->filename, '.' );
+ if (ext) {
+ if (!strcasecmp( ext, ".mp1" ) ||
+ !strcasecmp( ext, ".mp2" ) ||
+ !strcasecmp( ext, ".mp3" ))
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /* Detect by contents ? */
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ u8 buf[16384];
+ unsigned int pos = 0;
+ unsigned int len;
+@@ -1149,7 +1149,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ if (error) {
+ D_ERROR( "IFusionSoundMusicProvider_Mad: Couldn't find a valid frame!\n" );
+ IFusionSoundMusicProvider_Mad_Destruct( thiz );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ header = data->frame.header;
+@@ -1251,6 +1251,6 @@ Construct( IFusionSoundMusicProvider *thiz,
+ thiz->SetPlaybackFlags = IFusionSoundMusicProvider_Mad_SetPlaybackFlags;
+ thiz->WaitStatus = IFusionSoundMusicProvider_Mad_WaitStatus;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_playlist.c b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_playlist.c
+index 7baf8eb..ca7ca3f 100644
+--- a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_playlist.c
++++ b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_playlist.c
+@@ -36,10 +36,10 @@
+ #include <direct/util.h>
+
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx );
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream );
+@@ -94,7 +94,7 @@ typedef struct {
+
+ /*****************************************************************************/
+
+-static DFBResult
++static DirectResult
+ add_media( FSTrackID id,
+ const char *url,
+ const char *artist,
+@@ -124,7 +124,7 @@ add_media( FSTrackID id,
+
+ direct_list_append( (DirectLink**)playlist, &entry->link );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+@@ -703,17 +703,17 @@ IFusionSoundMusicProvider_Playlist_Destruct( IFusionSoundMusicProvider *thiz )
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_AddRef( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Playlist )
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_Release( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Playlist )
+@@ -721,10 +721,10 @@ IFusionSoundMusicProvider_Playlist_Release( IFusionSoundMusicProvider *thiz )
+ if (--data->ref == 0)
+ IFusionSoundMusicProvider_Playlist_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_GetCapabilities( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderCapabilities *caps )
+ {
+@@ -733,10 +733,10 @@ IFusionSoundMusicProvider_Playlist_GetCapabilities( IFusionSoundMusicProvider
+ if (data->selected->provider)
+ return data->selected->provider->GetCapabilities( data->selected->provider, caps );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_EnumTracks( IFusionSoundMusicProvider *thiz,
+ FSTrackCallback callback,
+ void *callbackdata )
+@@ -746,7 +746,7 @@ IFusionSoundMusicProvider_Playlist_EnumTracks( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Playlist )
+
+ if (!callback)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ direct_list_foreach_safe (entry, tmp, data->playlist) {
+ FSTrackDescription desc;
+@@ -768,27 +768,27 @@ IFusionSoundMusicProvider_Playlist_EnumTracks( IFusionSoundMusicProvider *thiz,
+ }
+
+ if (callback( entry->id, desc, callbackdata ))
+- return DFB_INTERRUPTED;
++ return DR_INTERRUPTED;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_GetTrackID( IFusionSoundMusicProvider *thiz,
+ FSTrackID *track_id )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Playlist )
+
+ if (!track_id)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *track_id = data->selected->id;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_GetTrackDescription( IFusionSoundMusicProvider *thiz,
+ FSTrackDescription *desc )
+ {
+@@ -797,7 +797,7 @@ IFusionSoundMusicProvider_Playlist_GetTrackDescription( IFusionSoundMusicProvide
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Playlist )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ entry = data->selected;
+
+@@ -817,10 +817,10 @@ IFusionSoundMusicProvider_Playlist_GetTrackDescription( IFusionSoundMusicProvide
+ direct_snputs( desc->album, entry->album, sizeof(desc->album) );
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_GetStreamDescription( IFusionSoundMusicProvider *thiz,
+ FSStreamDescription *desc )
+ {
+@@ -829,10 +829,10 @@ IFusionSoundMusicProvider_Playlist_GetStreamDescription( IFusionSoundMusicProvid
+ if (data->selected->provider)
+ return data->selected->provider->GetStreamDescription( data->selected->provider, desc );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_GetBufferDescription( IFusionSoundMusicProvider *thiz,
+ FSBufferDescription *desc )
+ {
+@@ -841,10 +841,10 @@ IFusionSoundMusicProvider_Playlist_GetBufferDescription( IFusionSoundMusicProvid
+ if (data->selected->provider)
+ return data->selected->provider->GetBufferDescription( data->selected->provider, desc );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_SelectTrack( IFusionSoundMusicProvider *thiz,
+ FSTrackID track_id )
+ {
+@@ -854,7 +854,7 @@ IFusionSoundMusicProvider_Playlist_SelectTrack( IFusionSoundMusicProvider *thiz,
+
+ direct_list_foreach (entry, data->playlist) {
+ IFusionSoundMusicProvider *provider;
+- DFBResult ret;
++ DirectResult ret;
+
+ if (entry->id != track_id)
+ continue;
+@@ -886,17 +886,17 @@ IFusionSoundMusicProvider_Playlist_SelectTrack( IFusionSoundMusicProvider *thiz,
+
+ entry->provider = provider;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+- return DFB_ITEMNOTFOUND;
++ return DR_ITEMNOTFOUND;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_PlayToStream( IFusionSoundMusicProvider *thiz,
+ IFusionSoundStream *destination )
+ {
+- DFBResult ret = DFB_UNSUPPORTED;
++ DirectResult ret = DR_UNSUPPORTED;
+
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Playlist )
+
+@@ -911,7 +911,7 @@ IFusionSoundMusicProvider_Playlist_PlayToStream( IFusionSoundMusicProvider *thiz
+
+ if (data->selected->provider) {
+ ret = data->selected->provider->PlayToStream( data->selected->provider, destination );
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ destination->AddRef( destination );
+ data->stream = destination;
+ }
+@@ -920,13 +920,13 @@ IFusionSoundMusicProvider_Playlist_PlayToStream( IFusionSoundMusicProvider *thiz
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ IFusionSoundBuffer *destination,
+ FMBufferCallback callback,
+ void *ctx )
+ {
+- DFBResult ret = DFB_UNSUPPORTED;
++ DirectResult ret = DR_UNSUPPORTED;
+
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Playlist )
+
+@@ -942,7 +942,7 @@ IFusionSoundMusicProvider_Playlist_PlayToBuffer( IFusionSoundMusicProvider *thiz
+ if (data->selected->provider) {
+ ret = data->selected->provider->PlayToBuffer( data->selected->provider,
+ destination, callback, ctx );
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ destination->AddRef( destination );
+ data->buffer = destination;
+ data->callback = callback;
+@@ -953,7 +953,7 @@ IFusionSoundMusicProvider_Playlist_PlayToBuffer( IFusionSoundMusicProvider *thiz
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_Stop( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Playlist )
+@@ -970,10 +970,10 @@ IFusionSoundMusicProvider_Playlist_Stop( IFusionSoundMusicProvider *thiz )
+ if (data->selected->provider)
+ return data->selected->provider->Stop( data->selected->provider );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_GetStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus *status )
+ {
+@@ -982,10 +982,10 @@ IFusionSoundMusicProvider_Playlist_GetStatus( IFusionSoundMusicProvider *thiz,
+ if (data->selected->provider)
+ return data->selected->provider->GetStatus( data->selected->provider, status );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_SeekTo( IFusionSoundMusicProvider *thiz,
+ double seconds )
+ {
+@@ -994,10 +994,10 @@ IFusionSoundMusicProvider_Playlist_SeekTo( IFusionSoundMusicProvider *thiz,
+ if (data->selected->provider)
+ return data->selected->provider->SeekTo( data->selected->provider, seconds );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_GetPos( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+@@ -1006,10 +1006,10 @@ IFusionSoundMusicProvider_Playlist_GetPos( IFusionSoundMusicProvider *thiz,
+ if (data->selected->provider)
+ return data->selected->provider->GetPos( data->selected->provider, seconds );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_GetLength( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+@@ -1018,10 +1018,10 @@ IFusionSoundMusicProvider_Playlist_GetLength( IFusionSoundMusicProvider *thiz,
+ if (data->selected->provider)
+ return data->selected->provider->GetLength( data->selected->provider, seconds );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_SetPlaybackFlags( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderPlaybackFlags flags )
+ {
+@@ -1032,10 +1032,10 @@ IFusionSoundMusicProvider_Playlist_SetPlaybackFlags( IFusionSoundMusicProvider
+ if (data->selected->provider)
+ return data->selected->provider->SetPlaybackFlags( data->selected->provider, flags );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Playlist_WaitStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus mask,
+ unsigned int timeout )
+@@ -1045,22 +1045,22 @@ IFusionSoundMusicProvider_Playlist_WaitStatus( IFusionSoundMusicProvider *thiz,
+ if (data->selected->provider)
+ return data->selected->provider->WaitStatus( data->selected->provider, mask, timeout );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* exported symbols */
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx )
+ {
+ if (get_playlist_type( ctx->mimetype, ctx->filename,
+ (const char*)ctx->header, sizeof(ctx->header) ))
+- return DFB_OK;
++ return DR_OK;
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream )
+@@ -1088,7 +1088,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ if (direct_stream_read( stream, size, src+pos, &len )) {
+ D_FREE( src );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+- return DFB_IO;
++ return DR_IO;
+ }
+ pos += len;
+ }
+@@ -1110,7 +1110,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+
+ if (!src) {
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+- return DFB_IO;
++ return DR_IO;
+ }
+ }
+ src[size] = 0;
+@@ -1143,7 +1143,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+
+ if (!data->playlist) {
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ /* initialize function pointers */
+@@ -1169,5 +1169,5 @@ Construct( IFusionSoundMusicProvider *thiz,
+ /* select first media */
+ thiz->SelectTrack( thiz, data->playlist->id );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+diff --git a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_timidity.c b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_timidity.c
+index 0a0abce..23b1d29 100644
+--- a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_timidity.c
++++ b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_timidity.c
+@@ -42,10 +42,10 @@
+
+ #include <timidity.h>
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx );
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream );
+@@ -186,18 +186,18 @@ IFusionSoundMusicProvider_Timidity_Destruct( IFusionSoundMusicProvider *thiz )
+ pthread_mutex_unlock( &timidity_lock );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_AddRef( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_Release( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+@@ -205,10 +205,10 @@ IFusionSoundMusicProvider_Timidity_Release( IFusionSoundMusicProvider *thiz )
+ if (--data->ref == 0)
+ IFusionSoundMusicProvider_Timidity_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_GetCapabilities(
+ IFusionSoundMusicProvider *thiz,
+ FSMusicProviderCapabilities *caps )
+@@ -216,14 +216,14 @@ IFusionSoundMusicProvider_Timidity_GetCapabilities(
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (!caps)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *caps = FMCAPS_BASIC | FMCAPS_SEEK | FMCAPS_RESAMPLE;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_GetTrackDescription(
+ IFusionSoundMusicProvider *thiz,
+ FSTrackDescription *desc )
+@@ -231,15 +231,15 @@ IFusionSoundMusicProvider_Timidity_GetTrackDescription(
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ memset( desc, 0, sizeof(FSTrackDescription) );
+ snprintf( desc->encoding, FS_TRACK_DESC_ENCODING_LENGTH, "MIDI" );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_GetStreamDescription(
+ IFusionSoundMusicProvider *thiz,
+ FSStreamDescription *desc )
+@@ -247,7 +247,7 @@ IFusionSoundMusicProvider_Timidity_GetStreamDescription(
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSSDF_SAMPLERATE | FSSDF_CHANNELS |
+ FSSDF_SAMPLEFORMAT | FSSDF_BUFFERSIZE;
+@@ -256,10 +256,10 @@ IFusionSoundMusicProvider_Timidity_GetStreamDescription(
+ desc->sampleformat = FSSF_S16;
+ desc->buffersize = 11025;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_GetBufferDescription(
+ IFusionSoundMusicProvider *thiz,
+ FSBufferDescription *desc )
+@@ -267,7 +267,7 @@ IFusionSoundMusicProvider_Timidity_GetBufferDescription(
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSBDF_SAMPLERATE | FSBDF_CHANNELS |
+ FSBDF_SAMPLEFORMAT | FSBDF_LENGTH;
+@@ -276,7 +276,7 @@ IFusionSoundMusicProvider_Timidity_GetBufferDescription(
+ desc->sampleformat = FSSF_S16;
+ desc->length = (data->song_length) ? (data->song_length*441/10) : 44100;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -326,7 +326,7 @@ TimidityStreamThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_PlayToStream(
+ IFusionSoundMusicProvider *thiz,
+ IFusionSoundStream *destination )
+@@ -338,19 +338,19 @@ IFusionSoundMusicProvider_Timidity_PlayToStream(
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ destination->GetDescription( destination, &desc );
+
+ if (desc.channels > 2)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ switch (desc.sampleformat) {
+ case FSSF_U8:
+ case FSSF_S16:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -362,7 +362,7 @@ IFusionSoundMusicProvider_Timidity_PlayToStream(
+ if (!stream) {
+ D_ERROR( "IFusionSoundMusicProvider_Timidity: couldn't open input stream!\n" );
+ pthread_mutex_unlock( &data->lock );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ options.rate = desc.samplerate;
+@@ -377,7 +377,7 @@ IFusionSoundMusicProvider_Timidity_PlayToStream(
+ if (!data->song) {
+ D_ERROR( "IFusionSoundMusicProvider_Timidity: couldn't load song!\n" );
+ pthread_mutex_unlock( &data->lock );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ data->song_length = mid_song_get_total_time( data->song );
+@@ -405,7 +405,7 @@ IFusionSoundMusicProvider_Timidity_PlayToStream(
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -435,7 +435,7 @@ TimidityBufferThread( DirectThread *thread, void *ctx )
+
+ data->song_pos = mid_song_get_time( data->song );
+
+- if (data->buffer->Lock( data->buffer, &ptr, &len, 0 ) != DFB_OK) {
++ if (data->buffer->Lock( data->buffer, &ptr, &len, 0 ) != DR_OK) {
+ D_ERROR( "IFusionSoundMusicProvider_Timidity: couldn't lock buffer!\n" );
+ data->status = FMSTATE_FINISHED;
+ pthread_cond_broadcast( &data->cond );
+@@ -471,7 +471,7 @@ TimidityBufferThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_PlayToBuffer(
+ IFusionSoundMusicProvider *thiz,
+ IFusionSoundBuffer *destination,
+@@ -485,19 +485,19 @@ IFusionSoundMusicProvider_Timidity_PlayToBuffer(
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ destination->GetDescription( destination, &desc );
+
+ if (desc.channels > 2)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ switch (desc.sampleformat) {
+ case FSSF_U8:
+ case FSSF_S16:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -509,7 +509,7 @@ IFusionSoundMusicProvider_Timidity_PlayToBuffer(
+ if (!stream) {
+ D_ERROR( "IFusionSoundMusicProvider_Timidity: couldn't open input stream!\n" );
+ pthread_mutex_unlock( &data->lock );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ options.rate = desc.samplerate;
+@@ -524,7 +524,7 @@ IFusionSoundMusicProvider_Timidity_PlayToBuffer(
+ if (!data->song) {
+ D_ERROR( "IFusionSoundMusicProvider_Timidity: couldn't load song!\n" );
+ pthread_mutex_unlock( &data->lock );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ data->song_length = mid_song_get_total_time( data->song );
+@@ -553,10 +553,10 @@ IFusionSoundMusicProvider_Timidity_PlayToBuffer(
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_Stop( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+@@ -569,31 +569,31 @@ IFusionSoundMusicProvider_Timidity_Stop( IFusionSoundMusicProvider *thiz )
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_GetStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus *status )
+ {
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (!status)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *status = data->status;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_SeekTo( IFusionSoundMusicProvider *thiz,
+ double seconds )
+ {
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (seconds < 0.0)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -603,38 +603,38 @@ IFusionSoundMusicProvider_Timidity_SeekTo( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_GetPos( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *seconds = (double)data->song_pos / 1000.0;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_GetLength( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *seconds = (double)data->song_length / 1000.0;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_SetPlaybackFlags(
+ IFusionSoundMusicProvider *thiz,
+ FSMusicProviderPlaybackFlags flags )
+@@ -642,14 +642,14 @@ IFusionSoundMusicProvider_Timidity_SetPlaybackFlags(
+ DIRECT_INTERFACE_GET_DATA (IFusionSoundMusicProvider_Timidity)
+
+ if (flags & ~FMPLAY_LOOPING)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ data->flags = flags;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Timidity_WaitStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus mask,
+ unsigned int timeout )
+@@ -657,7 +657,7 @@ IFusionSoundMusicProvider_Timidity_WaitStatus( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Timidity )
+
+ if (!mask || mask & ~FMSTATE_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (timeout) {
+ struct timespec t;
+@@ -669,18 +669,18 @@ IFusionSoundMusicProvider_Timidity_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ #ifdef HAVE_PTHREAD_MUTEX_TIMEDLOCK
+ if (pthread_mutex_timedlock( &data->lock, &t ))
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ #else
+ while (pthread_mutex_trylock( &data->lock )) {
+ usleep( 1000 );
+ if (direct_clock_get_abs_micros() >= s)
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ #endif
+ while (!(data->status & mask)) {
+ if (pthread_cond_timedwait( &data->cond, &data->lock, &t ) == ETIMEDOUT) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ }
+ }
+@@ -693,22 +693,22 @@ IFusionSoundMusicProvider_Timidity_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+ /* exported symbols */
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx )
+ {
+ if (!memcmp( ctx->header, "MThd", 4 ))
+- return DFB_OK;
++ return DR_OK;
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream )
+@@ -718,7 +718,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ if (mid_init( NULL ) < 0) {
+ D_ERROR( "IFsusionSoundMusicProvider_Timidity: couldn't initialize TiMidity!\n" );
+ pthread_mutex_unlock( &timidity_lock );
+- return DFB_INIT;
++ return DR_INIT;
+ }
+ }
+ timidity_refs++;
+@@ -751,5 +751,5 @@ Construct( IFusionSoundMusicProvider *thiz,
+ thiz->SetPlaybackFlags = IFusionSoundMusicProvider_Timidity_SetPlaybackFlags;
+ thiz->WaitStatus = IFusionSoundMusicProvider_Timidity_WaitStatus;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+diff --git a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_vorbis.c b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_vorbis.c
+index c84d15f..6d30f10 100644
+--- a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_vorbis.c
++++ b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_vorbis.c
+@@ -51,10 +51,10 @@
+ # include <vorbis/vorbisfile.h>
+ #endif
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx );
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream );
+@@ -442,7 +442,7 @@ ov_read_callback( void *dst, size_t size, size_t nmemb, void *ctx )
+ if (ret) {
+ memset( dst+length, 0, total-length );
+ if (!length)
+- return (ret == DFB_EOF) ? 0 : -1;
++ return (ret == DR_EOF) ? 0 : -1;
+ break;
+ }
+ length += read;
+@@ -456,7 +456,7 @@ ov_seek_callback( void *ctx, ogg_int64_t offset, int whence )
+ {
+ DirectStream *stream = ctx;
+ unsigned int pos = 0;
+- DirectResult ret = DFB_UNSUPPORTED;
++ DirectResult ret = DR_UNSUPPORTED;
+
+ if (!direct_stream_seekable( stream ) || direct_stream_remote( stream ))
+ return -1;
+@@ -560,17 +560,17 @@ IFusionSoundMusicProvider_Vorbis_Destruct( IFusionSoundMusicProvider *thiz )
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_AddRef( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_Release( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+@@ -578,17 +578,17 @@ IFusionSoundMusicProvider_Vorbis_Release( IFusionSoundMusicProvider *thiz )
+ if (--data->ref == 0)
+ IFusionSoundMusicProvider_Vorbis_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_GetCapabilities( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderCapabilities *caps )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (!caps)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ #ifdef USE_TREMOR
+ *caps = FMCAPS_BASIC;
+@@ -598,7 +598,7 @@ IFusionSoundMusicProvider_Vorbis_GetCapabilities( IFusionSoundMusicProvider *t
+ if (direct_stream_seekable( data->stream ))
+ *caps |= FMCAPS_SEEK;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static inline float
+@@ -685,28 +685,28 @@ vorbis_get_metadata( OggVorbis_File *vf,
+ desc->replaygain_album = vorbis_compute_gain( album_gain, album_peak );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_GetTrackDescription( IFusionSoundMusicProvider *thiz,
+ FSTrackDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ vorbis_get_metadata( &data->vf, desc );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_GetStreamDescription( IFusionSoundMusicProvider *thiz,
+ FSStreamDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSSDF_SAMPLERATE | FSSDF_CHANNELS |
+ FSSDF_SAMPLEFORMAT | FSSDF_BUFFERSIZE;
+@@ -719,17 +719,17 @@ IFusionSoundMusicProvider_Vorbis_GetStreamDescription( IFusionSoundMusicProvider
+ #endif
+ desc->buffersize = desc->samplerate/8;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_GetBufferDescription( IFusionSoundMusicProvider *thiz,
+ FSBufferDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSBDF_SAMPLERATE | FSBDF_CHANNELS |
+ FSBDF_SAMPLEFORMAT | FSBDF_LENGTH;
+@@ -742,7 +742,7 @@ IFusionSoundMusicProvider_Vorbis_GetBufferDescription( IFusionSoundMusicProvider
+ #endif
+ desc->length = MIN(ov_pcm_total( &data->vf, -1 ), FS_MAX_FRAMES);
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -818,7 +818,7 @@ VorbisStreamThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_PlayToStream( IFusionSoundMusicProvider *thiz,
+ IFusionSoundStream *destination )
+ {
+@@ -827,21 +827,21 @@ IFusionSoundMusicProvider_Vorbis_PlayToStream( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->dest.stream == destination)
+- return DFB_OK;
++ return DR_OK;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check if destination samplerate is supported */
+ #ifdef USE_TREMOR
+ if (desc.samplerate != data->info->rate)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ #else
+ if (desc.samplerate != data->info->rate &&
+ desc.samplerate != data->info->rate/2)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ #endif
+
+ /* check if destination format is supported */
+@@ -853,7 +853,7 @@ IFusionSoundMusicProvider_Vorbis_PlayToStream( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* check if destination mode is supported */
+@@ -873,7 +873,7 @@ IFusionSoundMusicProvider_Vorbis_PlayToStream( IFusionSoundMusicProvider *thiz,
+ case FSCM_SURROUND51:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -884,7 +884,7 @@ IFusionSoundMusicProvider_Vorbis_PlayToStream( IFusionSoundMusicProvider *thiz,
+ if (desc.samplerate == data->info->rate/2) {
+ if (ov_halfrate( &data->vf, 1 )) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+ } else {
+ ov_halfrate( &data->vf, 0 );
+@@ -915,7 +915,7 @@ IFusionSoundMusicProvider_Vorbis_PlayToStream( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -947,7 +947,7 @@ VorbisBufferThread( DirectThread *thread, void *ctx )
+ break;
+ }
+
+- if (buffer->Lock( buffer, (void*)&dst, &size, 0 ) != DFB_OK) {
++ if (buffer->Lock( buffer, (void*)&dst, &size, 0 ) != DR_OK) {
+ D_ERROR( "IFusionSoundMusicProvider_Vorbis: "
+ "Couldn't lock buffer!\n" );
+ pthread_mutex_unlock( &data->lock );
+@@ -1005,7 +1005,7 @@ VorbisBufferThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ IFusionSoundBuffer *destination,
+ FMBufferCallback callback,
+@@ -1016,21 +1016,21 @@ IFusionSoundMusicProvider_Vorbis_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->dest.buffer == destination)
+- return DFB_OK;
++ return DR_OK;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check if destination samplerate is supported */
+ #ifdef USE_TREMOR
+ if (desc.samplerate != data->info->rate)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ #else
+ if (desc.samplerate != data->info->rate &&
+ desc.samplerate != data->info->rate/2)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ #endif
+
+ /* check if destination format is supported */
+@@ -1042,7 +1042,7 @@ IFusionSoundMusicProvider_Vorbis_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* check if destination mode is supported */
+@@ -1062,7 +1062,7 @@ IFusionSoundMusicProvider_Vorbis_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ case FSCM_SURROUND51:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -1073,7 +1073,7 @@ IFusionSoundMusicProvider_Vorbis_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ if (desc.samplerate == data->info->rate/2) {
+ if (ov_halfrate( &data->vf, 1 )) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+ } else {
+ ov_halfrate( &data->vf, 0 );
+@@ -1108,10 +1108,10 @@ IFusionSoundMusicProvider_Vorbis_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_Stop( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+@@ -1124,33 +1124,33 @@ IFusionSoundMusicProvider_Vorbis_Stop( IFusionSoundMusicProvider *thiz )
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_GetStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus *status )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (!status)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *status = data->status;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_SeekTo( IFusionSoundMusicProvider *thiz,
+ double seconds )
+ {
+- DFBResult ret = DFB_OK;
++ DirectResult ret = DR_OK;
+
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (seconds < 0.0)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -1158,7 +1158,7 @@ IFusionSoundMusicProvider_Vorbis_SeekTo( IFusionSoundMusicProvider *thiz,
+ unsigned int off;
+
+ if (!data->info->bitrate_nominal)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ off = seconds * (double)(data->info->bitrate_nominal >> 3);
+ ret = direct_stream_seek( data->stream, off );
+@@ -1168,10 +1168,10 @@ IFusionSoundMusicProvider_Vorbis_SeekTo( IFusionSoundMusicProvider *thiz,
+ seconds *= 1000;
+ #endif
+ if (ov_time_seek( &data->vf, seconds ))
+- ret = DFB_FAILURE;
++ ret = DR_FAILURE;
+ }
+
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ data->seeked = true;
+ data->finished = false;
+ }
+@@ -1181,14 +1181,14 @@ IFusionSoundMusicProvider_Vorbis_SeekTo( IFusionSoundMusicProvider *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_GetPos( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ #ifdef USE_TREMOR
+ *seconds = (double)ov_time_tell( &data->vf ) / 1000.0;
+@@ -1196,10 +1196,10 @@ IFusionSoundMusicProvider_Vorbis_GetPos( IFusionSoundMusicProvider *thiz,
+ *seconds = ov_time_tell( &data->vf );
+ #endif
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_GetLength( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+@@ -1208,7 +1208,7 @@ IFusionSoundMusicProvider_Vorbis_GetLength( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ #ifdef USE_TREMOR
+ length = (double)ov_time_total( &data->vf, -1 ) / 1000.0;
+@@ -1224,27 +1224,27 @@ IFusionSoundMusicProvider_Vorbis_GetLength( IFusionSoundMusicProvider *thiz,
+
+ *seconds = length;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_SetPlaybackFlags( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderPlaybackFlags flags )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis )
+
+ if (flags & ~FMPLAY_LOOPING)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ if (flags & FMPLAY_LOOPING && !direct_stream_seekable( data->stream ))
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ data->flags = flags;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Vorbis_WaitStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus mask,
+ unsigned int timeout )
+@@ -1252,7 +1252,7 @@ IFusionSoundMusicProvider_Vorbis_WaitStatus( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Vorbis)
+
+ if (!mask || mask & ~FMSTATE_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (timeout) {
+ struct timespec t;
+@@ -1264,18 +1264,18 @@ IFusionSoundMusicProvider_Vorbis_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ #ifdef HAVE_PTHREAD_MUTEX_TIMEDLOCK
+ if (pthread_mutex_timedlock( &data->lock, &t ))
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ #else
+ while (pthread_mutex_trylock( &data->lock )) {
+ usleep( 1000 );
+ if (direct_clock_get_abs_micros() >= s)
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ #endif
+ while (!(data->status & mask)) {
+ if (pthread_cond_timedwait( &data->cond, &data->lock, &t ) == ETIMEDOUT) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ }
+ }
+@@ -1288,23 +1288,23 @@ IFusionSoundMusicProvider_Vorbis_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+ /* exported symbols */
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx )
+ {
+ if (!memcmp( &ctx->header[0], "OggS", 4 ) &&
+ !memcmp( &ctx->header[29], "vorbis", 6 ))
+- return DFB_OK;
++ return DR_OK;
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream )
+@@ -1326,7 +1326,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ D_ERROR( "IFusionSoundMusicProvider_Vorbis: "
+ "Error opening ogg/vorbis stream!\n" );
+ IFusionSoundMusicProvider_Vorbis_Destruct( thiz );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ data->info = ov_info( &data->vf, -1 );
+@@ -1334,7 +1334,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ D_ERROR( "IFusionSoundMusicProvider_Vorbis: "
+ "Error getting stream informations!\n" );
+ IFusionSoundMusicProvider_Vorbis_Destruct( thiz );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ direct_util_recursive_pthread_mutex_init( &data->lock );
+@@ -1357,6 +1357,6 @@ Construct( IFusionSoundMusicProvider *thiz,
+ thiz->SetPlaybackFlags = IFusionSoundMusicProvider_Vorbis_SetPlaybackFlags;
+ thiz->WaitStatus = IFusionSoundMusicProvider_Vorbis_WaitStatus;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_wave.c b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_wave.c
+index be8b519..01ab270 100644
+--- a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_wave.c
++++ b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_wave.c
+@@ -43,10 +43,10 @@
+ #include <misc/sound_util.h>
+
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx );
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream );
+@@ -366,17 +366,17 @@ IFusionSoundMusicProvider_Wave_Destruct( IFusionSoundMusicProvider *thiz )
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_AddRef( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_Release( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+@@ -384,34 +384,34 @@ IFusionSoundMusicProvider_Wave_Release( IFusionSoundMusicProvider *thiz )
+ if (--data->ref == 0)
+ IFusionSoundMusicProvider_Wave_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_GetCapabilities( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderCapabilities *caps )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!caps)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (direct_stream_seekable( data->stream ))
+ *caps = FMCAPS_BASIC | FMCAPS_SEEK;
+ else
+ *caps = FMCAPS_BASIC;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_GetTrackDescription( IFusionSoundMusicProvider *thiz,
+ FSTrackDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ memset( desc, 0, sizeof(FSTrackDescription) );
+ snprintf( desc->encoding,
+@@ -420,17 +420,17 @@ IFusionSoundMusicProvider_Wave_GetTrackDescription( IFusionSoundMusicProvider *t
+ FS_BITS_PER_SAMPLE(data->format) );
+ desc->bitrate = data->samplerate * data->channels * FS_BITS_PER_SAMPLE(data->format);
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_GetStreamDescription( IFusionSoundMusicProvider *thiz,
+ FSStreamDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSSDF_SAMPLERATE | FSSDF_CHANNELS |
+ FSSDF_SAMPLEFORMAT | FSSDF_BUFFERSIZE;
+@@ -439,17 +439,17 @@ IFusionSoundMusicProvider_Wave_GetStreamDescription( IFusionSoundMusicProvider *
+ desc->sampleformat = data->format;
+ desc->buffersize = data->samplerate/10;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_GetBufferDescription( IFusionSoundMusicProvider *thiz,
+ FSBufferDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSBDF_LENGTH | FSBDF_CHANNELS |
+ FSBDF_SAMPLEFORMAT | FSBDF_SAMPLERATE;
+@@ -460,7 +460,7 @@ IFusionSoundMusicProvider_Wave_GetBufferDescription( IFusionSoundMusicProvider *
+ if (desc->length > FS_MAX_FRAMES)
+ desc->length = FS_MAX_FRAMES;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -472,7 +472,7 @@ WaveStreamThread( DirectThread *thread, void *ctx )
+ void *src = data->src_buffer;
+
+ while (data->status == FMSTATE_PLAY) {
+- DFBResult ret;
++ DirectResult ret;
+ unsigned int len = 0;
+ unsigned int pos = 0;
+ struct timeval tv = { 0, 1000 };
+@@ -502,7 +502,7 @@ WaveStreamThread( DirectThread *thread, void *ctx )
+ }
+
+ ret = direct_stream_wait( data->stream, count, &tv );
+- if (ret != DFB_TIMEOUT) {
++ if (ret != DR_TIMEOUT) {
+ ret = direct_stream_read( data->stream, count, src, &len );
+ len /= data->framesize;
+ }
+@@ -513,7 +513,7 @@ WaveStreamThread( DirectThread *thread, void *ctx )
+ }
+
+ if (ret) {
+- if (ret == DFB_EOF) {
++ if (ret == DR_EOF) {
+ if (data->flags & FMPLAY_LOOPING) {
+ direct_stream_seek( data->stream, data->headsize );
+ }
+@@ -556,7 +556,7 @@ WaveStreamThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_PlayToStream( IFusionSoundMusicProvider *thiz,
+ IFusionSoundStream *destination )
+ {
+@@ -566,16 +566,16 @@ IFusionSoundMusicProvider_Wave_PlayToStream( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->dest.stream == destination)
+- return DFB_OK;
++ return DR_OK;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check if destination samplerate is supported */
+ if (desc.samplerate != data->samplerate)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check if destination format is supported */
+ switch (desc.sampleformat) {
+@@ -586,7 +586,7 @@ IFusionSoundMusicProvider_Wave_PlayToStream( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* check if destination mode is supported */
+@@ -606,7 +606,7 @@ IFusionSoundMusicProvider_Wave_PlayToStream( IFusionSoundMusicProvider *thiz,
+ case FSCM_SURROUND51:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -646,7 +646,7 @@ IFusionSoundMusicProvider_Wave_PlayToStream( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void*
+@@ -659,7 +659,7 @@ WaveBufferThread( DirectThread *thread, void *ctx )
+ size_t count = data->dest.length * data->framesize;
+
+ while (data->status == FMSTATE_PLAY) {
+- DFBResult ret;
++ DirectResult ret;
+ void *dst;
+ int size;
+ unsigned int len = 0;
+@@ -673,7 +673,7 @@ WaveBufferThread( DirectThread *thread, void *ctx )
+ }
+
+ if (!data->src_buffer) {
+- if (buffer->Lock( buffer, &dst, 0, &size ) != DFB_OK) {
++ if (buffer->Lock( buffer, &dst, 0, &size ) != DR_OK) {
+ D_ERROR( "IFusionSoundMusicProvider_Wave: "
+ "Couldn't lock buffer!" );
+ pthread_mutex_unlock( &data->lock );
+@@ -685,14 +685,14 @@ WaveBufferThread( DirectThread *thread, void *ctx )
+ }
+
+ ret = direct_stream_wait( data->stream, size, &tv );
+- if (ret != DFB_TIMEOUT)
++ if (ret != DR_TIMEOUT)
+ ret = direct_stream_read( data->stream, size, dst, &len );
+
+ if (!data->src_buffer)
+ buffer->Unlock( buffer );
+
+ if (ret) {
+- if (ret == DFB_EOF) {
++ if (ret == DR_EOF) {
+ if (data->flags & FMPLAY_LOOPING) {
+ direct_stream_seek( data->stream, data->headsize );
+ }
+@@ -714,7 +714,7 @@ WaveBufferThread( DirectThread *thread, void *ctx )
+
+ if (data->src_buffer) {
+ while (len > 0) {
+- if (buffer->Lock( buffer, &dst, &size, 0 ) != DFB_OK) {
++ if (buffer->Lock( buffer, &dst, &size, 0 ) != DR_OK) {
+ D_ERROR( "IFusionSoundMusicProvider_Wave: "
+ "Couldn't lock buffer!" );
+ break;
+@@ -753,7 +753,7 @@ WaveBufferThread( DirectThread *thread, void *ctx )
+ return NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ IFusionSoundBuffer *destination,
+ FMBufferCallback callback,
+@@ -764,16 +764,16 @@ IFusionSoundMusicProvider_Wave_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!destination)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->dest.buffer == destination)
+- return DFB_OK;
++ return DR_OK;
+
+ destination->GetDescription( destination, &desc );
+
+ /* check if destination samplerate is supported */
+ if (desc.samplerate != data->samplerate)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ /* check if destination format is supported */
+ switch (desc.sampleformat) {
+@@ -784,7 +784,7 @@ IFusionSoundMusicProvider_Wave_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ case FSSF_FLOAT:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* check if destination mode is supported */
+@@ -804,7 +804,7 @@ IFusionSoundMusicProvider_Wave_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ case FSCM_SURROUND51:
+ break;
+ default:
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ pthread_mutex_lock( &data->lock );
+@@ -846,10 +846,10 @@ IFusionSoundMusicProvider_Wave_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_Stop( IFusionSoundMusicProvider *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+@@ -862,44 +862,44 @@ IFusionSoundMusicProvider_Wave_Stop( IFusionSoundMusicProvider *thiz )
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_GetStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus *status )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!status)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *status = data->status;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_SeekTo( IFusionSoundMusicProvider *thiz,
+ double seconds )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ int offset;
+
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (seconds < 0.0)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ offset = (double)data->samplerate * seconds;
+ offset = offset * data->framesize;
+ if (data->datasize && offset > data->datasize)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ offset += data->headsize;
+
+ pthread_mutex_lock( &data->lock );
+ ret = direct_stream_seek( data->stream, offset );
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ data->seeked = true;
+ data->finished = false;
+ }
+@@ -908,53 +908,53 @@ IFusionSoundMusicProvider_Wave_SeekTo( IFusionSoundMusicProvider *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_GetPos( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *seconds = (double) direct_stream_offset( data->stream ) /
+ (double)(data->samplerate * data->framesize);
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_GetLength( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *seconds = data->length;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_SetPlaybackFlags( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderPlaybackFlags flags )
+ {
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (flags & ~FMPLAY_LOOPING)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ if (flags & FMPLAY_LOOPING && !direct_stream_seekable( data->stream ))
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ data->flags = flags;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Wave_WaitStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus mask,
+ unsigned int timeout )
+@@ -962,7 +962,7 @@ IFusionSoundMusicProvider_Wave_WaitStatus( IFusionSoundMusicProvider *thiz,
+ DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_Wave )
+
+ if (!mask || mask & ~FMSTATE_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (timeout) {
+ struct timespec t;
+@@ -974,18 +974,18 @@ IFusionSoundMusicProvider_Wave_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ #ifdef HAVE_PTHREAD_MUTEX_TIMEDLOCK
+ if (pthread_mutex_timedlock( &data->lock, &t ))
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ #else
+ while (pthread_mutex_trylock( &data->lock )) {
+ usleep( 1000 );
+ if (direct_clock_get_abs_micros() >= s)
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ #endif
+ while (!(data->status & mask)) {
+ if (pthread_cond_timedwait( &data->cond, &data->lock, &t ) == ETIMEDOUT) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_TIMEOUT;
++ return DR_TIMEOUT;
+ }
+ }
+ }
+@@ -998,12 +998,12 @@ IFusionSoundMusicProvider_Wave_WaitStatus( IFusionSoundMusicProvider *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /****/
+
+-static DFBResult
++static DirectResult
+ parse_headers( DirectStream *stream, u32 *ret_samplerate,
+ int *ret_channels, int *ret_format,
+ u32 *ret_headsize, u32 *ret_datasize )
+@@ -1024,13 +1024,13 @@ parse_headers( DirectStream *stream, u32 *ret_samplerate,
+ unsigned int len = 0; \
+ direct_stream_wait( stream, count, NULL ); \
+ if (direct_stream_read( stream, count, buf, &len ) || len < (count)) \
+- return DFB_UNSUPPORTED;\
++ return DR_UNSUPPORTED;\
+ }
+
+ wave_read( buf, 4 );
+ if (buf[0] != 'R' || buf[1] != 'I' || buf[2] != 'F' || buf[3] != 'F') {
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: No RIFF header found.\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /* actually ignore chunksize */
+@@ -1039,13 +1039,13 @@ parse_headers( DirectStream *stream, u32 *ret_samplerate,
+ wave_read( buf, 4 );
+ if (buf[0] != 'W' || buf[1] != 'A' || buf[2] != 'V' || buf[3] != 'E') {
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: No WAVE header found.\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ wave_read( buf, 4 );
+ if (buf[0] != 'f' || buf[1] != 'm' || buf[2] != 't' || buf[3] != ' ') {
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: Expected 'fmt ' header.\n" );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ wave_read( &fmt_len, 4 );
+@@ -1056,7 +1056,7 @@ parse_headers( DirectStream *stream, u32 *ret_samplerate,
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: "
+ "fmt chunk expected to be at least %zu bytes (got %d).\n",
+ sizeof(fmt), fmt_len );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ wave_read( &fmt, sizeof(fmt) );
+@@ -1072,33 +1072,33 @@ parse_headers( DirectStream *stream, u32 *ret_samplerate,
+ if (fmt.encoding != 1) {
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: "
+ "Unsupported encoding (%d).\n", fmt.encoding );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+ if (fmt.channels < 1) {
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: "
+ "Invalid number of channels (%d).\n", fmt.channels );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+ if (fmt.frequency < 1000) {
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: "
+ "Unsupported frequency (%dHz).\n", fmt.frequency );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+ if (fmt.bitspersample != 8 && fmt.bitspersample != 16 &&
+ fmt.bitspersample != 24 && fmt.bitspersample != 32) {
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: "
+ "Unsupported sample format (%d bits).\n", fmt.bitspersample );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+ if (fmt.byterate != (fmt.frequency * fmt.channels * fmt.bitspersample >> 3)) {
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: "
+ "Invalid byterate (%d).\n", fmt.byterate );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+ if (fmt.blockalign != (fmt.channels * fmt.bitspersample >> 3)) {
+ D_DEBUG( "IFusionSoundMusicProvider_Wave: "
+ "Invalid blockalign (%d).\n", fmt.blockalign );
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ if (fmt_len > sizeof(fmt)) {
+@@ -1139,27 +1139,27 @@ parse_headers( DirectStream *stream, u32 *ret_samplerate,
+
+ #undef wave_read
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /* exported symbols */
+
+-static DFBResult
++static DirectResult
+ Probe( IFusionSoundMusicProvider_ProbeContext *ctx )
+ {
+ if (!memcmp( ctx->header+0, "RIFF", 4 ) &&
+ !memcmp( ctx->header+8, "WAVEfmt ", 8 ))
+- return DFB_OK;
++ return DR_OK;
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundMusicProvider *thiz,
+ const char *filename,
+ DirectStream *stream )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ unsigned int size;
+ int format;
+
+@@ -1193,7 +1193,7 @@ Construct( IFusionSoundMusicProvider *thiz,
+ default:
+ D_BUG( "unexpected sample format" );
+ IFusionSoundMusicProvider_Wave_Destruct( thiz );
+- return DFB_BUG;
++ return DR_BUG;
+ }
+
+ data->framesize = data->channels * FS_BYTES_PER_SAMPLE(data->format);
+@@ -1229,6 +1229,6 @@ Construct( IFusionSoundMusicProvider *thiz,
+ thiz->SetPlaybackFlags = IFusionSoundMusicProvider_Wave_SetPlaybackFlags;
+ thiz->WaitStatus = IFusionSoundMusicProvider_Wave_WaitStatus;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/proxy/dispatcher/ifusionsound_dispatcher.c b/proxy/dispatcher/ifusionsound_dispatcher.c
+index 7d90cc9..7b5269c 100644
+--- a/proxy/dispatcher/ifusionsound_dispatcher.c
++++ b/proxy/dispatcher/ifusionsound_dispatcher.c
+@@ -49,8 +49,8 @@
+
+ #include "ifusionsound_dispatcher.h"
+
+-static DFBResult Probe();
+-static DFBResult Construct( IFusionSound *thiz,
++static DirectResult Probe();
++static DirectResult Construct( IFusionSound *thiz,
+ VoodooManager *manager,
+ VoodooInstanceID *ret_instance );
+
+@@ -80,17 +80,17 @@ IFusionSound_Dispatcher_Destruct( IFusionSound *thiz )
+
+ /***********************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_AddRef( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_Release( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+@@ -98,98 +98,98 @@ IFusionSound_Dispatcher_Release( IFusionSound *thiz )
+ if (--data->ref == 0)
+ IFusionSound_Dispatcher_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_GetDeviceDescription( IFusionSound *thiz,
+ FSDeviceDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_CreateBuffer( IFusionSound *thiz,
+ const FSBufferDescription *desc,
+ IFusionSoundBuffer **ret_interface )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_CreateStream( IFusionSound *thiz,
+ const FSStreamDescription *desc,
+ IFusionSoundStream **ret_interface )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_CreateMusicProvider( IFusionSound *thiz,
+ const char *filename,
+ IFusionSoundMusicProvider **ret_interface )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_GetMasterVolume( IFusionSound *thiz,
+ float *level )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_SetMasterVolume( IFusionSound *thiz,
+ float level )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_GetLocalVolume( IFusionSound *thiz,
+ float *level )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_SetLocalVolume( IFusionSound *thiz,
+ float level )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_Suspend( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Dispatcher_Resume( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+ /**************************************************************************************************/
+@@ -208,7 +208,7 @@ Dispatch_GetDeviceDescription( IFusionSound *thiz, IFusionSound *real,
+ return ret;
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, VOODOO_INSTANCE_NONE,
++ DR_OK, VOODOO_INSTANCE_NONE,
+ VMBT_DATA, sizeof(FSDeviceDescription), &desc,
+ VMBT_NONE );
+ }
+@@ -244,7 +244,7 @@ Dispatch_CreateBuffer( IFusionSound *thiz, IFusionSound *real,
+ }
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, instance,
++ DR_OK, instance,
+ VMBT_DATA, sizeof(FSBufferDescription), &dsc,
+ VMBT_NONE );
+ }
+@@ -280,7 +280,7 @@ Dispatch_CreateStream( IFusionSound *thiz, IFusionSound *real,
+ }
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, instance,
++ DR_OK, instance,
+ VMBT_DATA, sizeof(FSStreamDescription), &dsc,
+ VMBT_NONE );
+ }
+@@ -313,7 +313,7 @@ Dispatch_CreateMusicProvider( IFusionSound *thiz, IFusionSound *real,
+ }
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, instance,
++ DR_OK, instance,
+ VMBT_NONE );
+ }
+
+@@ -452,18 +452,18 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
+ HANDLE_CASE(Resume);
+ }
+
+- return DFB_NOSUCHMETHOD;
++ return DR_NOSUCHMETHOD;
+ }
+
+ #undef HANDLE_CASE
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ Probe()
+ {
+ /* This implementation has to be loaded explicitly. */
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /*
+@@ -471,10 +471,10 @@ Probe()
+ *
+ * Fills in function pointers and intializes data structure.
+ */
+-static DFBResult
++static DirectResult
+ Construct( IFusionSound *thiz, VoodooManager *manager, VoodooInstanceID *ret_instance )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ IFusionSound *real;
+ VoodooInstanceID instance;
+
+@@ -512,6 +512,6 @@ Construct( IFusionSound *thiz, VoodooManager *manager, VoodooInstanceID *ret_ins
+ thiz->Suspend = IFusionSound_Dispatcher_Suspend;
+ thiz->Resume = IFusionSound_Dispatcher_Resume;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/proxy/dispatcher/ifusionsoundbuffer_dispatcher.c b/proxy/dispatcher/ifusionsoundbuffer_dispatcher.c
+index 6357ec0..84b4a71 100644
+--- a/proxy/dispatcher/ifusionsoundbuffer_dispatcher.c
++++ b/proxy/dispatcher/ifusionsoundbuffer_dispatcher.c
+@@ -48,8 +48,8 @@
+
+ #include <ifusionsoundbuffer_dispatcher.h>
+
+-static DFBResult Probe();
+-static DFBResult Construct( IFusionSoundBuffer *thiz,
++static DirectResult Probe();
++static DirectResult Construct( IFusionSoundBuffer *thiz,
+ IFusionSoundBuffer *real,
+ VoodooManager *manager,
+ VoodooInstanceID super,
+@@ -86,17 +86,17 @@ IFusionSoundBuffer_Dispatcher_Destruct( IFusionSoundBuffer *thiz )
+
+ /***********************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Dispatcher_AddRef( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Dispatcher_Release( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+@@ -104,29 +104,29 @@ IFusionSoundBuffer_Dispatcher_Release( IFusionSoundBuffer *thiz )
+ if (--data->ref == 0)
+ IFusionSoundBuffer_Dispatcher_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Dispatcher_GetDescription( IFusionSoundBuffer *thiz,
+ FSBufferDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Dispatcher_SetPosition( IFusionSoundBuffer *thiz,
+ int position )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Dispatcher_Lock( IFusionSoundBuffer *thiz,
+ void **ret_data,
+ int *ret_frames,
+@@ -134,41 +134,41 @@ IFusionSoundBuffer_Dispatcher_Lock( IFusionSoundBuffer *thiz,
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Dispatcher_Unlock( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Dispatcher_Play( IFusionSoundBuffer *thiz,
+ FSBufferPlayFlags flags )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Dispatcher_Stop( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Dispatcher_CreatePlayback( IFusionSoundBuffer *thiz,
+ IFusionSoundPlayback **ret_interface )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+ /***********************************************************************************************/
+@@ -187,7 +187,7 @@ Dispatch_GetDescription( IFusionSoundBuffer *thiz, IFusionSoundBuffer *real,
+ return ret;
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, VOODOO_INSTANCE_NONE,
++ DR_OK, VOODOO_INSTANCE_NONE,
+ VMBT_DATA, sizeof(FSBufferDescription), &desc,
+ VMBT_NONE );
+ }
+@@ -220,7 +220,7 @@ Dispatch_Lock( IFusionSoundBuffer *thiz, IFusionSoundBuffer *real,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Dispatcher)
+
+ /* Nothing to do. */
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static DirectResult
+@@ -251,7 +251,7 @@ Dispatch_Unlock( IFusionSoundBuffer *thiz, IFusionSoundBuffer *real,
+ real->Unlock( real );
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, VOODOO_INSTANCE_NONE,
++ DR_OK, VOODOO_INSTANCE_NONE,
+ VMBT_NONE );
+ }
+
+@@ -283,7 +283,7 @@ Dispatch_Unlock_DPACK( IFusionSoundBuffer *thiz, IFusionSoundBuffer *real,
+ real->Unlock( real );
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, VOODOO_INSTANCE_NONE,
++ DR_OK, VOODOO_INSTANCE_NONE,
+ VMBT_NONE );
+ }
+
+@@ -345,7 +345,7 @@ Dispatch_CreatePlayback( IFusionSoundBuffer *thiz, IFusionSoundBuffer *real,
+ }
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, instance,
++ DR_OK, instance,
+ VMBT_NONE );
+ }
+
+@@ -374,18 +374,18 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
+ HANDLE_CASE(CreatePlayback);
+ }
+
+- return DFB_NOSUCHMETHOD;
++ return DR_NOSUCHMETHOD;
+ }
+
+ #undef HANDLE_CASE
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ Probe()
+ {
+ /* This implementation has to be loaded explicitly. */
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /*
+@@ -393,7 +393,7 @@ Probe()
+ *
+ * Fills in function pointers and intializes data structure.
+ */
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundBuffer *thiz,
+ IFusionSoundBuffer *real,
+ VoodooManager *manager,
+@@ -401,7 +401,7 @@ Construct( IFusionSoundBuffer *thiz,
+ void *arg, /* Optional arguments to constructor */
+ VoodooInstanceID *ret_instance )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ VoodooInstanceID instance;
+ FSBufferDescription dsc;
+
+@@ -434,7 +434,7 @@ Construct( IFusionSoundBuffer *thiz,
+ thiz->Stop = IFusionSoundBuffer_Dispatcher_Stop;
+ thiz->CreatePlayback = IFusionSoundBuffer_Dispatcher_CreatePlayback;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+diff --git a/proxy/dispatcher/ifusionsoundplayback_dispatcher.c b/proxy/dispatcher/ifusionsoundplayback_dispatcher.c
+index 7262b94..766cecd 100644
+--- a/proxy/dispatcher/ifusionsoundplayback_dispatcher.c
++++ b/proxy/dispatcher/ifusionsoundplayback_dispatcher.c
+@@ -46,8 +46,8 @@
+
+ #include <ifusionsoundplayback_dispatcher.h>
+
+-static DFBResult Probe();
+-static DFBResult Construct( IFusionSoundPlayback *thiz,
++static DirectResult Probe();
++static DirectResult Construct( IFusionSoundPlayback *thiz,
+ IFusionSoundPlayback *real,
+ VoodooManager *manager,
+ VoodooInstanceID super,
+@@ -80,17 +80,17 @@ IFusionSoundPlayback_Dispatcher_Destruct( IFusionSoundPlayback *thiz )
+
+ /***********************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_AddRef( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_Release( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+@@ -98,97 +98,97 @@ IFusionSoundPlayback_Dispatcher_Release( IFusionSoundPlayback *thiz )
+ if (--data->ref == 0)
+ IFusionSoundPlayback_Dispatcher_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_Start( IFusionSoundPlayback *thiz,
+ int start,
+ int stop )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_Stop( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_Continue( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_Wait( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_GetStatus( IFusionSoundPlayback *thiz,
+- DFBBoolean *ret_playing,
++ bool *ret_playing,
+ int *ret_position )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_SetVolume( IFusionSoundPlayback *thiz,
+ float level )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_SetPan( IFusionSoundPlayback *thiz,
+ float value )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_SetPitch( IFusionSoundPlayback *thiz,
+ float value )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_SetDirection( IFusionSoundPlayback *thiz,
+ FSPlaybackDirection direction )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Dispatcher_SetDownmixLevels( IFusionSoundPlayback *thiz,
+ float center,
+ float rear )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+ /**************************************************************************************************/
+@@ -266,7 +266,7 @@ Dispatch_GetStatus( IFusionSoundPlayback *thiz, IFusionSoundPlayback *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+ {
+ DirectResult ret;
+- DFBBoolean playing;
++ bool playing;
+ int position;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Dispatcher)
+@@ -276,7 +276,7 @@ Dispatch_GetStatus( IFusionSoundPlayback *thiz, IFusionSoundPlayback *real,
+ return ret;
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, VOODOO_INSTANCE_NONE,
++ DR_OK, VOODOO_INSTANCE_NONE,
+ VMBT_INT, playing,
+ VMBT_INT, position,
+ VMBT_NONE );
+@@ -418,18 +418,18 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
+ HANDLE_CASE(SetDownmixLevels);
+ }
+
+- return DFB_NOSUCHMETHOD;
++ return DR_NOSUCHMETHOD;
+ }
+
+ #undef HANDLE_CASE
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ Probe()
+ {
+ /* This implementation has to be loaded explicitly. */
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /*
+@@ -437,7 +437,7 @@ Probe()
+ *
+ * Fills in function pointers and intializes data structure.
+ */
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundPlayback *thiz,
+ IFusionSoundPlayback *real,
+ VoodooManager *manager,
+@@ -445,7 +445,7 @@ Construct( IFusionSoundPlayback *thiz,
+ void *arg, /* Optional arguments to constructor */
+ VoodooInstanceID *ret_instance )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ VoodooInstanceID instance;
+
+ DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IFusionSoundPlayback_Dispatcher)
+@@ -475,6 +475,6 @@ Construct( IFusionSoundPlayback *thiz,
+ thiz->SetDirection = IFusionSoundPlayback_Dispatcher_SetDirection;
+ thiz->SetDownmixLevels = IFusionSoundPlayback_Dispatcher_SetDownmixLevels;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/proxy/dispatcher/ifusionsoundstream_dispatcher.c b/proxy/dispatcher/ifusionsoundstream_dispatcher.c
+index d01b6ab..b8728da 100644
+--- a/proxy/dispatcher/ifusionsoundstream_dispatcher.c
++++ b/proxy/dispatcher/ifusionsoundstream_dispatcher.c
+@@ -48,8 +48,8 @@
+
+ #include <ifusionsoundstream_dispatcher.h>
+
+-static DFBResult Probe();
+-static DFBResult Construct( IFusionSoundStream *thiz,
++static DirectResult Probe();
++static DirectResult Construct( IFusionSoundStream *thiz,
+ IFusionSoundStream *real,
+ VoodooManager *manager,
+ VoodooInstanceID super,
+@@ -86,17 +86,17 @@ IFusionSoundStream_Dispatcher_Destruct( IFusionSoundStream *thiz )
+
+ /***********************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_AddRef( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_Release( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+@@ -104,101 +104,101 @@ IFusionSoundStream_Dispatcher_Release( IFusionSoundStream *thiz )
+ if (--data->ref == 0)
+ IFusionSoundStream_Dispatcher_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_GetDescription( IFusionSoundStream *thiz,
+ FSStreamDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_Write( IFusionSoundStream *thiz,
+ const void *sample_data,
+ int length )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_Wait( IFusionSoundStream *thiz,
+ int length )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_GetStatus( IFusionSoundStream *thiz,
+ int *filled,
+ int *total,
+ int *read_position,
+ int *write_position,
+- DFBBoolean *playing )
++ bool *playing )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_Flush( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_Drop( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_GetPresentationDelay( IFusionSoundStream *thiz,
+ int *delay )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_GetPlayback( IFusionSoundStream *thiz,
+ IFusionSoundPlayback **ret_interface )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_Access( IFusionSoundStream *thiz,
+ void **ret_data,
+ int *ret_avail )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Dispatcher_Commit( IFusionSoundStream *thiz,
+ int length )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+ /**************************************************************************************************/
+@@ -217,7 +217,7 @@ Dispatch_GetDescription( IFusionSoundStream *thiz, IFusionSoundStream *real,
+ return ret;
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, VOODOO_INSTANCE_NONE,
++ DR_OK, VOODOO_INSTANCE_NONE,
+ VMBT_DATA, sizeof(FSStreamDescription), &desc,
+ VMBT_NONE );
+ }
+@@ -303,7 +303,7 @@ Dispatch_GetStatus( IFusionSoundStream *thiz, IFusionSoundStream *real,
+ int total;
+ int read_pos;
+ int write_pos;
+- DFBBoolean playing;
++ bool playing;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Dispatcher)
+
+@@ -388,7 +388,7 @@ Dispatch_GetPlayback( IFusionSoundStream *thiz, IFusionSoundStream *real,
+ }
+
+ return voodoo_manager_respond( manager, msg->header.serial,
+- DFB_OK, instance,
++ DR_OK, instance,
+ VMBT_NONE );
+ }
+
+@@ -398,7 +398,7 @@ Dispatch_Access( IFusionSoundStream *thiz, IFusionSoundStream *real,
+ {
+ D_UNIMPLEMENTED();
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+ static DirectResult
+@@ -407,7 +407,7 @@ Dispatch_Commit( IFusionSoundStream *thiz, IFusionSoundStream *real,
+ {
+ D_UNIMPLEMENTED();
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+ #define HANDLE_CASE(name) \
+@@ -441,18 +441,18 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
+ HANDLE_CASE(Commit);
+ }
+
+- return DFB_NOSUCHMETHOD;
++ return DR_NOSUCHMETHOD;
+ }
+
+ #undef HANDLE_CASE
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ Probe()
+ {
+ /* This implementation has to be loaded explicitly. */
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /*
+@@ -460,7 +460,7 @@ Probe()
+ *
+ * Fills in function pointers and intializes data structure.
+ */
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundStream *thiz,
+ IFusionSoundStream *real,
+ VoodooManager *manager,
+@@ -468,7 +468,7 @@ Construct( IFusionSoundStream *thiz,
+ void *arg, /* Optional arguments to constructor */
+ VoodooInstanceID *ret_instance )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ VoodooInstanceID instance;
+ FSStreamDescription dsc;
+
+@@ -504,6 +504,6 @@ Construct( IFusionSoundStream *thiz,
+ thiz->Access = IFusionSoundStream_Dispatcher_Access;
+ thiz->Commit = IFusionSoundStream_Dispatcher_Commit;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/proxy/requestor/ifusionsound_requestor.c b/proxy/requestor/ifusionsound_requestor.c
+index 6bf34b4..024f581 100644
+--- a/proxy/requestor/ifusionsound_requestor.c
++++ b/proxy/requestor/ifusionsound_requestor.c
+@@ -48,8 +48,8 @@
+
+ #include <ifusionsound_dispatcher.h>
+
+-static DFBResult Probe();
+-static DFBResult Construct( IFusionSound *thiz, const char *host, int session );
++static DirectResult Probe();
++static DirectResult Construct( IFusionSound *thiz, const char *host, int session );
+
+ #include <direct/interface_implementation.h>
+
+@@ -82,17 +82,17 @@ IFusionSound_Requestor_Destruct( IFusionSound *thiz )
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_AddRef( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Requestor)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_Release( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Requestor)
+@@ -100,10 +100,10 @@ IFusionSound_Requestor_Release( IFusionSound *thiz )
+ if (--data->ref == 0)
+ IFusionSound_Requestor_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_GetDeviceDescription( IFusionSound *thiz,
+ FSDeviceDescription *desc )
+ {
+@@ -120,7 +120,7 @@ IFusionSound_Requestor_GetDeviceDescription( IFusionSound *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ VoodooMessageParser parser;
+
+ VOODOO_PARSER_BEGIN( parser, response );
+@@ -133,7 +133,7 @@ IFusionSound_Requestor_GetDeviceDescription( IFusionSound *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_CreateBuffer( IFusionSound *thiz,
+ const FSBufferDescription *desc,
+ IFusionSoundBuffer **ret_interface )
+@@ -147,7 +147,7 @@ IFusionSound_Requestor_CreateBuffer( IFusionSound *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Requestor)
+
+ if (!desc || !ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUND_METHOD_ID_CreateBuffer, VREQ_RESPOND, &response,
+@@ -157,7 +157,7 @@ IFusionSound_Requestor_CreateBuffer( IFusionSound *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ VOODOO_PARSER_BEGIN( parser, response );
+ VOODOO_PARSER_GET_DATA( parser, dsc );
+ VOODOO_PARSER_END( parser );
+@@ -173,7 +173,7 @@ IFusionSound_Requestor_CreateBuffer( IFusionSound *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_CreateStream( IFusionSound *thiz,
+ const FSStreamDescription *desc,
+ IFusionSoundStream **ret_interface )
+@@ -187,7 +187,7 @@ IFusionSound_Requestor_CreateStream( IFusionSound *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Requestor)
+
+ if (!ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUND_METHOD_ID_CreateStream, VREQ_RESPOND, &response,
+@@ -197,7 +197,7 @@ IFusionSound_Requestor_CreateStream( IFusionSound *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ VOODOO_PARSER_BEGIN( parser, response );
+ VOODOO_PARSER_GET_DATA( parser, dsc );
+ VOODOO_PARSER_END( parser );
+@@ -213,7 +213,7 @@ IFusionSound_Requestor_CreateStream( IFusionSound *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_CreateMusicProvider( IFusionSound *thiz,
+ const char *filename,
+ IFusionSoundMusicProvider **ret_interface )
+@@ -226,7 +226,7 @@ IFusionSound_Requestor_CreateMusicProvider( IFusionSound *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Requestor)
+
+ if (!filename || !ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUND_METHOD_ID_CreateMusicProvider,
+@@ -237,7 +237,7 @@ IFusionSound_Requestor_CreateMusicProvider( IFusionSound *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK)
++ if (ret == DR_OK)
+ ret = voodoo_construct_requestor( data->manager, "IFusionSoundMusicProvider",
+ response->instance, NULL, &interface );
+
+@@ -251,13 +251,13 @@ IFusionSound_Requestor_CreateMusicProvider( IFusionSound *thiz,
+
+ /* Check arguments */
+ if (!filename || !ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ return IFusionSoundMusicProvider_Create( filename, ret_interface );
+ #endif
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_GetMasterVolume( IFusionSound *thiz,
+ float *level )
+ {
+@@ -268,7 +268,7 @@ IFusionSound_Requestor_GetMasterVolume( IFusionSound *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Requestor)
+
+ if (!level)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUND_METHOD_ID_GetMasterVolume, VREQ_RESPOND, &response,
+@@ -291,7 +291,7 @@ IFusionSound_Requestor_GetMasterVolume( IFusionSound *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_SetMasterVolume( IFusionSound *thiz,
+ float level )
+ {
+@@ -314,7 +314,7 @@ IFusionSound_Requestor_SetMasterVolume( IFusionSound *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_GetLocalVolume( IFusionSound *thiz,
+ float *level )
+ {
+@@ -325,7 +325,7 @@ IFusionSound_Requestor_GetLocalVolume( IFusionSound *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSound_Requestor)
+
+ if (!level)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUND_METHOD_ID_GetLocalVolume, VREQ_RESPOND, &response,
+@@ -348,7 +348,7 @@ IFusionSound_Requestor_GetLocalVolume( IFusionSound *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_SetLocalVolume( IFusionSound *thiz,
+ float level )
+ {
+@@ -371,7 +371,7 @@ IFusionSound_Requestor_SetLocalVolume( IFusionSound *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_Suspend( IFusionSound *thiz )
+ {
+ DirectResult ret;
+@@ -392,7 +392,7 @@ IFusionSound_Requestor_Suspend( IFusionSound *thiz )
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Requestor_Resume( IFusionSound *thiz )
+ {
+ DirectResult ret;
+@@ -415,11 +415,11 @@ IFusionSound_Requestor_Resume( IFusionSound *thiz )
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ Probe()
+ {
+ /* This implementation has to be loaded explicitly. */
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /*
+@@ -427,10 +427,10 @@ Probe()
+ *
+ * Fills in function pointers and intializes data structure.
+ */
+-static DFBResult
++static DirectResult
+ Construct( IFusionSound *thiz, const char *host, int session )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IFusionSound_Requestor)
+
+@@ -464,7 +464,7 @@ Construct( IFusionSound *thiz, const char *host, int session )
+ thiz->Suspend = IFusionSound_Requestor_Suspend;
+ thiz->Resume = IFusionSound_Requestor_Resume;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+diff --git a/proxy/requestor/ifusionsoundbuffer_requestor.c b/proxy/requestor/ifusionsoundbuffer_requestor.c
+index a846ecf..af3171f 100644
+--- a/proxy/requestor/ifusionsoundbuffer_requestor.c
++++ b/proxy/requestor/ifusionsoundbuffer_requestor.c
+@@ -50,8 +50,8 @@
+
+ #include <ifusionsoundbuffer_dispatcher.h>
+
+-static DFBResult Probe();
+-static DFBResult Construct( IFusionSoundBuffer *thiz,
++static DirectResult Probe();
++static DirectResult Construct( IFusionSoundBuffer *thiz,
+ VoodooManager *manager,
+ VoodooInstanceID instance,
+ void *arg );
+@@ -106,17 +106,17 @@ IFusionSoundBuffer_Requestor_Destruct( IFusionSoundBuffer *thiz )
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_AddRef( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Requestor)
+
+ data->ref++;
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_Release( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Requestor)
+@@ -124,11 +124,11 @@ IFusionSoundBuffer_Requestor_Release( IFusionSoundBuffer *thiz )
+ if (--data->ref == 0)
+ IFusionSoundBuffer_Requestor_Destruct( thiz );
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_GetDescription( IFusionSoundBuffer *thiz,
+ FSBufferDescription *desc )
+ {
+@@ -138,7 +138,7 @@ IFusionSoundBuffer_Requestor_GetDescription( IFusionSoundBuffer *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Requestor)
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDBUFFER_METHOD_ID_GetDescription,
+@@ -148,7 +148,7 @@ IFusionSoundBuffer_Requestor_GetDescription( IFusionSoundBuffer *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ VoodooMessageParser parser;
+
+ VOODOO_PARSER_BEGIN( parser, response );
+@@ -161,7 +161,7 @@ IFusionSoundBuffer_Requestor_GetDescription( IFusionSoundBuffer *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_SetPosition( IFusionSoundBuffer *thiz,
+ int position )
+ {
+@@ -171,7 +171,7 @@ IFusionSoundBuffer_Requestor_SetPosition( IFusionSoundBuffer *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Requestor)
+
+ if (position < 0 || position >= data->frames)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDBUFFER_METHOD_ID_SetPosition, VREQ_RESPOND, &response,
+@@ -181,7 +181,7 @@ IFusionSoundBuffer_Requestor_SetPosition( IFusionSoundBuffer *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK)
++ if (ret == DR_OK)
+ data->position = position;
+
+ voodoo_manager_finish_request( data->manager, response );
+@@ -189,7 +189,7 @@ IFusionSoundBuffer_Requestor_SetPosition( IFusionSoundBuffer *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_Lock( IFusionSoundBuffer *thiz,
+ void **ret_data,
+ int *ret_frames,
+@@ -198,10 +198,10 @@ IFusionSoundBuffer_Requestor_Lock( IFusionSoundBuffer *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Requestor)
+
+ if (!ret_data)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->locked)
+- return DFB_LOCKED;
++ return DR_LOCKED;
+
+ *ret_data = data->buffer;
+
+@@ -213,10 +213,10 @@ IFusionSoundBuffer_Requestor_Lock( IFusionSoundBuffer *thiz,
+
+ data->locked = true;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_Unlock( IFusionSoundBuffer *thiz )
+ {
+ DirectResult ret;
+@@ -228,7 +228,7 @@ IFusionSoundBuffer_Requestor_Unlock( IFusionSoundBuffer *thiz )
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Requestor)
+
+ if (!data->locked)
+- return DFB_OK;
++ return DR_OK;
+
+ src = data->buffer + data->position * data->bytes_per_frame;
+ offset = 0;
+@@ -259,10 +259,10 @@ IFusionSoundBuffer_Requestor_Unlock( IFusionSoundBuffer *thiz )
+
+ data->locked = false;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_Unlock_DPACK( IFusionSoundBuffer *thiz )
+ {
+ DirectResult ret;
+@@ -274,7 +274,7 @@ IFusionSoundBuffer_Requestor_Unlock_DPACK( IFusionSoundBuffer *thiz )
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Requestor)
+
+ if (!data->locked)
+- return DFB_OK;
++ return DR_OK;
+
+ src = data->buffer + data->position * data->bytes_per_frame;
+ offset = 0;
+@@ -309,10 +309,10 @@ IFusionSoundBuffer_Requestor_Unlock_DPACK( IFusionSoundBuffer *thiz )
+
+ data->locked = false;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_Play( IFusionSoundBuffer *thiz,
+ FSBufferPlayFlags flags )
+ {
+@@ -322,7 +322,7 @@ IFusionSoundBuffer_Requestor_Play( IFusionSoundBuffer *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Requestor)
+
+ if (flags & ~FSPLAY_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDBUFFER_METHOD_ID_Play, VREQ_RESPOND, &response,
+@@ -338,7 +338,7 @@ IFusionSoundBuffer_Requestor_Play( IFusionSoundBuffer *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_Stop( IFusionSoundBuffer *thiz )
+ {
+ DirectResult ret;
+@@ -359,7 +359,7 @@ IFusionSoundBuffer_Requestor_Stop( IFusionSoundBuffer *thiz )
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Requestor_CreatePlayback( IFusionSoundBuffer *thiz,
+ IFusionSoundPlayback **ret_interface )
+ {
+@@ -370,7 +370,7 @@ IFusionSoundBuffer_Requestor_CreatePlayback( IFusionSoundBuffer *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer_Requestor)
+
+ if (!ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDBUFFER_METHOD_ID_CreatePlayback, VREQ_RESPOND, &response,
+@@ -379,7 +379,7 @@ IFusionSoundBuffer_Requestor_CreatePlayback( IFusionSoundBuffer *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK)
++ if (ret == DR_OK)
+ ret = voodoo_construct_requestor( data->manager, "IFusionSoundPlayback",
+ response->instance, NULL, &interface );
+
+@@ -392,11 +392,11 @@ IFusionSoundBuffer_Requestor_CreatePlayback( IFusionSoundBuffer *thiz,
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ Probe()
+ {
+ /* This implementation has to be loaded explicitly. */
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /*
+@@ -404,7 +404,7 @@ Probe()
+ *
+ * Fills in function pointers and intializes data structure.
+ */
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundBuffer *thiz,
+ VoodooManager *manager,
+ VoodooInstanceID instance,
+@@ -440,7 +440,7 @@ Construct( IFusionSoundBuffer *thiz,
+ thiz->Stop = IFusionSoundBuffer_Requestor_Stop;
+ thiz->CreatePlayback = IFusionSoundBuffer_Requestor_CreatePlayback;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+diff --git a/proxy/requestor/ifusionsoundplayback_requestor.c b/proxy/requestor/ifusionsoundplayback_requestor.c
+index a85fdb4..4dca795 100644
+--- a/proxy/requestor/ifusionsoundplayback_requestor.c
++++ b/proxy/requestor/ifusionsoundplayback_requestor.c
+@@ -46,8 +46,8 @@
+
+ #include <ifusionsoundplayback_dispatcher.h>
+
+-static DFBResult Probe();
+-static DFBResult Construct( IFusionSoundPlayback *thiz,
++static DirectResult Probe();
++static DirectResult Construct( IFusionSoundPlayback *thiz,
+ VoodooManager *manager,
+ VoodooInstanceID instance,
+ void *arg );
+@@ -84,17 +84,17 @@ IFusionSoundPlayback_Requestor_Destruct( IFusionSoundPlayback *thiz )
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_AddRef( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Requestor)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_Release( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Requestor)
+@@ -102,10 +102,10 @@ IFusionSoundPlayback_Requestor_Release( IFusionSoundPlayback *thiz )
+ if (--data->ref == 0)
+ IFusionSoundPlayback_Requestor_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_Start( IFusionSoundPlayback *thiz,
+ int start,
+ int stop )
+@@ -116,7 +116,7 @@ IFusionSoundPlayback_Requestor_Start( IFusionSoundPlayback *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Requestor)
+
+ if (start < 0)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDPLAYBACK_METHOD_ID_Start, VREQ_RESPOND, &response,
+@@ -134,7 +134,7 @@ IFusionSoundPlayback_Requestor_Start( IFusionSoundPlayback *thiz,
+ }
+
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_Stop( IFusionSoundPlayback *thiz )
+ {
+ DirectResult ret;
+@@ -155,7 +155,7 @@ IFusionSoundPlayback_Requestor_Stop( IFusionSoundPlayback *thiz )
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_Continue( IFusionSoundPlayback *thiz )
+ {
+ DirectResult ret;
+@@ -176,7 +176,7 @@ IFusionSoundPlayback_Requestor_Continue( IFusionSoundPlayback *thiz )
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_Wait( IFusionSoundPlayback *thiz )
+ {
+ DirectResult ret;
+@@ -197,20 +197,20 @@ IFusionSoundPlayback_Requestor_Wait( IFusionSoundPlayback *thiz )
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_GetStatus( IFusionSoundPlayback *thiz,
+- DFBBoolean *ret_playing,
++ bool *ret_playing,
+ int *ret_position )
+ {
+ DirectResult ret;
+ VoodooResponseMessage *response;
+- DFBBoolean playing = DFB_FALSE;
++ bool playing = DR_FALSE;
+ int position = 0;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Requestor)
+
+ if (!ret_playing && !ret_position)
+- return DFB_OK;
++ return DR_OK;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDPLAYBACK_METHOD_ID_GetStatus, VREQ_RESPOND, &response,
+@@ -219,7 +219,7 @@ IFusionSoundPlayback_Requestor_GetStatus( IFusionSoundPlayback *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ VoodooMessageParser parser;
+
+ VOODOO_PARSER_BEGIN( parser, response );
+@@ -239,7 +239,7 @@ IFusionSoundPlayback_Requestor_GetStatus( IFusionSoundPlayback *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_SetVolume( IFusionSoundPlayback *thiz,
+ float level )
+ {
+@@ -249,7 +249,7 @@ IFusionSoundPlayback_Requestor_SetVolume( IFusionSoundPlayback *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Requestor)
+
+ if (level < 0.0f || level > 64.f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDPLAYBACK_METHOD_ID_SetVolume, VREQ_RESPOND, &response,
+@@ -265,7 +265,7 @@ IFusionSoundPlayback_Requestor_SetVolume( IFusionSoundPlayback *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_SetPan( IFusionSoundPlayback *thiz,
+ float value )
+ {
+@@ -275,7 +275,7 @@ IFusionSoundPlayback_Requestor_SetPan( IFusionSoundPlayback *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Requestor)
+
+ if (value < -1.0f || value > 1.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDPLAYBACK_METHOD_ID_SetPan, VREQ_RESPOND, &response,
+@@ -291,7 +291,7 @@ IFusionSoundPlayback_Requestor_SetPan( IFusionSoundPlayback *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_SetPitch( IFusionSoundPlayback *thiz,
+ float value )
+ {
+@@ -301,7 +301,7 @@ IFusionSoundPlayback_Requestor_SetPitch( IFusionSoundPlayback *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Requestor)
+
+ if (value < 0.0f || value > 64.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDPLAYBACK_METHOD_ID_SetPitch, VREQ_RESPOND, &response,
+@@ -317,7 +317,7 @@ IFusionSoundPlayback_Requestor_SetPitch( IFusionSoundPlayback *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_SetDirection( IFusionSoundPlayback *thiz,
+ FSPlaybackDirection direction )
+ {
+@@ -331,7 +331,7 @@ IFusionSoundPlayback_Requestor_SetDirection( IFusionSoundPlayback *thiz,
+ case FSPD_BACKWARD:
+ break;
+ default:
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+@@ -348,7 +348,7 @@ IFusionSoundPlayback_Requestor_SetDirection( IFusionSoundPlayback *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Requestor_SetDownmixLevels( IFusionSoundPlayback *thiz,
+ float center,
+ float rear )
+@@ -359,10 +359,10 @@ IFusionSoundPlayback_Requestor_SetDownmixLevels( IFusionSoundPlayback *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Requestor)
+
+ if (center < 0.0f || center > 1.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (rear < 0.0f || rear > 1.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDPLAYBACK_METHOD_ID_SetDownmixLevels, VREQ_RESPOND, &response,
+@@ -381,11 +381,11 @@ IFusionSoundPlayback_Requestor_SetDownmixLevels( IFusionSoundPlayback *thiz,
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ Probe()
+ {
+ /* This implementation has to be loaded explicitly. */
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /*
+@@ -393,7 +393,7 @@ Probe()
+ *
+ * Fills in function pointers and intializes data structure.
+ */
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundPlayback *thiz,
+ VoodooManager *manager,
+ VoodooInstanceID instance,
+@@ -418,6 +418,6 @@ Construct( IFusionSoundPlayback *thiz,
+ thiz->SetDirection = IFusionSoundPlayback_Requestor_SetDirection;
+ thiz->SetDownmixLevels = IFusionSoundPlayback_Requestor_SetDownmixLevels;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/proxy/requestor/ifusionsoundstream_requestor.c b/proxy/requestor/ifusionsoundstream_requestor.c
+index 7405fbc..755e9fa 100644
+--- a/proxy/requestor/ifusionsoundstream_requestor.c
++++ b/proxy/requestor/ifusionsoundstream_requestor.c
+@@ -50,8 +50,8 @@
+
+ #include <ifusionsoundstream_dispatcher.h>
+
+-static DFBResult Probe();
+-static DFBResult Construct( IFusionSoundStream *thiz,
++static DirectResult Probe();
++static DirectResult Construct( IFusionSoundStream *thiz,
+ VoodooManager *manager,
+ VoodooInstanceID instance,
+ void *arg );
+@@ -102,17 +102,17 @@ IFusionSoundStream_Requestor_Destruct( IFusionSoundStream *thiz )
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_AddRef( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_Release( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+@@ -120,10 +120,10 @@ IFusionSoundStream_Requestor_Release( IFusionSoundStream *thiz )
+ if (--data->ref == 0)
+ IFusionSoundStream_Requestor_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_GetDescription( IFusionSoundStream *thiz,
+ FSStreamDescription *desc )
+ {
+@@ -133,7 +133,7 @@ IFusionSoundStream_Requestor_GetDescription( IFusionSoundStream *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDSTREAM_METHOD_ID_GetDescription,
+@@ -143,7 +143,7 @@ IFusionSoundStream_Requestor_GetDescription( IFusionSoundStream *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK) {
++ if (ret == DR_OK) {
+ VoodooMessageParser parser;
+
+ VOODOO_PARSER_BEGIN( parser, response );
+@@ -156,7 +156,7 @@ IFusionSoundStream_Requestor_GetDescription( IFusionSoundStream *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_Write( IFusionSoundStream *thiz,
+ const void *samples,
+ int length )
+@@ -168,7 +168,7 @@ IFusionSoundStream_Requestor_Write( IFusionSoundStream *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+ if (!samples || length < 1)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ src = (u8*) samples;
+ while (length) {
+@@ -194,10 +194,10 @@ IFusionSoundStream_Requestor_Write( IFusionSoundStream *thiz,
+ length -= len;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_Write_DPACK( IFusionSoundStream *thiz,
+ const void *samples,
+ int length )
+@@ -209,7 +209,7 @@ IFusionSoundStream_Requestor_Write_DPACK( IFusionSoundStream *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+ if (!samples || length < 1)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ src = (u8*) samples;
+ while (length) {
+@@ -239,10 +239,10 @@ IFusionSoundStream_Requestor_Write_DPACK( IFusionSoundStream *thiz,
+ length -= len;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_Wait( IFusionSoundStream *thiz,
+ int length )
+ {
+@@ -252,7 +252,7 @@ IFusionSoundStream_Requestor_Wait( IFusionSoundStream *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+ if (length < 1 || length > data->frames)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDSTREAM_METHOD_ID_Wait, VREQ_RESPOND, &response,
+@@ -268,13 +268,13 @@ IFusionSoundStream_Requestor_Wait( IFusionSoundStream *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_GetStatus( IFusionSoundStream *thiz,
+ int *ret_filled,
+ int *ret_total,
+ int *ret_read_pos,
+ int *ret_write_pos,
+- DFBBoolean *ret_playing )
++ bool *ret_playing )
+ {
+ DirectResult ret;
+ VoodooResponseMessage *response;
+@@ -283,7 +283,7 @@ IFusionSoundStream_Requestor_GetStatus( IFusionSoundStream *thiz,
+ int total;
+ int read_pos;
+ int write_pos;
+- DFBBoolean playing;
++ bool playing;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+@@ -327,7 +327,7 @@ IFusionSoundStream_Requestor_GetStatus( IFusionSoundStream *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_Flush( IFusionSoundStream *thiz )
+ {
+ DirectResult ret;
+@@ -348,7 +348,7 @@ IFusionSoundStream_Requestor_Flush( IFusionSoundStream *thiz )
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_Drop( IFusionSoundStream *thiz )
+ {
+ DirectResult ret;
+@@ -369,7 +369,7 @@ IFusionSoundStream_Requestor_Drop( IFusionSoundStream *thiz )
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_GetPresentationDelay( IFusionSoundStream *thiz,
+ int *delay )
+ {
+@@ -380,7 +380,7 @@ IFusionSoundStream_Requestor_GetPresentationDelay( IFusionSoundStream *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+ if (!delay)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDSTREAM_METHOD_ID_GetPresentationDelay, VREQ_RESPOND, &response,
+@@ -403,7 +403,7 @@ IFusionSoundStream_Requestor_GetPresentationDelay( IFusionSoundStream *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_GetPlayback( IFusionSoundStream *thiz,
+ IFusionSoundPlayback **ret_interface )
+ {
+@@ -414,7 +414,7 @@ IFusionSoundStream_Requestor_GetPlayback( IFusionSoundStream *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+ if (!ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IFUSIONSOUNDSTREAM_METHOD_ID_GetPlayback, VREQ_RESPOND, &response,
+@@ -423,7 +423,7 @@ IFusionSoundStream_Requestor_GetPlayback( IFusionSoundStream *thiz,
+ return ret;
+
+ ret = response->result;
+- if (ret == DFB_OK)
++ if (ret == DR_OK)
+ ret = voodoo_construct_requestor( data->manager, "IFusionSoundPlayback",
+ response->instance, NULL, &interface );
+
+@@ -434,7 +434,7 @@ IFusionSoundStream_Requestor_GetPlayback( IFusionSoundStream *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_Access( IFusionSoundStream *thiz,
+ void **ret_data,
+ int *ret_avail )
+@@ -442,7 +442,7 @@ IFusionSoundStream_Requestor_Access( IFusionSoundStream *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+ if (!ret_data || !ret_avail)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (!data->buffer)
+ data->buffer = D_MALLOC( data->frames * data->bytes_per_frame );
+@@ -450,31 +450,31 @@ IFusionSoundStream_Requestor_Access( IFusionSoundStream *thiz,
+ *ret_data = data->buffer;
+ *ret_avail = data->buffer ? data->frames : 0;
+
+- return data->buffer ? DFB_OK : DFB_NOSYSTEMMEMORY;
++ return data->buffer ? DR_OK : DR_NOLOCALMEMORY;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Requestor_Commit( IFusionSoundStream *thiz,
+ int length )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream_Requestor)
+
+ if (length < 0 || length > data->frames)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (length)
+ return thiz->Write( thiz, data->buffer, length );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ Probe()
+ {
+ /* This implementation has to be loaded explicitly. */
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ /*
+@@ -482,7 +482,7 @@ Probe()
+ *
+ * Fills in function pointers and intializes data structure.
+ */
+-static DFBResult
++static DirectResult
+ Construct( IFusionSoundStream *thiz,
+ VoodooManager *manager,
+ VoodooInstanceID instance,
+@@ -515,6 +515,6 @@ Construct( IFusionSoundStream *thiz,
+ thiz->Access = IFusionSoundStream_Requestor_Access;
+ thiz->Commit = IFusionSoundStream_Requestor_Commit;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/src/core/core_sound.c b/src/core/core_sound.c
+index 449fe49..709732d 100644
+--- a/src/core/core_sound.c
++++ b/src/core/core_sound.c
+@@ -149,14 +149,14 @@ static int fs_core_arena_shutdown ( FusionArena *arena,
+
+ /******************************************************************************/
+
+-static DFBResult fs_core_detach( CoreSound *core );
++static DirectResult fs_core_detach( CoreSound *core );
+
+ /******************************************************************************/
+
+ static CoreSound *core_sound = NULL;
+ static pthread_mutex_t core_sound_lock = PTHREAD_MUTEX_INITIALIZER;
+
+-DFBResult
++DirectResult
+ fs_core_create( CoreSound **ret_core )
+ {
+ int ret;
+@@ -180,14 +180,14 @@ fs_core_create( CoreSound **ret_core )
+ /* Unlock the core singleton mutex. */
+ pthread_mutex_unlock( &core_sound_lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /* Allocate local core structure. */
+ core = D_CALLOC( 1, sizeof(CoreSound) );
+ if (!core) {
+ pthread_mutex_unlock( &core_sound_lock );
+- return DFB_NOSYSTEMMEMORY;
++ return DR_NOLOCALMEMORY;
+ }
+
+ ret = fusion_enter( fs_config->session, FUSIONSOUND_CORE_ABI, FER_ANY, &core->world );
+@@ -222,7 +222,7 @@ fs_core_create( CoreSound **ret_core )
+ fusion_exit( core->world, false );
+ D_FREE( core );
+ pthread_mutex_unlock( &core_sound_lock );
+- return ret ? ret : DFB_FUSION;
++ return ret ? ret : DR_FUSION;
+ }
+
+ if (fs_config->deinit_check)
+@@ -234,10 +234,10 @@ fs_core_create( CoreSound **ret_core )
+ /* Unlock the core singleton mutex. */
+ pthread_mutex_unlock( &core_sound_lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_core_destroy( CoreSound *core, bool emergency )
+ {
+ D_ASSERT( core != NULL );
+@@ -253,7 +253,7 @@ fs_core_destroy( CoreSound *core, bool emergency )
+ /* Unlock the core singleton mutex. */
+ pthread_mutex_unlock( &core_sound_lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ direct_signal_handler_remove( core->signal_handler );
+@@ -264,7 +264,7 @@ fs_core_destroy( CoreSound *core, bool emergency )
+ /* Exit the FusionSound core arena. */
+ if (fusion_arena_exit( core->arena, fs_core_arena_shutdown,
+ core->master ? NULL : fs_core_arena_leave,
+- core, emergency, NULL ) == DFB_BUSY)
++ core, emergency, NULL ) == DR_BUSY)
+ {
+ if (core->master) {
+ if (emergency) {
+@@ -281,7 +281,7 @@ fs_core_destroy( CoreSound *core, bool emergency )
+
+ while (fusion_arena_exit( core->arena, fs_core_arena_shutdown,
+ core->master ? NULL : fs_core_arena_leave,
+- core, emergency, NULL ) == DFB_BUSY)
++ core, emergency, NULL ) == DR_BUSY)
+ {
+ D_ONCE( "waiting for FusionSound slaves to terminate" );
+ usleep( 100000 );
+@@ -303,7 +303,7 @@ fs_core_destroy( CoreSound *core, bool emergency )
+ /* Unlock the core singleton mutex. */
+ pthread_mutex_unlock( &core_sound_lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ CoreSoundBuffer *
+@@ -370,7 +370,7 @@ fs_core_playlist_unlock( CoreSound *core )
+ return fusion_skirmish_dismiss( &core->shared->playlist.lock );
+ }
+
+-DFBResult
++DirectResult
+ fs_core_add_playback( CoreSound *core,
+ CorePlayback *playback )
+ {
+@@ -388,12 +388,12 @@ fs_core_add_playback( CoreSound *core,
+ /* Allocate playlist entry. */
+ entry = SHCALLOC( shared->shmpool, 1, sizeof(CorePlaylistEntry) );
+ if (!entry)
+- return DFB_NOSYSTEMMEMORY;
++ return DR_NOLOCALMEMORY;
+
+ /* Link playback to playlist entry. */
+ if (fs_playback_link( &entry->playback, playback )) {
+ SHFREE( shared->shmpool, entry );
+- return DFB_FUSION;
++ return DR_FUSION;
+ }
+
+ /* Add it to the playback list. */
+@@ -402,10 +402,10 @@ fs_core_add_playback( CoreSound *core,
+ /* Notify new playlist entry to the sound thread. */
+ fusion_skirmish_notify( &shared->playlist.lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_core_remove_playback( CoreSound *core,
+ CorePlayback *playback )
+ {
+@@ -434,7 +434,7 @@ fs_core_remove_playback( CoreSound *core,
+ }
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ int
+@@ -482,11 +482,11 @@ fs_core_device_config( CoreSound *core )
+ return &core->shared->config;
+ }
+
+-DFBResult
++DirectResult
+ fs_core_get_master_volume( CoreSound *core, float *level )
+ {
+ CoreSoundShared *shared;
+- DFBResult ret;
++ DirectResult ret;
+ int retval;
+
+ D_ASSERT( core != NULL );
+@@ -511,11 +511,11 @@ fs_core_get_master_volume( CoreSound *core, float *level )
+ return ret;
+ }
+
+-DFBResult
++DirectResult
+ fs_core_set_master_volume( CoreSound *core, float level )
+ {
+ CoreSoundShared *shared;
+- DFBResult ret;
++ DirectResult ret;
+ int retval;
+
+ D_ASSERT( core != NULL );
+@@ -539,7 +539,7 @@ fs_core_set_master_volume( CoreSound *core, float level )
+ return ret;
+ }
+
+-DFBResult
++DirectResult
+ fs_core_get_local_volume( CoreSound *core, float *level )
+ {
+ D_ASSERT( core != NULL );
+@@ -551,7 +551,7 @@ fs_core_get_local_volume( CoreSound *core, float *level )
+
+ pthread_mutex_unlock( &core_sound_lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static bool
+@@ -569,7 +569,7 @@ volume_callback( FusionObjectPool *pool, FusionObject *object, void *ctx )
+ return true;
+ }
+
+-DFBResult
++DirectResult
+ fs_core_set_local_volume( CoreSound *core, float level )
+ {
+ D_ASSERT( core != NULL );
+@@ -583,13 +583,13 @@ fs_core_set_local_volume( CoreSound *core, float level )
+
+ pthread_mutex_unlock( &core_sound_lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_core_suspend( CoreSound *core )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ int retval;
+
+ D_ASSERT( core != NULL );
+@@ -603,10 +603,10 @@ fs_core_suspend( CoreSound *core )
+ return ret;
+ }
+
+-DFBResult
++DirectResult
+ fs_core_resume( CoreSound *core )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ int retval;
+
+ D_ASSERT( core != NULL );
+@@ -645,7 +645,7 @@ fs_core_signal_handler( int num, void *addr, void *ctx )
+
+ fs_core_destroy( core, true );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /******************************************************************************/
+@@ -878,7 +878,7 @@ sound_thread( DirectThread *thread, void *arg )
+ }
+
+ direct_list_foreach_safe (l, next, shared->playlist.entries) {
+- DFBResult ret;
++ DirectResult ret;
+ CorePlaylistEntry *entry = (CorePlaylistEntry *) l;
+ CorePlayback *playback = entry->playback;
+ int num;
+@@ -996,41 +996,41 @@ core_call_handler( int caller, int call_arg, void *call_ptr,
+ switch (call_arg) {
+ case CSCID_GET_VOLUME:
+ if (core->suspended) {
+- *retval = DFB_SUSPENDED;
++ *retval = DR_SUSPENDED;
+ }
+ else {
+ if (!(fs_device_get_capabilities( core->device ) & DCF_VOLUME) ||
+- fs_device_get_volume( core->device, &volume ) != DFB_OK)
++ fs_device_get_volume( core->device, &volume ) != DR_OK)
+ volume = fsf_to_float( shared->soft_volume );
+
+ *((float*)call_ptr) = volume;
+
+- *retval = DFB_OK;
++ *retval = DR_OK;
+ }
+ break;
+
+ case CSCID_SET_VOLUME:
+ if (core->suspended) {
+- *retval = DFB_SUSPENDED;
++ *retval = DR_SUSPENDED;
+ }
+ else {
+ volume = *((float*)call_ptr);
+ if (!(fs_device_get_capabilities( core->device ) & DCF_VOLUME) ||
+- fs_device_set_volume( core->device, volume ) != DFB_OK)
++ fs_device_set_volume( core->device, volume ) != DR_OK)
+ shared->soft_volume = fsf_from_float( volume );
+ else
+ shared->soft_volume = FSF_ONE;
+
+- *retval = DFB_OK;
++ *retval = DR_OK;
+ }
+ break;
+
+ case CSCID_SUSPEND:
+ if (core->suspended) {
+- *retval = DFB_BUSY;
++ *retval = DR_BUSY;
+ }
+ else {
+- DFBResult ret;
++ DirectResult ret;
+
+ direct_thread_cancel( core->sound_thread );
+ direct_thread_join( core->sound_thread );
+@@ -1047,16 +1047,16 @@ core_call_handler( int caller, int call_arg, void *call_ptr,
+
+ core->suspended = true;
+
+- *retval = DFB_OK;
++ *retval = DR_OK;
+ }
+ break;
+
+ case CSCID_RESUME:
+ if (!core->suspended) {
+- *retval = DFB_BUSY;
++ *retval = DR_BUSY;
+ }
+ else {
+- DFBResult ret;
++ DirectResult ret;
+
+ ret = fs_device_resume( core->device );
+ if (ret) {
+@@ -1068,7 +1068,7 @@ core_call_handler( int caller, int call_arg, void *call_ptr,
+
+ core->suspended = false;
+
+- *retval = DFB_OK;
++ *retval = DR_OK;
+ }
+ break;
+
+@@ -1080,11 +1080,11 @@ core_call_handler( int caller, int call_arg, void *call_ptr,
+ return FCHR_RETURN;
+ }
+
+-static DFBResult
++static DirectResult
+ fs_core_initialize( CoreSound *core )
+ {
+ CoreSoundShared *shared = core->shared;
+- DFBResult ret;
++ DirectResult ret;
+
+ /* Set default device configuration. */
+ shared->config.mode = fs_config->channelmode;
+@@ -1130,26 +1130,26 @@ fs_core_initialize( CoreSound *core )
+ /* Start sound mixer. */
+ core->sound_thread = direct_thread_create( DTT_OUTPUT, sound_thread, core, "Sound Mixer" );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ fs_core_join( CoreSound *core )
+ {
+ /* really nothing to be done here, yet ;) */
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ fs_core_leave( CoreSound *core )
+ {
+ /* really nothing to be done here, yet ;) */
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ fs_core_shutdown( CoreSound *core, bool local )
+ {
+ DirectLink *l, *next;
+@@ -1204,10 +1204,10 @@ fs_core_shutdown( CoreSound *core, bool local )
+ /* Release mixing buffer. */
+ D_FREE( core->mixing_buffer );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ fs_core_detach( CoreSound *core )
+ {
+ int ret;
+@@ -1226,7 +1226,7 @@ fs_core_detach( CoreSound *core )
+ D_PERROR( "fork()" );
+ fusion_kill( core->world, 0, SIGTERM, 5000 );
+ fusion_kill( core->world, 0, SIGKILL, 2000 );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+
+ case 0:
+ D_DEBUG( "FusionSound/Core: ... detached.\n" );
+@@ -1243,7 +1243,7 @@ fs_core_detach( CoreSound *core )
+ break;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+@@ -1253,7 +1253,7 @@ static int
+ fs_core_arena_initialize( FusionArena *arena,
+ void *ctx )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CoreSound *core = ctx;
+ CoreSoundShared *shared;
+ FusionSHMPoolShared *pool;
+@@ -1289,7 +1289,7 @@ fs_core_arena_initialize( FusionArena *arena,
+ /* Register shared data. */
+ fusion_arena_add_shared_field( arena, "Core/Shared", shared );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static int
+@@ -1297,7 +1297,7 @@ fs_core_arena_shutdown( FusionArena *arena,
+ void *ctx,
+ bool emergency)
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CoreSound *core = ctx;
+ CoreSoundShared *shared;
+ FusionSHMPoolShared *pool;
+@@ -1322,14 +1322,14 @@ fs_core_arena_shutdown( FusionArena *arena,
+
+ fusion_shm_pool_destroy( core->world, pool );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static int
+ fs_core_arena_join( FusionArena *arena,
+ void *ctx )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CoreSound *core = ctx;
+ CoreSoundShared *shared;
+
+@@ -1337,7 +1337,7 @@ fs_core_arena_join( FusionArena *arena,
+
+ /* Get shared data. */
+ if (fusion_arena_get_shared_field( arena, "Core/Shared", (void*)&shared ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ core->shared = shared;
+
+@@ -1346,7 +1346,7 @@ fs_core_arena_join( FusionArena *arena,
+ if (ret)
+ return ret;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static int
+@@ -1354,7 +1354,7 @@ fs_core_arena_leave( FusionArena *arena,
+ void *ctx,
+ bool emergency)
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CoreSound *core = ctx;
+
+ D_DEBUG( "FusionSound/Core: Leaving...\n" );
+@@ -1364,6 +1364,6 @@ fs_core_arena_leave( FusionArena *arena,
+ if (ret)
+ return ret;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/src/core/core_sound.h b/src/core/core_sound.h
+index 496e710..490c74c 100644
+--- a/src/core/core_sound.h
++++ b/src/core/core_sound.h
+@@ -40,8 +40,8 @@
+ /*
+ * Core initialization and deinitialization
+ */
+-DFBResult fs_core_create ( CoreSound **ret_core );
+-DFBResult fs_core_destroy( CoreSound *core, bool emergency );
++DirectResult fs_core_create ( CoreSound **ret_core );
++DirectResult fs_core_destroy( CoreSound *core, bool emergency );
+
+ /*
+ * Object creation
+@@ -52,12 +52,12 @@ CorePlayback *fs_core_create_playback( CoreSound *core );
+ /*
+ * Object enumeration
+ */
+-DirectResult fs_core_enum_buffers ( CoreSound *core,
+- FusionObjectCallback callback,
+- void *ctx );
+-DirectResult fs_core_enum_playbacks ( CoreSound *core,
+- FusionObjectCallback callback,
+- void *ctx );
++DirectResult fs_core_enum_buffers ( CoreSound *core,
++ FusionObjectCallback callback,
++ void *ctx );
++DirectResult fs_core_enum_playbacks ( CoreSound *core,
++ FusionObjectCallback callback,
++ void *ctx );
+
+ /*
+ * Playback list management
+@@ -65,11 +65,11 @@ DirectResult fs_core_enum_playbacks ( CoreSound *core,
+ DirectResult fs_core_playlist_lock ( CoreSound *core );
+ DirectResult fs_core_playlist_unlock( CoreSound *core );
+
+-DFBResult fs_core_add_playback ( CoreSound *core,
+- CorePlayback *playback );
++DirectResult fs_core_add_playback ( CoreSound *core,
++ CorePlayback *playback );
+
+-DFBResult fs_core_remove_playback( CoreSound *core,
+- CorePlayback *playback );
++DirectResult fs_core_remove_playback( CoreSound *core,
++ CorePlayback *playback );
+
+ /*
+ * Returns the amount of audio data buffered by the device in ms.
+@@ -99,32 +99,32 @@ CoreSoundDeviceConfig *fs_core_device_config( CoreSound *core );
+ /*
+ * Returns the master volume.
+ */
+-DFBResult fs_core_get_master_volume( CoreSound *core, float *level );
++DirectResult fs_core_get_master_volume( CoreSound *core, float *level );
+
+ /*
+ * Sets the master volume.
+ */
+-DFBResult fs_core_set_master_volume( CoreSound *core, float level );
++DirectResult fs_core_set_master_volume( CoreSound *core, float level );
+
+ /*
+ * Returns the local volume.
+ */
+-DFBResult fs_core_get_local_volume( CoreSound *core, float *level );
++DirectResult fs_core_get_local_volume( CoreSound *core, float *level );
+
+ /*
+ * Sets the local volume.
+ */
+-DFBResult fs_core_set_local_volume( CoreSound *core, float level );
++DirectResult fs_core_set_local_volume( CoreSound *core, float level );
+
+ /*
+ * Suspends playback.
+ */
+-DFBResult fs_core_suspend( CoreSound *core );
++DirectResult fs_core_suspend( CoreSound *core );
+
+ /*
+ * Resumes playback.
+ */
+-DFBResult fs_core_resume( CoreSound *core );
++DirectResult fs_core_resume( CoreSound *core );
+
+
+ #endif
+diff --git a/src/core/playback.c b/src/core/playback.c
+index 5d8a639..a0b0b18 100644
+--- a/src/core/playback.c
++++ b/src/core/playback.c
+@@ -97,7 +97,7 @@ fs_playback_pool_create( const FusionWorld *world )
+
+ /******************************************************************************/
+
+-DFBResult
++DirectResult
+ fs_playback_create( CoreSound *core,
+ CoreSoundBuffer *buffer,
+ bool notify,
+@@ -115,12 +115,12 @@ fs_playback_create( CoreSound *core,
+ /* Create playback object. */
+ playback = fs_core_create_playback( core );
+ if (!playback)
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Link buffer to playback object. */
+ if (fs_buffer_link( &playback->buffer, buffer )) {
+ fusion_object_destroy( &playback->object );
+- return DFB_FUSION;
++ return DR_FUSION;
+ }
+
+ fusion_skirmish_init( &playback->lock, "FusionSound Playback", fs_core_world(core) );
+@@ -151,20 +151,20 @@ fs_playback_create( CoreSound *core,
+ /* Return playback object. */
+ *ret_playback = playback;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_enable( CorePlayback *playback )
+ {
+- DFBResult ret = DFB_OK;
++ DirectResult ret = DR_OK;
+
+ D_ASSERT( playback != NULL );
+ D_ASSERT( playback->buffer != NULL );
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Enable playback. */
+ playback->disabled = false;
+@@ -175,22 +175,22 @@ fs_playback_enable( CorePlayback *playback )
+ return ret;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_start( CorePlayback *playback, bool enable )
+ {
+- DFBResult ret = DFB_OK;
++ DirectResult ret = DR_OK;
+
+ D_ASSERT( playback != NULL );
+ D_ASSERT( playback->buffer != NULL );
+
+ /* Lock playlist. */
+ if (fs_core_playlist_lock( playback->core ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock )) {
+ fs_core_playlist_unlock( playback->core );
+- return DFB_FUSION;
++ return DR_FUSION;
+ }
+
+ /* If the playback is disabled, it won't begin to play. */
+@@ -200,13 +200,13 @@ fs_playback_start( CorePlayback *playback, bool enable )
+ /* Start the playback if it's not running already. */
+ if (!playback->running) {
+ if (playback->disabled) {
+- ret = DFB_TEMPUNAVAIL;
++ ret = DR_TEMPUNAVAIL;
+ }
+ else {
+ ret = fs_core_add_playback( playback->core, playback );
+
+ /* Notify listeners about the start of the playback. */
+- if (ret == DFB_OK)
++ if (ret == DR_OK)
+ fs_playback_notify( playback, CPNF_START, 0 );
+ }
+ }
+@@ -220,19 +220,19 @@ fs_playback_start( CorePlayback *playback, bool enable )
+ return ret;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_stop( CorePlayback *playback, bool disable )
+ {
+ D_ASSERT( playback != NULL );
+
+ /* Lock playlist. */
+ if (fs_core_playlist_lock( playback->core ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock )) {
+ fs_core_playlist_unlock( playback->core );
+- return DFB_FUSION;
++ return DR_FUSION;
+ }
+
+ /* Stop the playback if it's running. */
+@@ -253,10 +253,10 @@ fs_playback_stop( CorePlayback *playback, bool disable )
+ /* Unlock playlist. */
+ fs_core_playlist_unlock( playback->core );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_set_stop( CorePlayback *playback,
+ int stop )
+ {
+@@ -266,7 +266,7 @@ fs_playback_set_stop( CorePlayback *playback,
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Adjust stop position. */
+ playback->stop = stop;
+@@ -274,10 +274,10 @@ fs_playback_set_stop( CorePlayback *playback,
+ /* Unlock playback. */
+ fusion_skirmish_dismiss( &playback->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_set_position( CorePlayback *playback,
+ int position )
+ {
+@@ -288,7 +288,7 @@ fs_playback_set_position( CorePlayback *playback,
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Adjust the playback position. */
+ playback->position = position;
+@@ -296,10 +296,10 @@ fs_playback_set_position( CorePlayback *playback,
+ /* Unlock playback. */
+ fusion_skirmish_dismiss( &playback->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_set_downmix( CorePlayback *playback,
+ float center,
+ float rear )
+@@ -315,7 +315,7 @@ fs_playback_set_downmix( CorePlayback *playback,
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ buffer = playback->buffer;
+ config = fs_core_device_config( playback->core );
+@@ -335,10 +335,10 @@ fs_playback_set_downmix( CorePlayback *playback,
+ /* Unlock playback. */
+ fusion_skirmish_dismiss( &playback->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_set_volume( CorePlayback *playback,
+ float levels[6] )
+ {
+@@ -352,7 +352,7 @@ fs_playback_set_volume( CorePlayback *playback,
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Adjust volume. */
+ for (i = 0; i < 6; i++)
+@@ -370,10 +370,10 @@ fs_playback_set_volume( CorePlayback *playback,
+ /* Unlock playback. */
+ fusion_skirmish_dismiss( &playback->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_set_local_volume( CorePlayback *playback,
+ float level )
+ {
+@@ -383,7 +383,7 @@ fs_playback_set_local_volume( CorePlayback *playback,
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Set local volume level. */
+ playback->volume = fsf_from_float( level );
+@@ -391,10 +391,10 @@ fs_playback_set_local_volume( CorePlayback *playback,
+ /* Unlock playback. */
+ fusion_skirmish_dismiss( &playback->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_set_pitch( CorePlayback *playback,
+ int pitch )
+ {
+@@ -404,7 +404,7 @@ fs_playback_set_pitch( CorePlayback *playback,
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Adjust pitch. */
+ playback->pitch = pitch;
+@@ -412,10 +412,10 @@ fs_playback_set_pitch( CorePlayback *playback,
+ /* Unlock playback. */
+ fusion_skirmish_dismiss( &playback->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_playback_get_status( CorePlayback *playback,
+ CorePlaybackStatus *ret_status,
+ int *ret_position )
+@@ -424,7 +424,7 @@ fs_playback_get_status( CorePlayback *playback,
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ /* Return status. */
+ if (ret_status) {
+@@ -447,12 +447,12 @@ fs_playback_get_status( CorePlayback *playback,
+ /* Unlock playback. */
+ fusion_skirmish_dismiss( &playback->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /******************************************************************************/
+
+-DFBResult
++DirectResult
+ fs_playback_mixto( CorePlayback *playback,
+ __fsf *dest,
+ int dest_rate,
+@@ -461,7 +461,7 @@ fs_playback_mixto( CorePlayback *playback,
+ __fsf volume,
+ int *ret_samples)
+ {
+- DFBResult ret;
++ DirectResult ret;
+ int pos;
+ int num;
+ __fsf *levels;
+@@ -474,7 +474,7 @@ fs_playback_mixto( CorePlayback *playback,
+
+ /* Lock playback. */
+ if (fusion_skirmish_prevail( &playback->lock ))
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ if (volume != FSF_ONE || playback->volume != FSF_ONE) {
+ levels = alloca( 6 * sizeof(__fsf) );
+diff --git a/src/core/playback.h b/src/core/playback.h
+index 6c5d05b..33cc652 100644
+--- a/src/core/playback.h
++++ b/src/core/playback.h
+@@ -74,47 +74,47 @@ FusionObjectPool *fs_playback_pool_create( const FusionWorld *world );
+ FUSION_OBJECT_METHODS( CorePlayback, fs_playback )
+
+
+-DFBResult fs_playback_create ( CoreSound *core,
++DirectResult fs_playback_create ( CoreSound *core,
+ CoreSoundBuffer *buffer,
+ bool notify,
+ CorePlayback **ret_playback );
+
+-DFBResult fs_playback_enable ( CorePlayback *playback );
++DirectResult fs_playback_enable ( CorePlayback *playback );
+
+-DFBResult fs_playback_start ( CorePlayback *playback,
++DirectResult fs_playback_start ( CorePlayback *playback,
+ bool enable );
+
+-DFBResult fs_playback_stop ( CorePlayback *playback,
++DirectResult fs_playback_stop ( CorePlayback *playback,
+ bool disable );
+
+-DFBResult fs_playback_set_stop ( CorePlayback *playback,
++DirectResult fs_playback_set_stop ( CorePlayback *playback,
+ int stop );
+
+-DFBResult fs_playback_set_position( CorePlayback *playback,
++DirectResult fs_playback_set_position( CorePlayback *playback,
+ int position );
+
+ /* Must call fs_playback_set_volume() after this. */
+-DFBResult fs_playback_set_downmix ( CorePlayback *playback,
++DirectResult fs_playback_set_downmix ( CorePlayback *playback,
+ float center,
+ float rear );
+
+-DFBResult fs_playback_set_volume ( CorePlayback *playback,
++DirectResult fs_playback_set_volume ( CorePlayback *playback,
+ float levels[6] );
+
+-DFBResult fs_playback_set_local_volume( CorePlayback *playback,
++DirectResult fs_playback_set_local_volume( CorePlayback *playback,
+ float level );
+
+-DFBResult fs_playback_set_pitch ( CorePlayback *playback,
++DirectResult fs_playback_set_pitch ( CorePlayback *playback,
+ int pitch );
+
+-DFBResult fs_playback_get_status ( CorePlayback *playback,
++DirectResult fs_playback_get_status ( CorePlayback *playback,
+ CorePlaybackStatus *ret_status,
+ int *ret_position );
+
+ /*
+ * Internally called by core_sound.c in the audio thread.
+ */
+-DFBResult fs_playback_mixto ( CorePlayback *playback,
++DirectResult fs_playback_mixto ( CorePlayback *playback,
+ __fsf *dest,
+ int dest_rate,
+ FSChannelMode dest_mode,
+diff --git a/src/core/sound_buffer.c b/src/core/sound_buffer.c
+index e4e2a0d..6fb6829 100644
+--- a/src/core/sound_buffer.c
++++ b/src/core/sound_buffer.c
+@@ -66,7 +66,7 @@ fs_buffer_pool_create( const FusionWorld *world )
+
+ /******************************************************************************/
+
+-DFBResult
++DirectResult
+ fs_buffer_create( CoreSound *core,
+ int length,
+ FSChannelMode mode,
+@@ -96,12 +96,12 @@ fs_buffer_create( CoreSound *core,
+
+ buffer = fs_core_create_buffer( core );
+ if (!buffer)
+- return DFB_FUSION;
++ return DR_FUSION;
+
+ buffer->data = SHMALLOC( pool, length * bytes * channels );
+ if (!buffer->data) {
+ fusion_object_destroy( &buffer->object );
+- return DFB_NOSYSTEMMEMORY;
++ return DR_NOLOCALMEMORY;
+ }
+
+ buffer->length = length;
+@@ -115,10 +115,10 @@ fs_buffer_create( CoreSound *core,
+
+ *ret_buffer = buffer;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_buffer_lock( CoreSoundBuffer *buffer,
+ int pos,
+ int length,
+@@ -142,17 +142,17 @@ fs_buffer_lock( CoreSoundBuffer *buffer,
+ *ret_data = buffer->data + buffer->bytes * pos;
+ *ret_bytes = buffer->bytes * length;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_buffer_unlock( CoreSoundBuffer *buffer )
+ {
+ D_ASSERT( buffer != NULL );
+
+ D_DEBUG( "FusionSound/Core: %s (%p)\n", __FUNCTION__, buffer );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /******************************************************************************/
+@@ -299,7 +299,7 @@ static const SoundMXFunc MIX_RW[FS_NUM_SAMPLEFORMATS][FS_MAX_CHANNELS] = {
+ };
+
+
+-DFBResult
++DirectResult
+ fs_buffer_mixto( CoreSoundBuffer *buffer,
+ __fsf *dest,
+ int dest_rate,
+@@ -405,6 +405,6 @@ fs_buffer_mixto( CoreSoundBuffer *buffer,
+ D_DEBUG( "FusionSound/Core: %s ... mixed %d (%d/%d).\n",
+ __FUNCTION__, ABS(num), len, max_frames );
+
+- return last ? DFB_BUFFEREMPTY : DFB_OK;
++ return last ? DR_BUFFEREMPTY : DR_OK;
+ }
+
+diff --git a/src/core/sound_buffer.h b/src/core/sound_buffer.h
+index e107839..a23dcf7 100644
+--- a/src/core/sound_buffer.h
++++ b/src/core/sound_buffer.h
+@@ -75,22 +75,22 @@ FusionObjectPool *fs_buffer_pool_create( const FusionWorld *world );
+ FUSION_OBJECT_METHODS( CoreSoundBuffer, fs_buffer )
+
+
+-DFBResult fs_buffer_create( CoreSound *core,
++DirectResult fs_buffer_create( CoreSound *core,
+ int length,
+ FSChannelMode mode,
+ FSSampleFormat format,
+ int rate,
+ CoreSoundBuffer **ret_buffer );
+
+-DFBResult fs_buffer_lock ( CoreSoundBuffer *buffer,
++DirectResult fs_buffer_lock ( CoreSoundBuffer *buffer,
+ int pos,
+ int length,
+ void **ret_data,
+ int *ret_bytes );
+
+-DFBResult fs_buffer_unlock( CoreSoundBuffer *buffer );
++DirectResult fs_buffer_unlock( CoreSoundBuffer *buffer );
+
+-DFBResult fs_buffer_mixto ( CoreSoundBuffer *buffer,
++DirectResult fs_buffer_mixto ( CoreSoundBuffer *buffer,
+ __fsf *dest,
+ int dest_rate,
+ FSChannelMode dest_mode,
+diff --git a/src/core/sound_device.c b/src/core/sound_device.c
+index 3804e44..b841ae6 100644
+--- a/src/core/sound_device.c
++++ b/src/core/sound_device.c
+@@ -54,12 +54,12 @@ struct __FS_CoreSoundDevice {
+ };
+
+
+-DFBResult
++DirectResult
+ fs_device_initialize( CoreSound *core,
+ CoreSoundDeviceConfig *config,
+ CoreSoundDevice **ret_device )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CoreSoundDevice *device;
+ DirectLink *link;
+
+@@ -90,7 +90,7 @@ fs_device_initialize( CoreSound *core,
+
+ if (!device->module &&
+ (!fs_config->driver || !strcmp( module->name, fs_config->driver ))) {
+- if (funcs->Probe() == DFB_OK) {
++ if (funcs->Probe() == DR_OK) {
+ device->module = module;
+ device->funcs = funcs;
+
+@@ -112,7 +112,7 @@ fs_device_initialize( CoreSound *core,
+ }
+
+ D_FREE( device );
+- return DFB_FAILURE;
++ return DR_FAILURE;
+ }
+
+ if (device->info.device_data_size) {
+@@ -146,7 +146,7 @@ fs_device_initialize( CoreSound *core,
+
+ *ret_device = device;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ void
+@@ -168,7 +168,7 @@ fs_device_get_capabilities( CoreSoundDevice *device )
+ return device->device_info.caps;
+ }
+
+-DFBResult
++DirectResult
+ fs_device_get_buffer( CoreSoundDevice *device,
+ u8 **addr,
+ unsigned int *avail )
+@@ -180,10 +180,10 @@ fs_device_get_buffer( CoreSoundDevice *device,
+ if (device->funcs)
+ return device->funcs->GetBuffer( device->device_data, addr, avail );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-DFBResult
++DirectResult
+ fs_device_commit_buffer( CoreSoundDevice *device, unsigned int frames )
+ {
+ D_ASSERT( device != NULL );
+@@ -191,7 +191,7 @@ fs_device_commit_buffer( CoreSoundDevice *device, unsigned int frames )
+ if (device->funcs)
+ return device->funcs->CommitBuffer( device->device_data, frames );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+ void
+@@ -206,7 +206,7 @@ fs_device_get_output_delay( CoreSoundDevice *device, int *delay )
+ *delay = 0;
+ }
+
+-DFBResult
++DirectResult
+ fs_device_get_volume( CoreSoundDevice *device, float *level )
+ {
+ D_ASSERT( device != NULL );
+@@ -215,10 +215,10 @@ fs_device_get_volume( CoreSoundDevice *device, float *level )
+ if (device->funcs)
+ return device->funcs->GetVolume( device->device_data, level );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-DFBResult
++DirectResult
+ fs_device_set_volume( CoreSoundDevice *device, float level )
+ {
+ D_ASSERT( device != NULL );
+@@ -226,10 +226,10 @@ fs_device_set_volume( CoreSoundDevice *device, float level )
+ if (device->funcs)
+ return device->funcs->SetVolume( device->device_data, level );
+
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ }
+
+-DFBResult
++DirectResult
+ fs_device_suspend( CoreSoundDevice *device )
+ {
+ D_ASSERT( device != NULL );
+@@ -237,10 +237,10 @@ fs_device_suspend( CoreSoundDevice *device )
+ if (device->funcs)
+ return device->funcs->Suspend( device->device_data );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-DFBResult
++DirectResult
+ fs_device_resume( CoreSoundDevice *device )
+ {
+ D_ASSERT( device != NULL );
+@@ -248,7 +248,7 @@ fs_device_resume( CoreSoundDevice *device )
+ if (device->funcs)
+ return device->funcs->Resume( device->device_data );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ void
+diff --git a/src/core/sound_device.h b/src/core/sound_device.h
+index 60a6f5f..9d7d9a2 100644
+--- a/src/core/sound_device.h
++++ b/src/core/sound_device.h
+@@ -94,23 +94,23 @@ typedef struct {
+
+ /* Device funcs. */
+ typedef struct {
+- DFBResult (*Probe) ( void );
++ DirectResult (*Probe) ( void );
+
+ /* Get device driver information. */
+ void (*GetDriverInfo) ( SoundDriverInfo *info);
+
+ /* Open the device, get device information and apply given configuration. */
+- DFBResult (*OpenDevice) ( void *device_data,
++ DirectResult (*OpenDevice) ( void *device_data,
+ SoundDeviceInfo *device_info,
+ CoreSoundDeviceConfig *config );
+
+ /* Begin access to the ring buffer, return buffer pointer and available frames. */
+- DFBResult (*GetBuffer) ( void *device_data,
++ DirectResult (*GetBuffer) ( void *device_data,
+ u8 **addr,
+ unsigned int *avail );
+
+ /* Finish access to the ring buffer, commit specified amout of frames. */
+- DFBResult (*CommitBuffer) ( void *device_data,
++ DirectResult (*CommitBuffer) ( void *device_data,
+ unsigned int frames );
+
+ /* Get output delay in frames. */
+@@ -118,25 +118,25 @@ typedef struct {
+ int *delay );
+
+ /* Get volume level */
+- DFBResult (*GetVolume) ( void *device_data,
++ DirectResult (*GetVolume) ( void *device_data,
+ float *level );
+
+ /* Set volume level */
+- DFBResult (*SetVolume) ( void *device_data,
++ DirectResult (*SetVolume) ( void *device_data,
+ float level );
+
+ /* Suspend the device */
+- DFBResult (*Suspend) ( void *device_data );
++ DirectResult (*Suspend) ( void *device_data );
+
+ /* Resume the device */
+- DFBResult (*Resume) ( void *device_data );
++ DirectResult (*Resume) ( void *device_data );
+
+ /* Close device. */
+ void (*CloseDevice) ( void *device_data );
+ } SoundDriverFuncs;
+
+
+-DFBResult fs_device_initialize( CoreSound *core,
++DirectResult fs_device_initialize( CoreSound *core,
+ CoreSoundDeviceConfig *config,
+ CoreSoundDevice **ret_device );
+ void fs_device_shutdown ( CoreSoundDevice *device );
+@@ -147,20 +147,20 @@ void fs_device_get_description( CoreSoundDevice *device,
+ DeviceCapabilities
+ fs_device_get_capabilities( CoreSoundDevice *device );
+
+-DFBResult fs_device_get_buffer( CoreSoundDevice *device,
++DirectResult fs_device_get_buffer( CoreSoundDevice *device,
+ u8 **addr,
+ unsigned int *avail );
+
+-DFBResult fs_device_commit_buffer( CoreSoundDevice *device, unsigned int frames );
++DirectResult fs_device_commit_buffer( CoreSoundDevice *device, unsigned int frames );
+
+ void fs_device_get_output_delay( CoreSoundDevice *device, int *delay );
+
+-DFBResult fs_device_get_volume( CoreSoundDevice *device, float *level );
++DirectResult fs_device_get_volume( CoreSoundDevice *device, float *level );
+
+-DFBResult fs_device_set_volume( CoreSoundDevice *device, float level );
++DirectResult fs_device_set_volume( CoreSoundDevice *device, float level );
+
+-DFBResult fs_device_suspend( CoreSoundDevice *device );
++DirectResult fs_device_suspend( CoreSoundDevice *device );
+
+-DFBResult fs_device_resume( CoreSoundDevice *device );
++DirectResult fs_device_resume( CoreSoundDevice *device );
+
+ #endif
+diff --git a/src/core/sound_driver.h b/src/core/sound_driver.h
+index 664ea80..49eb1e0 100644
+--- a/src/core/sound_driver.h
++++ b/src/core/sound_driver.h
+@@ -33,39 +33,39 @@
+ #include <core/sound_device.h>
+
+
+-static DFBResult
++static DirectResult
+ device_probe( void );
+
+ static void
+ device_get_driver_info( SoundDriverInfo *info );
+
+-static DFBResult
++static DirectResult
+ device_open( void *device_data,
+ SoundDeviceInfo *device_info,
+ CoreSoundDeviceConfig *config );
+
+-static DFBResult
++static DirectResult
+ device_get_buffer( void *device_data,
+ u8 **addr,
+ unsigned int *avail );
+
+-static DFBResult
++static DirectResult
+ device_commit_buffer( void *device_data,
+ unsigned int frames );
+
+ static void
+ device_get_output_delay( void *device_data, int *delay );
+
+-static DFBResult
++static DirectResult
+ device_get_volume( void *device_data, float *level );
+
+-static DFBResult
++static DirectResult
+ device_set_volume( void *device_data, float level );
+
+-static DFBResult
++static DirectResult
+ device_suspend( void *device_data );
+
+-static DFBResult
++static DirectResult
+ device_resume( void *device_data );
+
+ static void
+diff --git a/src/fusionsound.c b/src/fusionsound.c
+index 323b458..0cafa44 100644
+--- a/src/fusionsound.c
++++ b/src/fusionsound.c
+@@ -49,7 +49,7 @@ IFusionSound *ifusionsound_singleton = NULL;
+
+ /**************************************************************************************************/
+
+-static DFBResult CreateRemote( const char *host,
++static DirectResult CreateRemote( const char *host,
+ int session,
+ IFusionSound **ret_interface );
+
+@@ -91,27 +91,27 @@ FusionSoundUsageString( void )
+ return fs_config_usage();
+ }
+
+-DFBResult
++DirectResult
+ FusionSoundInit( int *argc, char **argv[] )
+ {
+ return fs_config_init( argc, argv );
+ }
+
+-DFBResult
++DirectResult
+ FusionSoundSetOption( const char *name, const char *value )
+ {
+ if (fs_config == NULL) {
+ D_ERROR( "FusionSoundSetOption: FusionSoundInit has to be called first!\n" );
+- return DFB_INIT;
++ return DR_INIT;
+ }
+
+ if (ifusionsound_singleton) {
+ D_ERROR( "FusionSoundSetOption: FusionSoundCreate has already been called!\n" );
+- return DFB_INIT;
++ return DR_INIT;
+ }
+
+ if (!name)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ return fs_config_set( name, value );
+ }
+@@ -119,20 +119,20 @@ FusionSoundSetOption( const char *name, const char *value )
+ DirectResult
+ FusionSoundCreate( IFusionSound **ret_interface )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ if (!fs_config) {
+ D_ERROR( "FusionSoundCreate: FusionSoundInit has to be called first!\n" );
+- return DFB_INIT;
++ return DR_INIT;
+ }
+
+ if (!ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (ifusionsound_singleton) {
+ ifusionsound_singleton->AddRef( ifusionsound_singleton );
+ *ret_interface = ifusionsound_singleton;
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ if (!direct_config->quiet && fs_config->banner) {
+@@ -152,7 +152,7 @@ FusionSoundCreate( IFusionSound **ret_interface )
+ DIRECT_ALLOCATE_INTERFACE( ifusionsound_singleton, IFusionSound );
+
+ ret = IFusionSound_Construct( ifusionsound_singleton );
+- if (ret != DFB_OK)
++ if (ret != DR_OK)
+ ifusionsound_singleton = NULL;
+
+ *ret_interface = ifusionsound_singleton;
+@@ -171,7 +171,7 @@ FusionSoundError( const char *msg, DirectResult error )
+ return error;
+ }
+
+-DFBResult
++DirectResult
+ FusionSoundErrorFatal( const char *msg, DirectResult error )
+ {
+ FusionSoundError( msg, error );
+@@ -187,10 +187,10 @@ FusionSoundErrorString( DirectResult error )
+
+ /**************************************************************************************************/
+
+-static DFBResult
++static DirectResult
+ CreateRemote( const char *host, int session, IFusionSound **ret_interface )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ DirectInterfaceFuncs *funcs;
+ void *interface;
+
+@@ -211,5 +211,5 @@ CreateRemote( const char *host, int session, IFusionSound **ret_interface )
+
+ *ret_interface = interface;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+diff --git a/src/ifusionsound.c b/src/ifusionsound.c
+index 7822980..435d30c 100644
+--- a/src/ifusionsound.c
++++ b/src/ifusionsound.c
+@@ -62,17 +62,17 @@ IFusionSound_Destruct( IFusionSound *thiz )
+ ifusionsound_singleton = NULL;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_AddRef( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Release( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound)
+@@ -80,29 +80,29 @@ IFusionSound_Release( IFusionSound *thiz )
+ if (--data->ref == 0)
+ IFusionSound_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_GetDeviceDescription( IFusionSound *thiz,
+ FSDeviceDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound)
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *desc = *fs_core_device_description( data->core );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_CreateBuffer( IFusionSound *thiz,
+ const FSBufferDescription *desc,
+ IFusionSoundBuffer **ret_interface )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CoreSoundDeviceConfig *config;
+ FSChannelMode mode;
+ FSSampleFormat format;
+@@ -115,7 +115,7 @@ IFusionSound_CreateBuffer( IFusionSound *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSound)
+
+ if (!desc || !ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ config = fs_core_device_config( data->core );
+ mode = config->mode;
+@@ -126,7 +126,7 @@ IFusionSound_CreateBuffer( IFusionSound *thiz,
+ flags = desc->flags;
+
+ if (flags & ~FSBDF_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+
+ if (flags & FSBDF_CHANNELMODE) {
+@@ -150,7 +150,7 @@ IFusionSound_CreateBuffer( IFusionSound *thiz,
+ break;
+
+ default:
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (flags & FSBDF_CHANNELS) {
+@@ -160,7 +160,7 @@ IFusionSound_CreateBuffer( IFusionSound *thiz,
+ break;
+
+ default:
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+
+@@ -175,13 +175,13 @@ IFusionSound_CreateBuffer( IFusionSound *thiz,
+ break;
+
+ default:
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+
+ if (flags & FSBDF_SAMPLERATE) {
+ if (desc->samplerate < 100)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ rate = desc->samplerate;
+ }
+
+@@ -189,10 +189,10 @@ IFusionSound_CreateBuffer( IFusionSound *thiz,
+ length = desc->length;
+
+ if (length < 1)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (length > FS_MAX_FRAMES)
+- return DFB_LIMITEXCEEDED;
++ return DR_LIMITEXCEEDED;
+
+ ret = fs_buffer_create( data->core, length, mode, format, rate, &buffer );
+ if (ret)
+@@ -210,12 +210,12 @@ IFusionSound_CreateBuffer( IFusionSound *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_CreateStream( IFusionSound *thiz,
+ const FSStreamDescription *desc,
+ IFusionSoundStream **ret_interface )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CoreSoundDeviceConfig *config;
+ FSChannelMode mode;
+ FSSampleFormat format;
+@@ -229,7 +229,7 @@ IFusionSound_CreateStream( IFusionSound *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSound)
+
+ if (!ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ config = fs_core_device_config( data->core );
+ mode = config->mode;
+@@ -242,7 +242,7 @@ IFusionSound_CreateStream( IFusionSound *thiz,
+ flags = desc->flags;
+
+ if (flags & ~FSSDF_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (flags & FSSDF_CHANNELMODE) {
+ switch (desc->channelmode) {
+@@ -265,7 +265,7 @@ IFusionSound_CreateStream( IFusionSound *thiz,
+ break;
+
+ default:
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (flags & FSSDF_CHANNELS) {
+@@ -275,7 +275,7 @@ IFusionSound_CreateStream( IFusionSound *thiz,
+ break;
+
+ default:
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+
+@@ -290,25 +290,25 @@ IFusionSound_CreateStream( IFusionSound *thiz,
+ break;
+
+ default:
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+
+ if (flags & FSSDF_SAMPLERATE) {
+ if (desc->samplerate < 100)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+ rate = desc->samplerate;
+ }
+
+ if (flags & FSSDF_BUFFERSIZE) {
+ if (desc->buffersize < 1)
+- return DFB_INVARG;
++ return DR_INVARG;
+ size = desc->buffersize;
+ }
+
+ if (flags & FSSDF_PREBUFFER) {
+ if (desc->prebuffer >= size)
+- return DFB_INVARG;
++ return DR_INVARG;
+ prebuffer = desc->prebuffer;
+ }
+ }
+@@ -318,7 +318,7 @@ IFusionSound_CreateStream( IFusionSound *thiz,
+
+ /* Limit ring buffer size to five seconds. */
+ if (size > rate * 5)
+- return DFB_LIMITEXCEEDED;
++ return DR_LIMITEXCEEDED;
+
+ ret = fs_buffer_create( data->core, size, mode, format, rate, &buffer );
+ if (ret)
+@@ -336,7 +336,7 @@ IFusionSound_CreateStream( IFusionSound *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_CreateMusicProvider( IFusionSound *thiz,
+ const char *filename,
+ IFusionSoundMusicProvider **ret_interface )
+@@ -345,12 +345,12 @@ IFusionSound_CreateMusicProvider( IFusionSound *thiz,
+
+ /* Check arguments */
+ if (!ret_interface || !filename)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ return IFusionSoundMusicProvider_Create( filename, ret_interface );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_GetMasterVolume( IFusionSound *thiz,
+ float *level )
+ {
+@@ -358,12 +358,12 @@ IFusionSound_GetMasterVolume( IFusionSound *thiz,
+
+ /* Check arguments */
+ if (!level)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ return fs_core_get_master_volume( data->core, level );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_SetMasterVolume( IFusionSound *thiz,
+ float level )
+ {
+@@ -371,12 +371,12 @@ IFusionSound_SetMasterVolume( IFusionSound *thiz,
+
+ /* Check arguments */
+ if (level < 0.0f || level > 1.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ return fs_core_set_master_volume( data->core, level );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_GetLocalVolume( IFusionSound *thiz,
+ float *level )
+ {
+@@ -384,12 +384,12 @@ IFusionSound_GetLocalVolume( IFusionSound *thiz,
+
+ /* Check arguments */
+ if (!level)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ return fs_core_get_local_volume( data->core, level );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_SetLocalVolume( IFusionSound *thiz,
+ float level )
+ {
+@@ -397,12 +397,12 @@ IFusionSound_SetLocalVolume( IFusionSound *thiz,
+
+ /* Check arguments */
+ if (level < 0.0f || level > 1.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ return fs_core_set_local_volume( data->core, level );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Suspend( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound)
+@@ -410,7 +410,7 @@ IFusionSound_Suspend( IFusionSound *thiz )
+ return fs_core_suspend( data->core );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSound_Resume( IFusionSound *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSound)
+@@ -419,10 +419,10 @@ IFusionSound_Resume( IFusionSound *thiz )
+ }
+
+
+-DFBResult
++DirectResult
+ IFusionSound_Construct( IFusionSound *thiz )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ /* Allocate interface data. */
+ DIRECT_ALLOCATE_INTERFACE_DATA( thiz, IFusionSound );
+@@ -454,5 +454,5 @@ IFusionSound_Construct( IFusionSound *thiz )
+ thiz->Suspend = IFusionSound_Suspend;
+ thiz->Resume = IFusionSound_Resume;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+diff --git a/src/ifusionsound.h b/src/ifusionsound.h
+index d7c91cc..f19c3e0 100644
+--- a/src/ifusionsound.h
++++ b/src/ifusionsound.h
+@@ -42,7 +42,7 @@ typedef struct {
+ } IFusionSound_data;
+
+
+-DFBResult IFusionSound_Construct( IFusionSound *thiz );
++DirectResult IFusionSound_Construct( IFusionSound *thiz );
+
+ extern IFusionSound *ifusionsound_singleton;
+
+diff --git a/src/ifusionsoundbuffer.c b/src/ifusionsoundbuffer.c
+index 6cf3a58..d5047e6 100644
+--- a/src/ifusionsoundbuffer.c
++++ b/src/ifusionsoundbuffer.c
+@@ -87,17 +87,17 @@ IFusionSoundBuffer_Destruct( IFusionSoundBuffer *thiz )
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_AddRef( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Release( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer)
+@@ -105,18 +105,18 @@ IFusionSoundBuffer_Release( IFusionSoundBuffer *thiz )
+ if (--data->ref == 0)
+ IFusionSoundBuffer_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_GetDescription( IFusionSoundBuffer *thiz,
+ FSBufferDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer)
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSBDF_CHANNELS | FSBDF_LENGTH |
+ FSBDF_SAMPLEFORMAT | FSBDF_SAMPLERATE |
+@@ -128,40 +128,40 @@ IFusionSoundBuffer_GetDescription( IFusionSoundBuffer *thiz,
+ desc->samplerate = data->rate;
+ desc->channelmode = data->mode;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_SetPosition( IFusionSoundBuffer *thiz,
+ int position )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer)
+
+ if (position < 0 || position >= data->size)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ data->pos = position;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Lock( IFusionSoundBuffer *thiz,
+ void **ret_data,
+ int *ret_frames,
+ int *ret_bytes )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ void *lock_data;
+ int lock_bytes;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer)
+
+ if (!ret_data)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (data->locked)
+- return DFB_LOCKED;
++ return DR_LOCKED;
+
+ ret = fs_buffer_lock( data->buffer, data->pos, 0, &lock_data, &lock_bytes );
+ if (ret)
+@@ -177,35 +177,35 @@ IFusionSoundBuffer_Lock( IFusionSoundBuffer *thiz,
+ if (ret_bytes)
+ *ret_bytes = lock_bytes;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Unlock( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer)
+
+ if (!data->locked)
+- return DFB_OK;
++ return DR_OK;
+
+ fs_buffer_unlock( data->buffer );
+
+ data->locked = false;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Play( IFusionSoundBuffer *thiz,
+ FSBufferPlayFlags flags )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CorePlayback *playback;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer)
+
+ if (flags & ~FSPLAY_ALL)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ /* Choose looping playback mode. */
+ if (flags & FSPLAY_LOOPING) {
+@@ -214,7 +214,7 @@ IFusionSoundBuffer_Play( IFusionSoundBuffer *thiz,
+ /* Return error if already running a looping playing. */
+ if (data->looping) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_BUSY;
++ return DR_BUSY;
+ }
+
+ /* Create a playback object. */
+@@ -285,7 +285,7 @@ IFusionSoundBuffer_Play( IFusionSoundBuffer *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_Stop( IFusionSoundBuffer *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer)
+@@ -302,21 +302,21 @@ IFusionSoundBuffer_Stop( IFusionSoundBuffer *thiz )
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundBuffer_CreatePlayback( IFusionSoundBuffer *thiz,
+ IFusionSoundPlayback **ret_interface )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CorePlayback *playback;
+ IFusionSoundPlayback *interface;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundBuffer)
+
+ if (!ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = fs_playback_create( data->core, data->buffer, true, &playback );
+ if (ret)
+@@ -338,7 +338,7 @@ IFusionSoundBuffer_CreatePlayback( IFusionSoundBuffer *thiz,
+
+ /******/
+
+-DFBResult
++DirectResult
+ IFusionSoundBuffer_Construct( IFusionSoundBuffer *thiz,
+ CoreSound *core,
+ CoreSoundBuffer *buffer,
+@@ -353,7 +353,7 @@ IFusionSoundBuffer_Construct( IFusionSoundBuffer *thiz,
+ if (fs_buffer_ref( buffer )) {
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+
+- return DFB_FUSION;
++ return DR_FUSION;
+ }
+
+ /* Initialize private data. */
+@@ -383,6 +383,6 @@ IFusionSoundBuffer_Construct( IFusionSoundBuffer *thiz,
+
+ thiz->CreatePlayback = IFusionSoundBuffer_CreatePlayback;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/src/ifusionsoundbuffer.h b/src/ifusionsoundbuffer.h
+index ee19b42..f0c4070 100644
+--- a/src/ifusionsoundbuffer.h
++++ b/src/ifusionsoundbuffer.h
+@@ -34,7 +34,7 @@
+ /*
+ * initializes interface struct and private data
+ */
+-DFBResult IFusionSoundBuffer_Construct( IFusionSoundBuffer *thiz,
++DirectResult IFusionSoundBuffer_Construct( IFusionSoundBuffer *thiz,
+ CoreSound *core,
+ CoreSoundBuffer *buffer,
+ int size,
+diff --git a/src/ifusionsoundplayback.c b/src/ifusionsoundplayback.c
+index 3729ddf..12f9adb 100644
+--- a/src/ifusionsoundplayback.c
++++ b/src/ifusionsoundplayback.c
+@@ -63,7 +63,7 @@ typedef struct {
+ static ReactionResult IFusionSoundPlayback_React( const void *msg_data,
+ void *ctx );
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_UpdateVolume( IFusionSoundPlayback_data* data );
+
+ /******/
+@@ -88,17 +88,17 @@ IFusionSoundPlayback_Destruct( IFusionSoundPlayback *thiz )
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_AddRef( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Release( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback)
+@@ -106,10 +106,10 @@ IFusionSoundPlayback_Release( IFusionSoundPlayback *thiz )
+ if (--data->ref == 0)
+ IFusionSoundPlayback_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Start( IFusionSoundPlayback *thiz,
+ int start,
+ int stop )
+@@ -120,13 +120,13 @@ IFusionSoundPlayback_Start( IFusionSoundPlayback *thiz,
+ __FUNCTION__, data->playback, start, stop );
+
+ if (data->stream)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ if (start < 0 || start >= data->length)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (stop >= data->length)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -136,10 +136,10 @@ IFusionSoundPlayback_Start( IFusionSoundPlayback *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Stop( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback)
+@@ -149,7 +149,7 @@ IFusionSoundPlayback_Stop( IFusionSoundPlayback *thiz )
+ return fs_playback_stop( data->playback, false );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Continue( IFusionSoundPlayback *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback)
+@@ -159,10 +159,10 @@ IFusionSoundPlayback_Continue( IFusionSoundPlayback *thiz )
+ return fs_playback_start( data->playback, false );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_Wait( IFusionSoundPlayback *thiz )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback)
+
+@@ -179,7 +179,7 @@ IFusionSoundPlayback_Wait( IFusionSoundPlayback *thiz )
+
+ if (status & CPS_PLAYING) {
+ if (status & CPS_LOOPING) {
+- ret = DFB_UNSUPPORTED;
++ ret = DR_UNSUPPORTED;
+ break;
+ }
+ else {
+@@ -197,12 +197,12 @@ IFusionSoundPlayback_Wait( IFusionSoundPlayback *thiz )
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_GetStatus( IFusionSoundPlayback *thiz,
+- DFBBoolean *ret_playing,
++ bool *ret_playing,
+ int *ret_position )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CorePlaybackStatus status;
+ int position;
+
+@@ -215,15 +215,15 @@ IFusionSoundPlayback_GetStatus( IFusionSoundPlayback *thiz,
+ return ret;
+
+ if (ret_playing)
+- *ret_playing = (status & CPS_PLAYING) ? DFB_TRUE : DFB_FALSE;
++ *ret_playing = !!(status & CPS_PLAYING);
+
+ if (ret_position)
+ *ret_position = position;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_SetVolume( IFusionSoundPlayback *thiz,
+ float level )
+ {
+@@ -232,17 +232,17 @@ IFusionSoundPlayback_SetVolume( IFusionSoundPlayback *thiz,
+ D_DEBUG( "%s (%p, %.3f)\n", __FUNCTION__, data->playback, level );
+
+ if (level < 0.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (level > 64.0f)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ data->volume = level;
+
+ return IFusionSoundPlayback_UpdateVolume( data );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_SetPan( IFusionSoundPlayback *thiz,
+ float value )
+ {
+@@ -251,14 +251,14 @@ IFusionSoundPlayback_SetPan( IFusionSoundPlayback *thiz,
+ D_DEBUG( "%s (%p, %.3f)\n", __FUNCTION__, data->playback, value );
+
+ if (value < -1.0f || value > 1.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ data->pan = value;
+
+ return IFusionSoundPlayback_UpdateVolume( data );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_SetPitch( IFusionSoundPlayback *thiz,
+ float value )
+ {
+@@ -267,19 +267,19 @@ IFusionSoundPlayback_SetPitch( IFusionSoundPlayback *thiz,
+ D_DEBUG( "%s (%p, %.3f)\n", __FUNCTION__, data->playback, value );
+
+ if (value < 0.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (value > 64.0f)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+ data->pitch = (value * FS_PITCH_ONE + 0.5f);
+
+ fs_playback_set_pitch( data->playback, data->pitch*data->dir );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_SetDirection( IFusionSoundPlayback *thiz,
+ FSPlaybackDirection direction )
+ {
+@@ -293,30 +293,30 @@ IFusionSoundPlayback_SetDirection( IFusionSoundPlayback *thiz,
+ data->dir = direction;
+ break;
+ default:
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ fs_playback_set_pitch( data->playback, data->pitch*data->dir );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_SetDownmixLevels( IFusionSoundPlayback *thiz,
+ float center,
+ float rear )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback)
+
+ D_DEBUG( "%s (%p, %.3f, %.3f)\n", __FUNCTION__, data->playback, center, rear );
+
+ if (center < 0.0f || center > 1.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (rear < 0.0f || rear > 1.0f)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = fs_playback_set_downmix( data->playback, center, rear );
+ if (ret)
+@@ -327,7 +327,7 @@ IFusionSoundPlayback_SetDownmixLevels( IFusionSoundPlayback *thiz,
+
+ /******/
+
+-DFBResult
++DirectResult
+ IFusionSoundPlayback_Construct( IFusionSoundPlayback *thiz,
+ CorePlayback *playback,
+ int length )
+@@ -338,7 +338,7 @@ IFusionSoundPlayback_Construct( IFusionSoundPlayback *thiz,
+ if (fs_playback_ref( playback )) {
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+
+- return DFB_FUSION;
++ return DR_FUSION;
+ }
+
+ /* Attach our listener to the playback. */
+@@ -349,7 +349,7 @@ IFusionSoundPlayback_Construct( IFusionSoundPlayback *thiz,
+
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+
+- return DFB_FUSION;
++ return DR_FUSION;
+ }
+
+ /* Initialize private data. */
+@@ -382,7 +382,7 @@ IFusionSoundPlayback_Construct( IFusionSoundPlayback *thiz,
+ thiz->SetDirection = IFusionSoundPlayback_SetDirection;
+ thiz->SetDownmixLevels = IFusionSoundPlayback_SetDownmixLevels;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /******/
+@@ -410,7 +410,7 @@ IFusionSoundPlayback_React( const void *msg_data,
+ return RS_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundPlayback_UpdateVolume( IFusionSoundPlayback_data* data )
+ {
+ /* L R C Rl Rr LFE */
+diff --git a/src/ifusionsoundplayback.h b/src/ifusionsoundplayback.h
+index db97441..90292d1 100644
+--- a/src/ifusionsoundplayback.h
++++ b/src/ifusionsoundplayback.h
+@@ -34,7 +34,7 @@
+ /*
+ * initializes interface struct and private data
+ */
+-DFBResult IFusionSoundPlayback_Construct( IFusionSoundPlayback *thiz,
++DirectResult IFusionSoundPlayback_Construct( IFusionSoundPlayback *thiz,
+ CorePlayback *playback,
+ int length );
+
+diff --git a/src/ifusionsoundstream.c b/src/ifusionsoundstream.c
+index 2ba94a9..6f9d987 100644
+--- a/src/ifusionsoundstream.c
++++ b/src/ifusionsoundstream.c
+@@ -46,7 +46,7 @@
+
+ /******/
+
+-static DFBResult IFusionSoundStream_FillBuffer( IFusionSoundStream_data *data,
++static DirectResult IFusionSoundStream_FillBuffer( IFusionSoundStream_data *data,
+ const void *sample_data,
+ int length,
+ int *ret_bytes );
+@@ -81,17 +81,17 @@ IFusionSoundStream_Destruct( IFusionSoundStream *thiz )
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_AddRef( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+
+ data->ref++;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Release( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+@@ -99,18 +99,18 @@ IFusionSoundStream_Release( IFusionSoundStream *thiz )
+ if (--data->ref == 0)
+ IFusionSoundStream_Destruct( thiz );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_GetDescription( IFusionSoundStream *thiz,
+ FSStreamDescription *desc )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSSDF_BUFFERSIZE | FSSDF_CHANNELS |
+ FSSDF_SAMPLEFORMAT | FSSDF_SAMPLERATE |
+@@ -122,10 +122,10 @@ IFusionSoundStream_GetDescription( IFusionSoundStream *thiz,
+ desc->prebuffer = data->prebuffer;
+ desc->channelmode = data->mode;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Write( IFusionSoundStream *thiz,
+ const void *sample_data,
+ int length )
+@@ -133,14 +133,14 @@ IFusionSoundStream_Write( IFusionSoundStream *thiz,
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+
+ if (!sample_data || length < 1)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+
+ data->pending = length;
+
+ while (data->pending) {
+- DFBResult ret;
++ DirectResult ret;
+ int num;
+ int bytes;
+
+@@ -159,7 +159,7 @@ IFusionSoundStream_Write( IFusionSoundStream *thiz,
+ /* Drop could have been called while waiting */
+ if (!data->pending) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_OK;
++ return DR_OK;
+ }
+ }
+
+@@ -193,17 +193,17 @@ IFusionSoundStream_Write( IFusionSoundStream *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Wait( IFusionSoundStream *thiz,
+ int length )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+
+ if (length < 0 || length > data->size)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -227,16 +227,16 @@ IFusionSoundStream_Wait( IFusionSoundStream *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_GetStatus( IFusionSoundStream *thiz,
+ int *filled,
+ int *total,
+ int *read_position,
+ int *write_position,
+- DFBBoolean *playing )
++ bool *playing )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+
+@@ -259,10 +259,10 @@ IFusionSoundStream_GetStatus( IFusionSoundStream *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Flush( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+@@ -284,10 +284,10 @@ IFusionSoundStream_Flush( IFusionSoundStream *thiz )
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Drop( IFusionSoundStream *thiz )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+@@ -302,17 +302,17 @@ IFusionSoundStream_Drop( IFusionSoundStream *thiz )
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_GetPresentationDelay( IFusionSoundStream *thiz,
+ int *delay )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+
+ if (!delay)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -321,21 +321,21 @@ IFusionSoundStream_GetPresentationDelay( IFusionSoundStream *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_GetPlayback( IFusionSoundStream *thiz,
+ IFusionSoundPlayback **ret_interface )
+ {
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+
+ if (!ret_interface)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ if (!data->iplayback) {
+ IFusionSoundPlayback *interface;
+- DFBResult ret;
++ DirectResult ret;
+
+ DIRECT_ALLOCATE_INTERFACE( interface, IFusionSoundPlayback );
+
+@@ -352,22 +352,22 @@ IFusionSoundStream_GetPlayback( IFusionSoundStream *thiz,
+
+ *ret_interface = data->iplayback;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Access( IFusionSoundStream *thiz,
+ void **ret_data,
+ int *ret_avail )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ int num;
+ int bytes;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+
+ if (!ret_data || !ret_avail)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+
+@@ -398,22 +398,22 @@ IFusionSoundStream_Access( IFusionSoundStream *thiz,
+ return ret;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_Commit( IFusionSoundStream *thiz,
+ int length )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundStream)
+
+ if (length < 0)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ pthread_mutex_lock( &data->lock );
+
+ if (length > data->size - data->filled) {
+ pthread_mutex_unlock( &data->lock );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ D_DEBUG( "%s: length %d, filled %d/%d (%splaying)\n",
+@@ -453,13 +453,13 @@ IFusionSoundStream_Commit( IFusionSoundStream *thiz,
+
+ pthread_mutex_unlock( &data->lock );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+
+ /******/
+
+-DFBResult
++DirectResult
+ IFusionSoundStream_Construct( IFusionSoundStream *thiz,
+ CoreSound *core,
+ CoreSoundBuffer *buffer,
+@@ -469,14 +469,14 @@ IFusionSoundStream_Construct( IFusionSoundStream *thiz,
+ int rate,
+ int prebuffer )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ CorePlayback *playback;
+
+ DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IFusionSoundStream)
+
+ /* Increase reference counter of the buffer. */
+ if (fs_buffer_ref( buffer )) {
+- ret = DFB_FUSION;
++ ret = DR_FUSION;
+ goto error_ref;
+ }
+
+@@ -487,7 +487,7 @@ IFusionSoundStream_Construct( IFusionSoundStream *thiz,
+
+ /* Attach our listener to the playback object. */
+ if (fs_playback_attach( playback, IFusionSoundStream_React, data, &data->reaction )) {
+- ret = DFB_FUSION;
++ ret = DR_FUSION;
+ goto error_attach;
+ }
+
+@@ -528,7 +528,7 @@ IFusionSoundStream_Construct( IFusionSoundStream *thiz,
+ thiz->Access = IFusionSoundStream_Access;
+ thiz->Commit = IFusionSoundStream_Commit;
+
+- return DFB_OK;
++ return DR_OK;
+
+ error_attach:
+ fs_playback_unref( playback );
+@@ -544,13 +544,13 @@ error_ref:
+
+ /******/
+
+-static DFBResult
++static DirectResult
+ IFusionSoundStream_FillBuffer( IFusionSoundStream_data *data,
+ const void *sample_data,
+ int length,
+ int *ret_bytes )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ void *lock_data;
+ int lock_bytes;
+ int offset = 0;
+@@ -597,7 +597,7 @@ IFusionSoundStream_FillBuffer( IFusionSoundStream_data *data,
+ if (ret_bytes)
+ *ret_bytes = offset;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static ReactionResult
+diff --git a/src/ifusionsoundstream.h b/src/ifusionsoundstream.h
+index eb3c193..fd43aff 100644
+--- a/src/ifusionsoundstream.h
++++ b/src/ifusionsoundstream.h
+@@ -62,7 +62,7 @@ typedef struct {
+ /*
+ * initializes interface struct and private data
+ */
+-DFBResult IFusionSoundStream_Construct( IFusionSoundStream *thiz,
++DirectResult IFusionSoundStream_Construct( IFusionSoundStream *thiz,
+ CoreSound *core,
+ CoreSoundBuffer *buffer,
+ int size,
+diff --git a/src/media/ifusionsoundmusicprovider.c b/src/media/ifusionsoundmusicprovider.c
+index af87e05..9ea5c26 100644
+--- a/src/media/ifusionsoundmusicprovider.c
++++ b/src/media/ifusionsoundmusicprovider.c
+@@ -38,40 +38,40 @@
+ #include <media/ifusionsoundmusicprovider.h>
+
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_AddRef( IFusionSoundMusicProvider *thiz )
+ {
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Release( IFusionSoundMusicProvider *thiz )
+ {
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_GetCapabilities( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderCapabilities *caps )
+ {
+ if (!caps)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *caps = FMCAPS_BASIC;
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_EnumTracks( IFusionSoundMusicProvider *thiz,
+ FSTrackCallback callback,
+ void *callbackdata )
+ {
+ FSTrackDescription desc;
+- DFBResult ret;
++ DirectResult ret;
+
+ if (!callback)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ ret = thiz->GetTrackDescription( thiz, &desc );
+ if (ret)
+@@ -79,145 +79,145 @@ IFusionSoundMusicProvider_EnumTracks( IFusionSoundMusicProvider *thiz,
+
+ callback( 0, desc, callbackdata );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_GetTrackID( IFusionSoundMusicProvider *thiz,
+ FSTrackID *ret_track_id )
+ {
+ if (!ret_track_id)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *ret_track_id = 0;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_GetTrackDescription( IFusionSoundMusicProvider *thiz,
+ FSTrackDescription *desc )
+ {
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ memset( desc, 0, sizeof(FSTrackDescription) );
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_GetStreamDescription( IFusionSoundMusicProvider *thiz,
+ FSStreamDescription *desc )
+ {
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSSDF_NONE;
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_GetBufferDescription( IFusionSoundMusicProvider *thiz,
+ FSBufferDescription *desc )
+ {
+ if (!desc)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ desc->flags = FSBDF_NONE;
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_SelectTrack( IFusionSoundMusicProvider *thiz,
+ FSTrackID track_id )
+ {
+ if (track_id != 0)
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_PlayToStream( IFusionSoundMusicProvider *thiz,
+ IFusionSoundStream *destination )
+ {
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_PlayToBuffer( IFusionSoundMusicProvider *thiz,
+ IFusionSoundBuffer *destination,
+ FMBufferCallback callback,
+ void *ctx )
+ {
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_Stop( IFusionSoundMusicProvider *thiz )
+ {
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_GetStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus *status )
+ {
+ if (!status)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *status = FMSTATE_UNKNOWN;
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_SeekTo( IFusionSoundMusicProvider *thiz,
+ double seconds )
+ {
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_GetPos( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *seconds = 0.0;
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_GetLength( IFusionSoundMusicProvider *thiz,
+ double *seconds )
+ {
+ if (!seconds)
+- return DFB_INVARG;
++ return DR_INVARG;
+
+ *seconds = 0.0;
+
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_SetPlaybackFlags( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderPlaybackFlags flags )
+ {
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+-static DFBResult
++static DirectResult
+ IFusionSoundMusicProvider_WaitStatus( IFusionSoundMusicProvider *thiz,
+ FSMusicProviderStatus mask,
+ unsigned int timeout )
+ {
+- return DFB_UNIMPLEMENTED;
++ return DR_UNIMPLEMENTED;
+ }
+
+ static void
+@@ -244,11 +244,11 @@ IFusionSoundMusicProvider_Construct( IFusionSoundMusicProvider *thiz )
+ }
+
+
+-DFBResult
++DirectResult
+ IFusionSoundMusicProvider_Create( const char *filename,
+ IFusionSoundMusicProvider **interface )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ DirectInterfaceFuncs *funcs = NULL;
+ IFusionSoundMusicProvider *musicprovider;
+ IFusionSoundMusicProvider_ProbeContext ctx;
+diff --git a/src/media/ifusionsoundmusicprovider.h b/src/media/ifusionsoundmusicprovider.h
+index a18d08f..94408a7 100644
+--- a/src/media/ifusionsoundmusicprovider.h
++++ b/src/media/ifusionsoundmusicprovider.h
+@@ -43,7 +43,7 @@ typedef struct {
+ } IFusionSoundMusicProvider_ProbeContext;
+
+
+-DFBResult IFusionSoundMusicProvider_Create( const char *filename,
++DirectResult IFusionSoundMusicProvider_Create( const char *filename,
+ IFusionSoundMusicProvider **interface );
+
+ #endif
+diff --git a/src/misc/sound_conf.c b/src/misc/sound_conf.c
+index b998730..6af2762 100644
+--- a/src/misc/sound_conf.c
++++ b/src/misc/sound_conf.c
+@@ -139,7 +139,7 @@ parse_modestring( const char *mode )
+ }
+
+
+-static DFBResult
++static DirectResult
+ parse_args( const char *args )
+ {
+ char *buf = alloca( strlen(args) + 1 );
+@@ -147,7 +147,7 @@ parse_args( const char *args )
+ strcpy( buf, args );
+
+ while (buf && buf[0]) {
+- DFBResult ret;
++ DirectResult ret;
+ char *value;
+ char *next;
+
+@@ -164,9 +164,9 @@ parse_args( const char *args )
+
+ ret = fs_config_set( buf, value );
+ switch (ret) {
+- case DFB_OK:
++ case DR_OK:
+ break;
+- case DFB_UNSUPPORTED:
++ case DR_UNSUPPORTED:
+ D_ERROR( "FusionSound/Config: Unknown option '%s'!\n", buf );
+ break;
+ default:
+@@ -176,7 +176,7 @@ parse_args( const char *args )
+ buf = next;
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+@@ -203,7 +203,7 @@ fs_config_usage( void )
+ return config_usage;
+ }
+
+-DFBResult
++DirectResult
+ fs_config_set( const char *name, const char *value )
+ {
+ if (!strcmp( name, "driver" )) {
+@@ -214,7 +214,7 @@ fs_config_set( const char *name, const char *value )
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No value specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp( name, "device" )) {
+@@ -225,7 +225,7 @@ fs_config_set( const char *name, const char *value )
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No value specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp( name, "channels" )) {
+@@ -234,18 +234,18 @@ fs_config_set( const char *name, const char *value )
+
+ if (sscanf( value, "%d", &channels ) < 1) {
+ D_ERROR( "FusionSound/Config '%s': Could not parse value!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ else if (channels < 1 || channels > FS_MAX_CHANNELS) {
+ D_ERROR( "FusionSound/Config '%s': Unsupported value '%d'!\n", name, channels );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ fs_config->channelmode = fs_mode_for_channels( channels );
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No value specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp( name, "channelmode" )) {
+@@ -255,14 +255,14 @@ fs_config_set( const char *name, const char *value )
+ mode = parse_modestring( value );
+ if (mode == FSCM_UNKNOWN) {
+ D_ERROR( "FusionSound/Config '%s': Could not parse value!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ fs_config->channelmode = mode;
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No value specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp( name, "sampleformat" )) {
+@@ -272,14 +272,14 @@ fs_config_set( const char *name, const char *value )
+ format = parse_sampleformat( value );
+ if (format == FSSF_UNKNOWN) {
+ D_ERROR( "FusionSound/Config '%s': Could not parse value!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ fs_config->sampleformat = format;
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No format specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp( name, "samplerate" )) {
+@@ -289,18 +289,18 @@ fs_config_set( const char *name, const char *value )
+ if (sscanf( value, "%d", &rate ) < 1) {
+ D_ERROR( "FusionSound/Config 'samplerate': "
+ "Could not parse value!\n" );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ else if (rate < 1) {
+ D_ERROR( "FusionSound/Config '%s': Unsupported value '%d'!\n", name, rate );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ fs_config->samplerate = rate;
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No value specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp( name, "buffertime" )) {
+@@ -310,18 +310,18 @@ fs_config_set( const char *name, const char *value )
+ if (sscanf( value, "%d", &time ) < 1) {
+ D_ERROR( "FusionSound/Config 'buffertime': "
+ "Could not parse value!\n" );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ else if (time < 1 || time > 5000) {
+ D_ERROR( "FusionSound/Config '%s': Unsupported value '%d'!\n", name, time );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ fs_config->buffertime = time;
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No value specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp( name, "session" )) {
+@@ -330,14 +330,14 @@ fs_config_set( const char *name, const char *value )
+
+ if (sscanf( value, "%d", &session ) < 1) {
+ D_ERROR( "FusionSound/Config '%s': Could not parse value!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ fs_config->session = session;
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No value specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp (name, "remote" )) {
+@@ -348,7 +348,7 @@ fs_config_set( const char *name, const char *value )
+ if (sscanf( value, "%127s:%d", host, &session ) < 1) {
+ D_ERROR( "FusionSound/Config '%s': "
+ "Could not parse value (format is <host>[:<session>])!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+
+ if (fs_config->remote.host)
+@@ -359,7 +359,7 @@ fs_config_set( const char *name, const char *value )
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No value specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp( name, "remote-compression" )) {
+@@ -372,12 +372,12 @@ fs_config_set( const char *name, const char *value )
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': Unsupported value '%s'!\n", name, value );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else {
+ D_ERROR( "FusionSound/Config '%s': No value specified!\n", name );
+- return DFB_INVARG;
++ return DR_INVARG;
+ }
+ }
+ else if (!strcmp( name, "banner" )) {
+@@ -411,15 +411,15 @@ fs_config_set( const char *name, const char *value )
+ fs_config->dma = false;
+ }
+ else if (fusion_config_set( name, value ) && direct_config_set( name, value ))
+- return DFB_UNSUPPORTED;
++ return DR_UNSUPPORTED;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+-static DFBResult
++static DirectResult
+ fs_config_read( const char *filename )
+ {
+- DFBResult ret = DFB_OK;
++ DirectResult ret = DR_OK;
+ char line[400];
+ FILE *f;
+
+@@ -427,7 +427,7 @@ fs_config_read( const char *filename )
+ if (!f) {
+ D_DEBUG( "FusionSound/Config: "
+ "Unable to open config file `%s'!\n", filename );
+- return DFB_IO;
++ return DR_IO;
+ } else {
+ D_INFO( "FusionSound/Config: "
+ "Parsing config file '%s'.\n", filename );
+@@ -449,7 +449,7 @@ fs_config_read( const char *filename )
+
+ ret = fs_config_set( name, value );
+ if (ret) {
+- if (ret == DFB_UNSUPPORTED)
++ if (ret == DR_UNSUPPORTED)
+ D_ERROR( "FusionSound/Config: In config file `%s': "
+ "Invalid option `%s'!\n", filename, name );
+ break;
+@@ -461,22 +461,22 @@ fs_config_read( const char *filename )
+ return ret;
+ }
+
+-DFBResult
++DirectResult
+ fs_config_init( int *argc, char **argv[] )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ char *home = getenv( "HOME" );
+ char *prog = NULL;
+ char *fsargs;
+
+ if (fs_config)
+- return DFB_OK;
++ return DR_OK;
+
+ config_allocate();
+
+ /* Read system settings. */
+ ret = fs_config_read( SYSCONFDIR"/fusionsoundrc" );
+- if (ret && ret != DFB_IO)
++ if (ret && ret != DR_IO)
+ return ret;
+
+ /* Read user settings. */
+@@ -487,7 +487,7 @@ fs_config_init( int *argc, char **argv[] )
+ snprintf( buf, len, "%s/.fusionsoundrc", home );
+
+ ret = fs_config_read( buf );
+- if (ret && ret != DFB_IO)
++ if (ret && ret != DR_IO)
+ return ret;
+ }
+
+@@ -509,7 +509,7 @@ fs_config_init( int *argc, char **argv[] )
+ snprintf( buf, len, SYSCONFDIR"/fusionsoundrc.%s", prog );
+
+ ret = fs_config_read( buf );
+- if (ret && ret != DFB_IO)
++ if (ret && ret != DR_IO)
+ return ret;
+ }
+
+@@ -521,7 +521,7 @@ fs_config_init( int *argc, char **argv[] )
+ snprintf( buf, len, "%s/.fusionsoundrc.%s", home, prog );
+
+ ret = fs_config_read( buf );
+- if (ret && ret != DFB_IO)
++ if (ret && ret != DR_IO)
+ return ret;
+ }
+
+@@ -573,5 +573,5 @@ fs_config_init( int *argc, char **argv[] )
+ }
+ }
+
+- return DFB_OK;
++ return DR_OK;
+ }
+diff --git a/src/misc/sound_conf.h b/src/misc/sound_conf.h
+index 232966f..e4291b0 100644
+--- a/src/misc/sound_conf.h
++++ b/src/misc/sound_conf.h
+@@ -69,12 +69,12 @@ extern FSConfig *fs_config;
+ * for overrides. Options identified as FusionSound options are stripped out
+ * of the array.
+ */
+-DFBResult fs_config_init( int *argc, char **argv[] );
++DirectResult fs_config_init( int *argc, char **argv[] );
+
+ /*
+ * Set indiviual option. Used by config_init(), and FusionSoundSetOption()
+ */
+-DFBResult fs_config_set( const char *name, const char *value );
++DirectResult fs_config_set( const char *name, const char *value );
+
+ const char *fs_config_usage( void );
+
+diff --git a/tools/fsdump.c b/tools/fsdump.c
+index 3c15afd..53e6a3d 100644
+--- a/tools/fsdump.c
++++ b/tools/fsdump.c
+@@ -57,10 +57,10 @@
+ static IFusionSound *fsound = NULL;
+
+
+-static DFBResult
++static DirectResult
+ init_fusionsound( int *argc, char **argv[] )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ /* Initialize FusionSound. */
+ ret = FusionSoundInit( argc, argv );
+@@ -72,7 +72,7 @@ init_fusionsound( int *argc, char **argv[] )
+ if (ret)
+ return FusionSoundError( "FusionSoundCreate", ret );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ static void
+@@ -156,7 +156,7 @@ dump_buffers( CoreSound *core )
+ int
+ main( int argc, char *argv[] )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ long long millis;
+ long int seconds, minutes, hours, days;
+ IFusionSound_data *data;
+diff --git a/tools/fsmaster.c b/tools/fsmaster.c
+index f552f02..82875ab 100644
+--- a/tools/fsmaster.c
++++ b/tools/fsmaster.c
+@@ -42,7 +42,7 @@
+ int
+ main( int argc, char *argv[] )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ IFusionSound *sound;
+
+ ret = FusionSoundInit( &argc, &argv );
+diff --git a/tools/fsplay.c b/tools/fsplay.c
+index 8f83281..3a5692e 100644
+--- a/tools/fsplay.c
++++ b/tools/fsplay.c
+@@ -187,7 +187,7 @@ parse_options( int argc, char **argv )
+ usage( argv[0] );
+ }
+
+-static DFBEnumerationResult
++static DirectEnumerationResult
+ track_add_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ {
+ Media *media = ctx;
+@@ -202,18 +202,18 @@ track_add_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ track = D_MALLOC( sizeof(MediaTrack) );
+ if (!track) {
+ D_OOM();
+- return DFENUM_CANCEL;
++ return DENUM_CANCEL;
+ }
+ track->id = id;
+ direct_list_append( (DirectLink**)&media->tracks, &track->link );
+
+- return DFENUM_OK;
++ return DENUM_OK;
+ }
+
+ static int
+ playback_run( IFusionSoundMusicProvider *provider, Media *media )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ FSMusicProviderStatus status = FMSTATE_UNKNOWN;
+ FSStreamDescription s_dsc;
+ FSTrackDescription t_dsc;
+@@ -468,8 +468,8 @@ playback_run( IFusionSoundMusicProvider *provider, Media *media )
+ int
+ main( int argc, char **argv )
+ {
+- DFBResult ret;
+- Media *media;
++ DirectResult ret;
++ Media *media;
+
+ ret = FusionSoundInit( &argc, &argv );
+ if (ret)
+diff --git a/tools/fsproxy.c b/tools/fsproxy.c
+index b01bd80..c3418fc 100644
+--- a/tools/fsproxy.c
++++ b/tools/fsproxy.c
+@@ -49,17 +49,17 @@
+
+ /*****************************************************************************/
+
+-static DFBBoolean parse_command_line( int argc, char *argv[] );
+-static DFBResult server_run();
++static bool parse_command_line( int argc, char *argv[] );
++static DirectResult server_run();
+
+-static DFBBoolean keep_alive = DFB_FALSE;
++static bool keep_alive;
+
+ /*****************************************************************************/
+
+ int
+ main( int argc, char *argv[] )
+ {
+- DFBResult ret;
++ DirectResult ret;
+
+ /* Initialize FusionSound including command line parsing. */
+ ret = FusionSoundInit( &argc, &argv );
+@@ -109,7 +109,7 @@ ConstructDispatcher( VoodooServer *server,
+
+ *ret_instance = instance;
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+ /*****************************************************************************/
+@@ -130,7 +130,7 @@ usage( const char *progname )
+ FUSIONSOUND_VERSION, progname );
+ }
+
+-static DFBBoolean
++static bool
+ parse_command_line( int argc, char *argv[] )
+ {
+ int i;
+@@ -138,28 +138,28 @@ parse_command_line( int argc, char *argv[] )
+ for (i = 1; i < argc; i++) {
+ if (!strcmp( argv[i], "-h" ) || !strcmp( argv[i], "--help" )) {
+ usage( argv[0] );
+- return DFB_FALSE;
++ return DR_FALSE;
+ }
+ else if (!strcmp( argv[i], "-v" ) || !strcmp( argv[i], "--version" )) {
+ puts( FUSIONSOUND_VERSION );
+ exit( 0 );
+ }
+ else if (!strcmp( argv[i], "-k" ) || !strcmp( argv[i], "--keep-alive" )) {
+- keep_alive = DFB_TRUE;
++ keep_alive = DR_TRUE;
+ }
+ else {
+ fprintf( stderr, "Unsupported option '%s'!\n", argv[i] );
+- return DFB_FALSE;
++ return DR_FALSE;
+ }
+ }
+
+- return DFB_TRUE;
++ return DR_TRUE;
+ }
+
+-static DFBResult
++static DirectResult
+ server_run()
+ {
+- DFBResult ret;
++ DirectResult ret;
+ VoodooServer *server;
+
+ ret = voodoo_server_create( &server );
+@@ -185,6 +185,6 @@ server_run()
+
+ voodoo_server_destroy( server );
+
+- return DFB_OK;
++ return DR_OK;
+ }
+
+diff --git a/tools/fsvolume.c b/tools/fsvolume.c
+index 239de9a..bb8a54b 100644
+--- a/tools/fsvolume.c
++++ b/tools/fsvolume.c
+@@ -60,7 +60,7 @@ usage( const char *progname )
+ int
+ main( int argc, char **argv )
+ {
+- DFBResult ret;
++ DirectResult ret;
+ IFusionSound *sound;
+ float volume = 0.0f;
+
+From: Claudio Ciccani <klan@directfb.org>
+Date: Fri, 29 Feb 2008 15:09:07 +0000 (+0100)
+Subject: Fixed types conversion.
+X-Git-Url: http://git.directfb.org/?p=core%2FFusionSound.git;a=commitdiff_plain;h=e70270e44777ca1b3f0edafbdc5b92d19a1067c4
+
+Fixed types conversion.
+---
+
+diff --git a/examples/loader.c b/examples/loader.c
+index eb4b0ff..1509658 100644
+--- a/examples/loader.c
++++ b/examples/loader.c
+@@ -104,7 +104,7 @@ load_sample (IFusionSound *sound, const char *filename)
+ return NULL;
+ }
+
+- while (DR_TRUE) {
++ while (1) {
+ char magic[4];
+
+ len = read_chunk_header (fd, magic);
+@@ -168,7 +168,7 @@ load_sample (IFusionSound *sound, const char *filename)
+ desc.sampleformat = (fmt.bitspersample == 8) ? FSSF_U8 : FSSF_S16;
+ desc.samplerate = fmt.frequency;
+
+- while (DR_TRUE) {
++ while (1) {
+ char magic[4];
+
+ len = read_chunk_header (fd, magic);
+diff --git a/examples/music.c b/examples/music.c
+index c30c462..fa00ebd 100644
+--- a/examples/music.c
++++ b/examples/music.c
+@@ -63,7 +63,7 @@ track_display_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ *desc.artist ? desc.artist : "Unknown",
+ *desc.title ? desc.title : "Unknown" );
+
+- return DFENUM_OK;
++ return DENUM_OK;
+ }
+
+ static DirectEnumerationResult
+@@ -80,7 +80,7 @@ track_playback_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ ret = provider->SelectTrack( provider, id );
+ if (ret) {
+ FusionSoundError( "IFusionSoundMusicProvider::SelectTrack", ret );
+- return DFENUM_OK;
++ return DENUM_OK;
+ }
+
+ provider->GetStreamDescription( provider, &s_dsc );
+@@ -105,7 +105,7 @@ track_playback_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ ret = sound->CreateStream( sound, &s_dsc, &stream );
+ if (ret) {
+ FusionSoundError( "IFusionSound::CreateStream", ret );
+- return DFENUM_CANCEL;
++ return DENUM_CANCEL;
+ }
+ stream->GetDescription( stream, &s_dsc );
+ stream->GetPlayback( stream, &playback );
+@@ -121,7 +121,7 @@ track_playback_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ ret = provider->PlayToStream( provider, stream );
+ if (ret) {
+ FusionSoundError( "IFusionSoundMusicProvider::PlayTo", ret );
+- return DFENUM_CANCEL;
++ return DENUM_CANCEL;
+ }
+
+ /* Update track's description. */
+@@ -202,7 +202,7 @@ track_playback_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+ case 'q':
+ case 'Q':
+ case '\033': // Escape
+- return DFENUM_CANCEL;
++ return DENUM_CANCEL;
+ default:
+ break;
+ }
+@@ -214,7 +214,7 @@ track_playback_callback( FSTrackID id, FSTrackDescription desc, void *ctx )
+
+ printf( "\n" );
+
+- return DFENUM_OK;
++ return DENUM_OK;
+ }
+
+ int
+diff --git a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_cdda.c b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_cdda.c
+index 20603a6..e5e0465 100644
+--- a/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_cdda.c
++++ b/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_cdda.c
+@@ -714,7 +714,7 @@ IFusionSoundMusicProvider_CDDA_EnumTracks( IFusionSoundMusicProvider *thiz,
+ direct_snputs( desc.encoding, "PCM 16 bit", FS_TRACK_DESC_ENCODING_LENGTH );
+ desc.bitrate = CD_FRAMES_PER_SECOND * CD_BYTES_PER_FRAME * 8;
+
+- if (callback( i, desc, callbackdata ) != DFENUM_OK)
++ if (callback( i, desc, callbackdata ))
+ break;
+ }
+
+diff --git a/proxy/requestor/ifusionsoundplayback_requestor.c b/proxy/requestor/ifusionsoundplayback_requestor.c
+index 4dca795..75f3ba1 100644
+--- a/proxy/requestor/ifusionsoundplayback_requestor.c
++++ b/proxy/requestor/ifusionsoundplayback_requestor.c
+@@ -204,7 +204,7 @@ IFusionSoundPlayback_Requestor_GetStatus( IFusionSoundPlayback *thiz,
+ {
+ DirectResult ret;
+ VoodooResponseMessage *response;
+- bool playing = DR_FALSE;
++ bool playing = false;
+ int position = 0;
+
+ DIRECT_INTERFACE_GET_DATA(IFusionSoundPlayback_Requestor)
+diff --git a/tools/fsproxy.c b/tools/fsproxy.c
+index c3418fc..ad16f74 100644
+--- a/tools/fsproxy.c
++++ b/tools/fsproxy.c
+@@ -138,22 +138,22 @@ parse_command_line( int argc, char *argv[] )
+ for (i = 1; i < argc; i++) {
+ if (!strcmp( argv[i], "-h" ) || !strcmp( argv[i], "--help" )) {
+ usage( argv[0] );
+- return DR_FALSE;
++ return false;
+ }
+ else if (!strcmp( argv[i], "-v" ) || !strcmp( argv[i], "--version" )) {
+ puts( FUSIONSOUND_VERSION );
+ exit( 0 );
+ }
+ else if (!strcmp( argv[i], "-k" ) || !strcmp( argv[i], "--keep-alive" )) {
+- keep_alive = DR_TRUE;
++ keep_alive = true;
+ }
+ else {
+ fprintf( stderr, "Unsupported option '%s'!\n", argv[i] );
+- return DR_FALSE;
++ return false;
+ }
+ }
+
+- return DR_TRUE;
++ return true;
+ }
+
+ static DirectResult