#ifndef RM_INCLUDE_H #define RM_INCLUDE_H #pragma once // common controls/modules #include #include #include #include #include #include #include #include // will move to core // 안됨??? //#pragma comment(lib,"../ffmpeg_dll_compact_342/static/libavcodec.lib") // 1. MODEL DEFINES #define RM_MODEL_TYPE_NX_DRW22 1 #define RM_MODEL_TYPE_XLDR_88 2 #define RM_MODEL_TYPE_ADT_CAPS 3 #define RM_MODEL_TYPE_KEIYO1 4 #define RM_MODEL_TYPE_TBD360 5 #define RM_MODEL_TYPE_MBJ5010 6 #define RM_MODEL_TYPE_FC_DR232W 7 #define RM_MODEL_TYPE_BV2000 8 #define RM_MODEL_TYPE_BV5000 9 #define RM_MODEL_TYPE_TB4000 14 #define RM_MODEL_TYPE_AN6000 15 #define RM_MODEL_TYPE_MH9000 16 #define RM_MODEL_TYPE_EMT_KR 17 #define RM_MODEL_TYPE_CS_E200 19 // 2. FUNCTION DEFINES #define RM_USE_SEPARATED_CH_FILE 1 #define RM_MODEL_JAPAN 1 #if !defined(_WIN64) #define HWACCEL_SETTING 1 // 사용자가 HW 가속 설정 여부 #endif #define USE_ZOOM_WH_RATIO 0 // ZOOM VIEW ASPECT 적용 (하지 않는다.) #if (RM_MODEL == RM_MODEL_TYPE_NX_DRW22) #define APPLICATION_KEY "MODEL_TYPE_NX_DRW22" #define WINDOW_TITLE "NX_DRW22 Viewer" #define SETTINGS_TAG "NX_DRW22" #define USE_GPS_VERSION 1 #define ROOT_DOCUMENT_NAME "ViewerDoc" #if (MODEL_STANDARD) #define DO_NOT_USE_FLIP 0 #define CLIP_SENSOR_DATA 0 // RTC 가 0 인 SENSOR 데이터 및 GPS 데이터 제거 #endif // MODEL_STANDARD #elif (RM_MODEL == RM_MODEL_TYPE_BV2000) #if defined(_WIN64) #if(SUB_MODEL_BV5000 == 1) #define APPLICATION_KEY "MODEL_TYPE_BV5000_64" #define SETTINGS_TAG "BV5000_64" #else // SUB_MODEL_BV5000 #define APPLICATION_KEY "MODEL_TYPE_BV2000_64" #define SETTINGS_TAG "BV2000_64" #endif // SUB_MODEL_BV5000 #define WINDOW_TITLE "BeliVue Player(64bit)" #else #if(SUB_MODEL_BV5000 == 1) #define APPLICATION_KEY "MODEL_TYPE_BV5000" #define SETTINGS_TAG "BV5000" #else // SUB_MODEL_BV5000 #define APPLICATION_KEY "MODEL_TYPE_BV2000" #define SETTINGS_TAG "BV2000" #endif // SUB_MODEL_BV5000 #define WINDOW_TITLE "BeliVue Player" #endif #define ROOT_DOCUMENT_NAME "BeliVue Doc" #define USE_GPS_VERSION 1 #if (MODEL_STANDARD) #define DO_NOT_USE_FLIP 0 #define CLIP_SENSOR_DATA 0 // RTC 가 0 인 SENSOR 데이터 및 GPS 데이터 제거 #endif // MODEL_STANDARD #elif (RM_MODEL == RM_MODEL_TYPE_MH9000) #if defined(_WIN64) #define APPLICATION_KEY "MODEL_TYPE_MH9000_64" #define WINDOW_TITLE "4LensViewer" #define SETTINGS_TAG "MH9000_64" #define ROOT_DOCUMENT_NAME "4LensViewer Doc" #else // _WIN32 #define APPLICATION_KEY "MODEL_TYPE_MH9000_32" #define WINDOW_TITLE "4LensViewer" #define SETTINGS_TAG "MH9000_32" #define ROOT_DOCUMENT_NAME "4LensViewer Doc" #endif // _WIN64 #elif (RM_MODEL == RM_MODEL_TYPE_KEIYO1 || RM_MODEL == RM_MODEL_TYPE_MBJ5010) #if (SUB_MODEL_KEIYO_KR) #if defined(_WIN64) #define APPLICATION_KEY "MODEL_TYPE_PCPLAYER_64" #define WINDOW_TITLE "PC Player" #define SETTINGS_TAG "PC_PLAYER_64" #define ROOT_DOCUMENT_NAME "PC Player Doc" #else // _WIN32 #define APPLICATION_KEY "MODEL_TYPE_PCPLAYER_32" #define WINDOW_TITLE "PC Player" #define SETTINGS_TAG "PC_PLAYER_32" #define ROOT_DOCUMENT_NAME "PC Player Doc" #endif // _WIN64 #elif (SUB_MODEL_KEIYO_360) #if defined(_WIN64) #define APPLICATION_KEY "MODEL_TYPE_PCPLAYER360_64" #define WINDOW_TITLE "PC Player360" #define SETTINGS_TAG "PC_PLAYER_360_64" #define ROOT_DOCUMENT_NAME "PC Player360 Doc" #else // _WIN32 #define APPLICATION_KEY "MODEL_TYPE_PCPLAYER360_32" #define WINDOW_TITLE "Golf Cart Eyes" #define SETTINGS_TAG "PC_PLAYER360_32" #define ROOT_DOCUMENT_NAME "Golf Cart Eyes Doc" #endif // _WIN64 #else // SUB_MODEL_KEIYO_KR #if defined(_WIN64) #define APPLICATION_KEY "MODEL_TYPE_KEIYO1_64" #define WINDOW_TITLE "DVPlayer 2B" #define SETTINGS_TAG "KEIYO1_64" #define ROOT_DOCUMENT_NAME "DVPlayer 2B Doc" #else // _WIN32 #define APPLICATION_KEY "MODEL_TYPE_KEIYO1" #define WINDOW_TITLE "DVPlayer 2A" #define SETTINGS_TAG "KEIYO1" #define ROOT_DOCUMENT_NAME "DVPlayer 2A Doc" #endif // _WIN64 #endif // SUB_MODEL_KEIYO_KR #define USE_GPS_VERSION 1 #if (MODEL_STANDARD) #define DO_NOT_USE_FLIP 0 #define CLIP_SENSOR_DATA 0 // RTC 가 0 인 SENSOR 데이터 및 GPS 데이터 제거 #endif // MODEL_STANDARD #elif (RM_MODEL == RM_MODEL_TYPE_EMT_KR) #if defined(_WIN64) #define APPLICATION_KEY "MODEL_TYPE_EMTKR64" #define WINDOW_TITLE "EMTKR 64Bit" #else // _WIN32 #define APPLICATION_KEY "MODEL_TYPE_EMTKR32" #define WINDOW_TITLE "NEXIAN Viewer" #endif // _WIN64 #define SETTINGS_TAG "NEXIAN" #define ROOT_DOCUMENT_NAME "NEXIAN" #elif (RM_MODEL == RM_MODEL_TYPE_FC_DR232W) #if defined(_WIN64) #define APPLICATION_KEY "MODEL_TYPE_FC_DR232W_64" #define WINDOW_TITLE "FC-DR232W_A" #define SETTINGS_TAG "FC-DR232W_A" #define ROOT_DOCUMENT_NAME "FC-DR232W Doc" #else #define APPLICATION_KEY "MODEL_TYPE_FC_DR232W" #define WINDOW_TITLE "FC-DR232W_B" #define SETTINGS_TAG "FC-DR232W_B" #define ROOT_DOCUMENT_NAME "FC-DR232W Doc" #endif #define USE_GPS_VERSION 1 #if (MODEL_STANDARD) #define DO_NOT_USE_FLIP 0 #define CLIP_SENSOR_DATA 0 // RTC 가 0 인 SENSOR 데이터 및 GPS 데이터 제거 #endif // MODEL_STANDARD #elif (RM_MODEL == RM_MODEL_TYPE_XLDR_88) #define APPLICATION_KEY "MODEL_TYPE_XLDR_88" #define WINDOW_TITLE "XLDR-88 Viewer" #define SETTINGS_TAG "XLDR_88" #define USE_GPS_VERSION 1 #define ROOT_DOCUMENT_NAME "ViewerDoc" #define MULTI_MODEL_NAMES (QStringList() << "XDR-66" << "XLDR-88") #elif (RM_MODEL == RM_MODEL_TYPE_AN6000) #define APPLICATION_KEY "MODEL_TYPE_AN6000" #define WINDOW_TITLE "WiFiCAM Viewer" #define SETTINGS_TAG "AN6000" #define USE_GPS_VERSION 1 #define ROOT_DOCUMENT_NAME "ViewerDoc" #elif (RM_MODEL == RM_MODEL_TYPE_TBD360) #define APPLICATION_KEY "RM_MODEL_TYPE_TBD360" #define WINDOW_TITLE "DEMO 360 Viewer" #define SETTINGS_TAG "DEMO_360" #define USE_GPS_VERSION 1 #define ROOT_DOCUMENT_NAME "ViewerDoc" #if (MODEL_STANDARD) #define DO_NOT_USE_FLIP 0 #define CLIP_SENSOR_DATA 0 // RTC 가 0 인 SENSOR 데이터 및 GPS 데이터 제거 #endif // MODEL_STANDARD #elif (RM_MODEL == RM_MODEL_TYPE_TB4000) #if (SUB_MODEL_TB5000) #define APPLICATION_KEY "MODEL_TYPE_TB5000" #define WINDOW_TITLE "TB5000 Viewer" #define SETTINGS_TAG "TB5000" #else // SUB_MODEL_TB5000 #define APPLICATION_KEY "MODEL_TYPE_TB4000" #define WINDOW_TITLE "TB4000 Viewer" #define SETTINGS_TAG "TB4000" #endif // SUB_MODEL_TB4000 #define ROOT_DOCUMENT_NAME "TELEBIT" #elif (RM_MODEL == RM_MODEL_TYPE_ADT_CAPS) #if (SUB_MODEL_CARROT_EMT) #define APPLICATION_KEY "MODEL_TYPE_CARROT" #define WINDOW_TITLE "CARROT Viewer" #define SETTINGS_TAG "CARROT" #else // SUB_MODEL_CARROT_EMT #define APPLICATION_KEY "MODEL_TYPE_ADT_CAPS" #define WINDOW_TITLE "ADT_CAPS Viewer" #define SETTINGS_TAG "ADT_CAPS" #endif // SUB_MODEL_CARROT_EMT #define USE_GPS_VERSION 1 #define ROOT_DOCUMENT_NAME "ViewerDoc" #if (MODEL_STANDARD) #define DO_NOT_USE_FLIP 0 #define CLIP_SENSOR_DATA 0 // RTC 가 0 인 SENSOR 데이터 및 GPS 데이터 제거 #endif // MODEL_STANDARD #endif // RM_MODEL == #define LIST_LIKE_790 1 // 리스트에서 재생상태 별도 표시하지 않고 + 다음파일 선택시 선택한 파일 다음 #define USE_LOADING_PROGRESS 1 #define REMOVE_ALL_FILE_CHECK 0 //#if !(FILE_FORMAT_MOV) //#define PRE_LOAD_SENSOR_DATA 1 // 센서 데이터 미리 읽어 두기 //#else //#define PRE_LOAD_SENSOR_DATA 0 // 센서 데이터 미리 읽어 두기 //#endif #define DO_NOT_USE_TRANSLATOR 1 // 다국어 사용하지 않는다 #define SET_VOLUME_0_AS_MUTE 1 // 잠깐 mute 처리하는 경우 volume(0) 을 사용함 #define MODEL_TEST_MODE 1 // 개발중인 모드 (버전 정보 REV 표시) #define FFMPEG_SPEED_MODE 1 #ifndef FORCE_SINGLE_PLAYER #define FORCE_SINGLE_PLAYER 0 // SINGLE PLAYER #endif // FORCE_SINGLE_PLAYER #define RECURSIVE_APPEND_FILE 1 // 폴더내 모든 파일 탐색 #define RECURSIVE_FOLDER_MAX_DEPTH 5 #define DETECT_SETTING_USB_EJECT 1 // USB 제거 감지 #define PLAY_CONTINUE_EVENT 1 // 무조건 사용 예정 //#define AVI_CHUNHO_SENSOR_FORMAT_1 1 // AVI 뒤에 gsen, 등으로 센서, GPS 저장하는 포멧 #define USE_WFOPEN 1 // fopen() / WFOPEN #define PLAY_SEEK_FILE_MOVE 1 // SEEK 로 파일 이동 #define USE_RM_KEYBOARD_EVENT 1 // 1초이동시 KEY PRESSED, RELEASED 사용 // 3. TEST / DEBUG DEFINES // #define VIDEO_LOADING_PERFORMANCE_TEST 0 #define RIGHT_MOUSE_PICKER 0 #define PROGRESS_BAR_MAX 364 #define START_FROM_FIRST_FRAME 0 // 초기에 깨진 프레임이 많을 경우 슬라이드나, 위치 업데이트 처리 -> 사용하지 말것!! #define TEST_DO_NOT_UPDATE_MAP 0 // 지도 그리지 않기 #if (IS_MH9000) #define REMOVE_ALL_SHORT_CUTS 1 // 전체 Shortcut 제거 (사용금지) #else // IS_MH9000 #define REMOVE_ALL_SHORT_CUTS 0 // 전체 Shortcut 제거 (사용금지) #endif // IS_MH9000 #define TEST_MAP_MOVE_THREAD 0 // 지도이동 Thread 처리 // modules #include "rm_constants.h" #include "rm_app.h" #include "rm_settings.h" #include "ui/rm_layout.h" #include "tester/rm_tester.h" #if (FE_LOG_VERSION) #include "tester/fe_log.h" #endif //#if (FORCE_SINGLE_PLAYER) //#define DUAL_PLAYER_ONLY /##/ //#else //#define DUAL_PLAYER_ONLY //#endif #ifndef MIN #define MIN(X,Y) ((X) < (Y) ? (X) : (Y)) #endif #ifndef MAX #define MAX(X,Y) ((X) > (Y) ? (X) : (Y)) #endif #define ZERO_LAYOUT(L) L->setMargin(0);L->setSpacing(0); #define LAYOUT_SPACE(L,W,H) L->addSpacerItem(new QSpacerItem(W,H,QSizePolicy::Fixed,QSizePolicy::Fixed)) #define LAYOUT_DEBUG(W) W->setObjectName("test");W->setStyleSheet("QWidget#test{border: 1px solid red;}"); #define MKU8(s) QString::fromUtf8(s) #define FM_WSTR(__A) QString::fromStdWString(__A) #define SWAP_4BYTE(num) (((num>>24)&0xff) | ((num<<8)&0xff0000) | ((num>>8)&0xff00) | ((num<<24)&0xff000000)) #define PATH_COMPONENT QDir::separator() #define LOG_FL "[" << __FILE__ << __FUNCTION__ << __LINE__ << "]" #define SIMPLE_LOG qInfo() << LOG_FL #if (RM_MODEL_JAPAN) #define IS_VALID_LOCATION(__lon,__lat) ((__lat) > 20 && (__lat) < 46 && (__lon) > 120 && (__lon) < 150) #elif (RUSSIAN_MODEL) #define IS_VALID_LOCATION(__lon,__lat) ((__lat) > 30 && (__lat) < 90 && (__lon) > -180 && (__lon) < 180) #else #define IS_VALID_LOCATION(__lon,__lat) ((__lat) > 30 && (__lat) < 39 && (__lon) > 120 && (__lon) < 150) #endif #if(LIVE_LANGUAGE_CHANGE) #include "core/rm_language.h" #endif #endif // RM_INCLUDE_H