mirror of
https://github.com/libretro/RetroArch
synced 2025-02-20 15:40:44 +00:00
Start hooking up imageviewer, pt. 1
This commit is contained in:
parent
0d568f4c65
commit
8882f762c4
37
dynamic.c
37
dynamic.c
@ -64,6 +64,8 @@ static dylib_t lib_handle;
|
||||
#define SYM_FFMPEG(x) p##x = libretro_ffmpeg_##x
|
||||
#endif
|
||||
|
||||
#define SYM_IMAGEVIEWER(x) p##x = libretro_imageviewer_##x
|
||||
|
||||
void (*pretro_init)(void);
|
||||
void (*pretro_deinit)(void);
|
||||
|
||||
@ -441,6 +443,41 @@ static void load_symbols(enum rarch_core_type type)
|
||||
SYM_FFMPEG(retro_get_memory_size);
|
||||
break;
|
||||
#endif
|
||||
case CORE_TYPE_IMAGEVIEWER:
|
||||
SYM_IMAGEVIEWER(retro_init);
|
||||
SYM_IMAGEVIEWER(retro_deinit);
|
||||
|
||||
SYM_IMAGEVIEWER(retro_api_version);
|
||||
SYM_IMAGEVIEWER(retro_get_system_info);
|
||||
SYM_IMAGEVIEWER(retro_get_system_av_info);
|
||||
|
||||
SYM_IMAGEVIEWER(retro_set_environment);
|
||||
SYM_IMAGEVIEWER(retro_set_video_refresh);
|
||||
SYM_IMAGEVIEWER(retro_set_audio_sample);
|
||||
SYM_IMAGEVIEWER(retro_set_audio_sample_batch);
|
||||
SYM_IMAGEVIEWER(retro_set_input_poll);
|
||||
SYM_IMAGEVIEWER(retro_set_input_state);
|
||||
|
||||
SYM_IMAGEVIEWER(retro_set_controller_port_device);
|
||||
|
||||
SYM_IMAGEVIEWER(retro_reset);
|
||||
SYM_IMAGEVIEWER(retro_run);
|
||||
|
||||
SYM_IMAGEVIEWER(retro_serialize_size);
|
||||
SYM_IMAGEVIEWER(retro_serialize);
|
||||
SYM_IMAGEVIEWER(retro_unserialize);
|
||||
|
||||
SYM_IMAGEVIEWER(retro_cheat_reset);
|
||||
SYM_IMAGEVIEWER(retro_cheat_set);
|
||||
|
||||
SYM_IMAGEVIEWER(retro_load_game);
|
||||
SYM_IMAGEVIEWER(retro_load_game_special);
|
||||
|
||||
SYM_IMAGEVIEWER(retro_unload_game);
|
||||
SYM_IMAGEVIEWER(retro_get_region);
|
||||
SYM_IMAGEVIEWER(retro_get_memory_data);
|
||||
SYM_IMAGEVIEWER(retro_get_memory_size);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -29,11 +29,11 @@
|
||||
enum rarch_core_type
|
||||
{
|
||||
CORE_TYPE_PLAIN = 0,
|
||||
CORE_TYPE_DUMMY
|
||||
CORE_TYPE_DUMMY,
|
||||
#ifdef HAVE_FFMPEG
|
||||
,
|
||||
CORE_TYPE_FFMPEG
|
||||
CORE_TYPE_FFMPEG,
|
||||
#endif
|
||||
CORE_TYPE_IMAGEVIEWER
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -167,6 +167,9 @@ void menu_common_load_content(bool persist, enum rarch_core_type type)
|
||||
event_command(EVENT_CMD_LOAD_CONTENT_FFMPEG);
|
||||
break;
|
||||
#endif
|
||||
case CORE_TYPE_IMAGEVIEWER:
|
||||
/* TODO/FIXME */
|
||||
break;
|
||||
}
|
||||
|
||||
menu_list_flush_stack(menu_list, NULL, MENU_SETTINGS);
|
||||
|
@ -1983,7 +1983,7 @@ static int menu_displaylist_parse_generic(menu_displaylist_info_t *info, bool *n
|
||||
#ifdef HAVE_FFMPEG
|
||||
if (settings->mediaplayer.builtin_enable)
|
||||
{
|
||||
switch (rarch_mediaplayer_is_media_type(path))
|
||||
switch (rarch_path_is_media_type(path))
|
||||
{
|
||||
case RARCH_CONTENT_MOVIE:
|
||||
file_type = MENU_FILE_MOVIE;
|
||||
@ -1991,6 +1991,8 @@ static int menu_displaylist_parse_generic(menu_displaylist_info_t *info, bool *n
|
||||
case RARCH_CONTENT_MUSIC:
|
||||
file_type = MENU_FILE_MUSIC;
|
||||
break;
|
||||
case RARCH_CONTENT_IMAGE:
|
||||
file_type = MENU_FILE_IMAGE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -16,26 +16,12 @@
|
||||
#ifndef MENU_HASH_H__
|
||||
#define MENU_HASH_H__
|
||||
|
||||
#include "../retroarch.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MENU_VALUE_FILE_WEBM 0x7ca00b50U
|
||||
#define MENU_VALUE_FILE_F4F 0x0b886be5U
|
||||
#define MENU_VALUE_FILE_F4V 0x0b886bf5U
|
||||
#define MENU_VALUE_FILE_OGM 0x0b8898c8U
|
||||
#define MENU_VALUE_FILE_MKV 0x0b8890d3U
|
||||
#define MENU_VALUE_FILE_AVI 0x0b885f25U
|
||||
#define MENU_VALUE_FILE_M4A 0x0b8889a7U
|
||||
#define MENU_VALUE_FILE_3GP 0x0b87998fU
|
||||
#define MENU_VALUE_FILE_MP4 0x0b889136U
|
||||
#define MENU_VALUE_FILE_MP3 0x0b889135U
|
||||
#define MENU_VALUE_FILE_FLAC 0x7c96d67bU
|
||||
#define MENU_VALUE_FILE_OGG 0x0b8898c2U
|
||||
#define MENU_VALUE_FILE_FLV 0x0b88732dU
|
||||
#define MENU_VALUE_FILE_WAV 0x0b88ba13U
|
||||
#define MENU_VALUE_FILE_MOV 0x0b889157U
|
||||
#define MENU_VALUE_FILE_WMV 0x0b88bb9fU
|
||||
|
||||
#define MENU_VALUE_SEARCH 0xd0d5febbU
|
||||
|
||||
|
19
retroarch.c
19
retroarch.c
@ -426,13 +426,14 @@ void rarch_set_paths(const char *path)
|
||||
sizeof(settings->system_directory));
|
||||
}
|
||||
|
||||
#ifdef HAVE_FFMPEG
|
||||
enum rarch_content_type rarch_mediaplayer_is_media_type(const char *path)
|
||||
|
||||
enum rarch_content_type rarch_path_is_media_type(const char *path)
|
||||
{
|
||||
uint32_t hash_ext = djb2_calculate(path_get_extension(path));
|
||||
|
||||
switch (hash_ext)
|
||||
{
|
||||
#ifdef HAVE_FFMPEG
|
||||
case MENU_VALUE_FILE_OGM:
|
||||
case MENU_VALUE_FILE_MKV:
|
||||
case MENU_VALUE_FILE_AVI:
|
||||
@ -451,13 +452,19 @@ enum rarch_content_type rarch_mediaplayer_is_media_type(const char *path)
|
||||
case MENU_VALUE_FILE_FLAC:
|
||||
case MENU_VALUE_FILE_WAV:
|
||||
return RARCH_CONTENT_MUSIC;
|
||||
#endif
|
||||
case MENU_VALUE_FILE_JPG:
|
||||
case MENU_VALUE_FILE_JPEG:
|
||||
case MENU_VALUE_FILE_PNG:
|
||||
case MENU_VALUE_FILE_TGA:
|
||||
case MENU_VALUE_FILE_BMP:
|
||||
return RARCH_CONTENT_IMAGE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return RARCH_CONTENT_NONE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#define FFMPEG_RECORD_ARG "r:"
|
||||
|
||||
@ -1203,13 +1210,17 @@ int rarch_main_init(int argc, char *argv[])
|
||||
|
||||
if (settings && settings->mediaplayer.builtin_enable)
|
||||
{
|
||||
switch (rarch_mediaplayer_is_media_type(global->fullpath))
|
||||
switch (rarch_path_is_media_type(global->fullpath))
|
||||
{
|
||||
case RARCH_CONTENT_MOVIE:
|
||||
case RARCH_CONTENT_MUSIC:
|
||||
global->has_set_libretro = false;
|
||||
global->core_type = CORE_TYPE_FFMPEG;
|
||||
break;
|
||||
case RARCH_CONTENT_IMAGE:
|
||||
global->has_set_libretro = false;
|
||||
global->core_type = CORE_TYPE_IMAGEVIEWER;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
30
retroarch.h
30
retroarch.h
@ -40,11 +40,35 @@ enum action_state
|
||||
RARCH_ACTION_STATE_FORCE_QUIT
|
||||
};
|
||||
|
||||
#define MENU_VALUE_FILE_WEBM 0x7ca00b50U
|
||||
#define MENU_VALUE_FILE_F4F 0x0b886be5U
|
||||
#define MENU_VALUE_FILE_F4V 0x0b886bf5U
|
||||
#define MENU_VALUE_FILE_OGM 0x0b8898c8U
|
||||
#define MENU_VALUE_FILE_MKV 0x0b8890d3U
|
||||
#define MENU_VALUE_FILE_AVI 0x0b885f25U
|
||||
#define MENU_VALUE_FILE_M4A 0x0b8889a7U
|
||||
#define MENU_VALUE_FILE_3GP 0x0b87998fU
|
||||
#define MENU_VALUE_FILE_MP4 0x0b889136U
|
||||
#define MENU_VALUE_FILE_MP3 0x0b889135U
|
||||
#define MENU_VALUE_FILE_FLAC 0x7c96d67bU
|
||||
#define MENU_VALUE_FILE_OGG 0x0b8898c2U
|
||||
#define MENU_VALUE_FILE_FLV 0x0b88732dU
|
||||
#define MENU_VALUE_FILE_WAV 0x0b88ba13U
|
||||
#define MENU_VALUE_FILE_MOV 0x0b889157U
|
||||
#define MENU_VALUE_FILE_WMV 0x0b88bb9fU
|
||||
|
||||
#define MENU_VALUE_FILE_JPG 0x0b8884a6U
|
||||
#define MENU_VALUE_FILE_JPEG 0x7c99198bU
|
||||
#define MENU_VALUE_FILE_PNG 0x0b889deaU
|
||||
#define MENU_VALUE_FILE_TGA 0x0b88ae01U
|
||||
#define MENU_VALUE_FILE_BMP 0x0b886244U
|
||||
|
||||
enum rarch_content_type
|
||||
{
|
||||
RARCH_CONTENT_NONE = 0,
|
||||
RARCH_CONTENT_MOVIE,
|
||||
RARCH_CONTENT_MUSIC
|
||||
RARCH_CONTENT_MUSIC,
|
||||
RARCH_CONTENT_IMAGE
|
||||
};
|
||||
|
||||
enum rarch_capabilities
|
||||
@ -182,9 +206,7 @@ void set_paths_redirect(const char *path);
|
||||
|
||||
int rarch_info_get_capabilities(enum rarch_capabilities type, char *s, size_t len);
|
||||
|
||||
#ifdef HAVE_FFMPEG
|
||||
enum rarch_content_type rarch_mediaplayer_is_media_type(const char *path);
|
||||
#endif
|
||||
enum rarch_content_type rarch_path_is_media_type(const char *path);
|
||||
|
||||
extern char orig_savestate_dir[PATH_MAX_LENGTH];
|
||||
extern char orig_savefile_dir[PATH_MAX_LENGTH];
|
||||
|
Loading…
x
Reference in New Issue
Block a user