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; device &= RETRO_DEVICE_MASK;
if (bsv_movie_ctl(BSV_MOVIE_CTL_PLAYBACK_ON, NULL)) if (bsv_movie_is_playback_on())
{ {
int16_t bsv_result; int16_t bsv_result;
if (bsv_movie_get_input(&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); bsv_movie_ctl(BSV_MOVIE_CTL_SET_INPUT, &res);
return res; return res;

14
movie.c
View File

@ -371,16 +371,22 @@ bool bsv_movie_get_input(int16_t *bsv_data)
return true; 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) bool bsv_movie_ctl(enum bsv_ctl_state state, void *data)
{ {
switch (state) switch (state)
{ {
case BSV_MOVIE_CTL_IS_INITED: case BSV_MOVIE_CTL_IS_INITED:
return bsv_movie_state_handle; 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: case BSV_MOVIE_CTL_START_RECORDING:
return bsv_movie_state.movie_start_recording; return bsv_movie_state.movie_start_recording;
case BSV_MOVIE_CTL_SET_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_NONE = 0,
BSV_MOVIE_CTL_IS_INITED, BSV_MOVIE_CTL_IS_INITED,
BSV_MOVIE_CTL_PLAYBACK_ON,
BSV_MOVIE_CTL_PLAYBACK_OFF,
BSV_MOVIE_CTL_SET_INPUT, BSV_MOVIE_CTL_SET_INPUT,
BSV_MOVIE_CTL_SET_START_RECORDING, BSV_MOVIE_CTL_SET_START_RECORDING,
BSV_MOVIE_CTL_UNSET_START_RECORDING, BSV_MOVIE_CTL_UNSET_START_RECORDING,
@ -63,6 +61,10 @@ enum bsv_ctl_state
BSV_MOVIE_CTL_UNSET_END 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_path(const char *path);
void bsv_movie_set_start_path(const char *path); void bsv_movie_set_start_path(const char *path);