mirror of
https://github.com/libretro/RetroArch
synced 2025-02-22 12:40:09 +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
|
#define SYM_FFMPEG(x) p##x = libretro_ffmpeg_##x
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define SYM_IMAGEVIEWER(x) p##x = libretro_imageviewer_##x
|
||||||
|
|
||||||
void (*pretro_init)(void);
|
void (*pretro_init)(void);
|
||||||
void (*pretro_deinit)(void);
|
void (*pretro_deinit)(void);
|
||||||
|
|
||||||
@ -441,6 +443,41 @@ static void load_symbols(enum rarch_core_type type)
|
|||||||
SYM_FFMPEG(retro_get_memory_size);
|
SYM_FFMPEG(retro_get_memory_size);
|
||||||
break;
|
break;
|
||||||
#endif
|
#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
|
enum rarch_core_type
|
||||||
{
|
{
|
||||||
CORE_TYPE_PLAIN = 0,
|
CORE_TYPE_PLAIN = 0,
|
||||||
CORE_TYPE_DUMMY
|
CORE_TYPE_DUMMY,
|
||||||
#ifdef HAVE_FFMPEG
|
#ifdef HAVE_FFMPEG
|
||||||
,
|
CORE_TYPE_FFMPEG,
|
||||||
CORE_TYPE_FFMPEG
|
|
||||||
#endif
|
#endif
|
||||||
|
CORE_TYPE_IMAGEVIEWER
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#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);
|
event_command(EVENT_CMD_LOAD_CONTENT_FFMPEG);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
case CORE_TYPE_IMAGEVIEWER:
|
||||||
|
/* TODO/FIXME */
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
menu_list_flush_stack(menu_list, NULL, MENU_SETTINGS);
|
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
|
#ifdef HAVE_FFMPEG
|
||||||
if (settings->mediaplayer.builtin_enable)
|
if (settings->mediaplayer.builtin_enable)
|
||||||
{
|
{
|
||||||
switch (rarch_mediaplayer_is_media_type(path))
|
switch (rarch_path_is_media_type(path))
|
||||||
{
|
{
|
||||||
case RARCH_CONTENT_MOVIE:
|
case RARCH_CONTENT_MOVIE:
|
||||||
file_type = MENU_FILE_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:
|
case RARCH_CONTENT_MUSIC:
|
||||||
file_type = MENU_FILE_MUSIC;
|
file_type = MENU_FILE_MUSIC;
|
||||||
break;
|
break;
|
||||||
|
case RARCH_CONTENT_IMAGE:
|
||||||
|
file_type = MENU_FILE_IMAGE;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -16,26 +16,12 @@
|
|||||||
#ifndef MENU_HASH_H__
|
#ifndef MENU_HASH_H__
|
||||||
#define MENU_HASH_H__
|
#define MENU_HASH_H__
|
||||||
|
|
||||||
|
#include "../retroarch.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#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
|
#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));
|
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));
|
uint32_t hash_ext = djb2_calculate(path_get_extension(path));
|
||||||
|
|
||||||
switch (hash_ext)
|
switch (hash_ext)
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_FFMPEG
|
||||||
case MENU_VALUE_FILE_OGM:
|
case MENU_VALUE_FILE_OGM:
|
||||||
case MENU_VALUE_FILE_MKV:
|
case MENU_VALUE_FILE_MKV:
|
||||||
case MENU_VALUE_FILE_AVI:
|
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_FLAC:
|
||||||
case MENU_VALUE_FILE_WAV:
|
case MENU_VALUE_FILE_WAV:
|
||||||
return RARCH_CONTENT_MUSIC;
|
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:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return RARCH_CONTENT_NONE;
|
return RARCH_CONTENT_NONE;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#define FFMPEG_RECORD_ARG "r:"
|
#define FFMPEG_RECORD_ARG "r:"
|
||||||
|
|
||||||
@ -1203,13 +1210,17 @@ int rarch_main_init(int argc, char *argv[])
|
|||||||
|
|
||||||
if (settings && settings->mediaplayer.builtin_enable)
|
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_MOVIE:
|
||||||
case RARCH_CONTENT_MUSIC:
|
case RARCH_CONTENT_MUSIC:
|
||||||
global->has_set_libretro = false;
|
global->has_set_libretro = false;
|
||||||
global->core_type = CORE_TYPE_FFMPEG;
|
global->core_type = CORE_TYPE_FFMPEG;
|
||||||
break;
|
break;
|
||||||
|
case RARCH_CONTENT_IMAGE:
|
||||||
|
global->has_set_libretro = false;
|
||||||
|
global->core_type = CORE_TYPE_IMAGEVIEWER;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
30
retroarch.h
30
retroarch.h
@ -40,11 +40,35 @@ enum action_state
|
|||||||
RARCH_ACTION_STATE_FORCE_QUIT
|
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
|
enum rarch_content_type
|
||||||
{
|
{
|
||||||
RARCH_CONTENT_NONE = 0,
|
RARCH_CONTENT_NONE = 0,
|
||||||
RARCH_CONTENT_MOVIE,
|
RARCH_CONTENT_MOVIE,
|
||||||
RARCH_CONTENT_MUSIC
|
RARCH_CONTENT_MUSIC,
|
||||||
|
RARCH_CONTENT_IMAGE
|
||||||
};
|
};
|
||||||
|
|
||||||
enum rarch_capabilities
|
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);
|
int rarch_info_get_capabilities(enum rarch_capabilities type, char *s, size_t len);
|
||||||
|
|
||||||
#ifdef HAVE_FFMPEG
|
enum rarch_content_type rarch_path_is_media_type(const char *path);
|
||||||
enum rarch_content_type rarch_mediaplayer_is_media_type(const char *path);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern char orig_savestate_dir[PATH_MAX_LENGTH];
|
extern char orig_savestate_dir[PATH_MAX_LENGTH];
|
||||||
extern char orig_savefile_dir[PATH_MAX_LENGTH];
|
extern char orig_savefile_dir[PATH_MAX_LENGTH];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user