336 lines
12 KiB
C
336 lines
12 KiB
C
#ifndef RM_INCLUDE_H
|
|
#define RM_INCLUDE_H
|
|
|
|
#pragma once
|
|
|
|
|
|
// common controls/modules
|
|
|
|
#include <QDebug>
|
|
|
|
#include <QVBoxLayout>
|
|
#include <QPushButton>
|
|
#include <QApplication>
|
|
#include <QLabel>
|
|
#include <QPoint>
|
|
#include <QObject>
|
|
#include <QWidget>
|
|
// 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
|