Create bsv_movie_is_playback_{on|off}

This commit is contained in:
twinaphex 2017-04-20 10:40:11 +02:00
parent 9daa63437a
commit 69a3bf6a31
3 changed files with 16 additions and 8 deletions

View File

@ -340,7 +340,7 @@ int16_t input_state(unsigned port, unsigned device,
device &= RETRO_DEVICE_MASK;
if (bsv_movie_ctl(BSV_MOVIE_CTL_PLAYBACK_ON, NULL))
if (bsv_movie_is_playback_on())
{
int16_t bsv_result;
if (bsv_movie_get_input(&bsv_result))
@ -428,7 +428,7 @@ int16_t input_state(unsigned port, unsigned device,
}
}
if (bsv_movie_ctl(BSV_MOVIE_CTL_PLAYBACK_OFF, NULL))
if (bsv_movie_is_playback_off())
bsv_movie_ctl(BSV_MOVIE_CTL_SET_INPUT, &res);
return res;

14
movie.c
View File

@ -371,16 +371,22 @@ bool bsv_movie_get_input(int16_t *bsv_data)
return true;
}
bool bsv_movie_is_playback_on(void)
{
return bsv_movie_state_handle && bsv_movie_state.movie_playback;
}
bool bsv_movie_is_playback_off(void)
{
return bsv_movie_state_handle && !bsv_movie_state.movie_playback;
}
bool bsv_movie_ctl(enum bsv_ctl_state state, void *data)
{
switch (state)
{
case BSV_MOVIE_CTL_IS_INITED:
return bsv_movie_state_handle;
case BSV_MOVIE_CTL_PLAYBACK_ON:
return bsv_movie_state_handle && bsv_movie_state.movie_playback;
case BSV_MOVIE_CTL_PLAYBACK_OFF:
return bsv_movie_state_handle && !bsv_movie_state.movie_playback;
case BSV_MOVIE_CTL_START_RECORDING:
return bsv_movie_state.movie_start_recording;
case BSV_MOVIE_CTL_SET_START_RECORDING:

View File

@ -44,8 +44,6 @@ enum bsv_ctl_state
{
BSV_MOVIE_CTL_NONE = 0,
BSV_MOVIE_CTL_IS_INITED,
BSV_MOVIE_CTL_PLAYBACK_ON,
BSV_MOVIE_CTL_PLAYBACK_OFF,
BSV_MOVIE_CTL_SET_INPUT,
BSV_MOVIE_CTL_SET_START_RECORDING,
BSV_MOVIE_CTL_UNSET_START_RECORDING,
@ -63,6 +61,10 @@ enum bsv_ctl_state
BSV_MOVIE_CTL_UNSET_END
};
bool bsv_movie_is_playback_on(void);
bool bsv_movie_is_playback_off(void);
void bsv_movie_set_path(const char *path);
void bsv_movie_set_start_path(const char *path);