OROCHI
 
Loading...
Searching...
No Matches
GxMoviePlayerBase.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12GX_MOVIE_NAMESPACE_BEGIN()
13
14//===========================================================================
16//===========================================================================
18{
19 //-------------------------------------------------------------
21 //-------------------------------------------------------------
23public:
25 enum class INITIALIZE_ID
26 {
27 AUTO = -1,
28 };
29
31 //-------------------------------------------------------------
33 //-------------------------------------------------------------
35
38 : _pFileName(nullptr)
39 , _pCaptionFileName(nullptr)
40 , _decodeQueueIndex(0)
41 , _soundId(static_cast<s32>(INITIALIZE_ID::AUTO))
42 , _isNoSound(false)
43 , _isUseRuby(false)
44 , _isUseH264(false)
45 , _renderView(RENDER_VIEW::HUD)
46 , _renderSubView(RENDER_SUB_VIEW::POST)
47 , _renderPass(RENDER_PASS::HUD)
48 , _renderSubPriority(0.0f)
49 {}
50
52 //-------------------------------------------------------------
54 //-------------------------------------------------------------
56
57 GX_STR _pFileName;
59
62
66
71
73};
74
75//===========================================================================
77//===========================================================================
79{
80 //-------------------------------------------------------------
82 //-------------------------------------------------------------
84public:
85 // RTTI宣言
86 GX_RTTI_CLASS(GxMoviePlayerBase, GxClassBase)
87 // GxClassBase継承クラス用禁止宣言
89
90
92 {
93 ERROR_ = 0,
94
95 IDLE = 1,
96#if defined(_PS4) || defined(_PS5) || defined(_NX64)
97 INITIALIZING,
98 READY,
99 BUFFERING_ON_PLAYING,
100#endif // _PS4 || _PS5 || _NX64
101 BUFFERING,
102 PLAYING,
103 PAUSING,
104 PAUSED,
105 STOPPING,
106 STOPPED,
108 TERMINATED,
109 };
110
113 {
114 NONE = 0,
115 INITIALIZE,
116 TERMINATE,
117 UPDATE,
118 RENDER,
119 PLAY,
120 STOP,
121 PAUSE,
122 SET_VOLUME,
125 SEEK,
126 GET_STATE,
127 GET_TIME,
128 MAX,
129 };
130
132 //-------------------------------------------------------------
134 //-------------------------------------------------------------
136public:
138 GxMoviePlayerBase( void );
140 ~GxMoviePlayerBase( void ) override {}
141
143 virtual b32 initialize( const GxMoviePlayerInitializeInfo& information );
145 void finalize( void );
146
148 GX_FORCE_INLINE virtual void release(void) {}
150 GX_FORCE_INLINE virtual void update( void ) {}
151
153 //-------------------------------------------------------------
155 //-------------------------------------------------------------
157protected:
159 GX_FORCE_INLINE virtual b32 terminate(void) { return true; }
160
161public:
163 b32 canPlay(void);
165 GX_FORCE_INLINE virtual b32 play( void ) { return true; }
167 GX_FORCE_INLINE virtual b32 stop( void ) { return true; }
169 GX_FORCE_INLINE virtual b32 pause( b32 /*on*/) { return true; }
171 GX_FORCE_INLINE virtual b32 seek(u32 /*seekOffset*/) { return true; }
172#if GX_DEVELOP
174 GX_FORCE_INLINE virtual void executeFinalizeResource(const GxMoviePlayerInitializeInfo& /*information*/) {}
175#endif // GX_DEVELOP
176
178 //-------------------------------------------------------------
180 //-------------------------------------------------------------
182
184 GX_FORCE_INLINE virtual b32 setVolume(f32 /*volume*/) { return true; }
186 GX_FORCE_INLINE virtual b32 getVolume(f32& /*volume*/) { return true; }
188 GX_FORCE_INLINE virtual b32 setPlaySpeed(f32 /*speed*/) { return true; }
190 GX_FORCE_INLINE virtual b32 setScreenOffset(f32 /*x*/, f32 /*y*/) { return true; }
192 GX_FORCE_INLINE virtual b32 setScreenSize(f32 /*width*/, f32 /*height*/) { return true; }
194 GX_FORCE_INLINE virtual b32 setPriority(u8 /*priority*/, f32 /*z*/) { return true; }
196 GX_FORCE_INLINE virtual b32 setRenderHud(b32 /*isRenderHud*/) { return true; }
198 GX_FORCE_INLINE virtual b32 setProjectionMatrixId(u32 /*projectionId*/) { return true; }
200 GX_FORCE_INLINE virtual GxResTexture* getTextureResource( void ) const { return nullptr; }
202 GX_FORCE_INLINE virtual GxRenderTexture* getRenderTexture( void ) const { return nullptr; }
203
205 GX_FORCE_INLINE virtual b32 isLoop( void ) { return false; }
207 GX_FORCE_INLINE virtual b32 setLoop(b32 /*isLoop*/) { return true; }
208
210 GX_FORCE_INLINE virtual f32 getTime( void ) { return 0.0f; }
212 GX_FORCE_INLINE virtual f32 getTotalTime( void ) { return 0.0f; }
213
214 // 呼び出した関数が終わったかチェックする関数
215 // 呼び出してない関数の戻り値はtrueです。
216 GX_FORCE_INLINE virtual b32 isFunctionExit(s32) { return true; }
217 // 関数呼び出しの結果を取得
218 GX_FORCE_INLINE virtual b32 isFunctionSuccess(s32) { return true; }
219
220 // 字幕の情報を取得
221 GX_FORCE_INLINE virtual s32 getCaption(GxMovieCaption::GxCaption* /*pCation*/, u32 /*numArray*/) { return 0; }
222 // ルビの情報を取得
223 GX_FORCE_INLINE virtual s32 getRuby(GxMovieCaption::GxRuby* /*pRuby*/, u32 /*numArray*/, const GxMovieCaption::GxCaption& /*caption*/) { return 0; }
225 GX_FORCE_INLINE virtual void setScaleColor(const GxColor& /*color*/) {}
226
228 //note: 設定されている場合はマテリアルのカラーマップを上書きし、設定されていなければスプライト描画を行う
229 GX_FORCE_INLINE virtual void setTargetMaterial(GxRenderMaterial* /*pTargetMaterial*/) {}
230
232 //-------------------------------------------------------------
234 //-------------------------------------------------------------
236protected:
241
243};
244
245GX_MOVIE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
RENDER_VIEW
描画優先度(ビュー)
Definition GxRender.h:442
RENDER_PASS
描画優先度(パス)
Definition GxRender.h:515
RENDER_SUB_VIEW
描画優先度(サブビュー)
Definition GxRender.h:485
@ POST
ポスト処理
オブジェクト基底クラス
Definition GxBase.h:88
ムービークラス
Definition GxMoviePlayerBase.h:79
virtual GX_FORCE_INLINE GxResTexture * getTextureResource(void) const
レンダリング先のテクスチャリソースを取得
Definition GxMoviePlayerBase.h:200
virtual GX_FORCE_INLINE b32 terminate(void)
終了
Definition GxMoviePlayerBase.h:159
GxMoviePlayerBase(void)
デフォルトコンストラクタ
Definition GxMoviePlayerBase.cpp:23
virtual GX_FORCE_INLINE b32 setScreenSize(f32, f32)
描画サイズを設定する(指定しなかった場合は動画ファイルの動画サイズ)
Definition GxMoviePlayerBase.h:192
virtual GX_FORCE_INLINE b32 setVolume(f32)
ボリューム設定
Definition GxMoviePlayerBase.h:184
virtual GX_FORCE_INLINE f32 getTotalTime(void)
全体の時間(秒単位)取得
Definition GxMoviePlayerBase.h:212
virtual GX_FORCE_INLINE b32 setPriority(u8, f32)
描画プライオリティ(Hud ユニットの setPriority() と z 位置の関係に準拠)
Definition GxMoviePlayerBase.h:194
virtual GX_FORCE_INLINE void update(void)
更新
Definition GxMoviePlayerBase.h:150
virtual GX_FORCE_INLINE f32 getTime(void)
開始からの時間(秒単位)取得
Definition GxMoviePlayerBase.h:210
virtual GX_FORCE_INLINE b32 isLoop(void)
ループ判定を取得
Definition GxMoviePlayerBase.h:205
virtual GX_FORCE_INLINE b32 seek(u32)
シーク
Definition GxMoviePlayerBase.h:171
b32 _isInitialize
初期化済フラグ
Definition GxMoviePlayerBase.h:238
virtual GX_FORCE_INLINE b32 setPlaySpeed(f32)
再生スピード設定
Definition GxMoviePlayerBase.h:188
virtual GX_FORCE_INLINE b32 play(void)
再生
Definition GxMoviePlayerBase.h:165
virtual GX_FORCE_INLINE b32 setProjectionMatrixId(u32)
2D Primitive 射影行列 ID を設定
Definition GxMoviePlayerBase.h:198
virtual GX_FORCE_INLINE b32 pause(b32)
一時停止
Definition GxMoviePlayerBase.h:169
virtual GX_FORCE_INLINE void setTargetMaterial(GxRenderMaterial *)
上書きをしにいくマテリアルを設定
Definition GxMoviePlayerBase.h:229
MOVIE_PLAYER_STATUS
ムービープレイヤーステータス
Definition GxMoviePlayerBase.h:92
virtual b32 initialize(const GxMoviePlayerInitializeInfo &information)
初期化
Definition GxMoviePlayerBase.cpp:35
virtual GX_FORCE_INLINE b32 stop(void)
停止
Definition GxMoviePlayerBase.h:167
virtual GX_FORCE_INLINE b32 setLoop(b32)
ループ判定を設定
Definition GxMoviePlayerBase.h:207
virtual GX_FORCE_INLINE b32 setRenderHud(b32)
Hudユニットで描画するか設定
Definition GxMoviePlayerBase.h:196
virtual GX_FORCE_INLINE GxRenderTexture * getRenderTexture(void) const
レンダーテクスチャを取得
Definition GxMoviePlayerBase.h:202
b32 _isUseCaption
字幕使用フラグ
Definition GxMoviePlayerBase.h:239
GxString _fullFilePath
フルパス
Definition GxMoviePlayerBase.h:237
b32 _canPlay
再生できるかフラグ
Definition GxMoviePlayerBase.h:240
virtual GX_FORCE_INLINE b32 setScreenOffset(f32, f32)
描画位置にオフセットを設定
Definition GxMoviePlayerBase.h:190
~GxMoviePlayerBase(void) override
デストラクタ
Definition GxMoviePlayerBase.h:140
virtual GX_FORCE_INLINE void setScaleColor(const GxColor &)
乗算されるカラーを設定( PC PS4 vita 対応 )
Definition GxMoviePlayerBase.h:225
virtual GX_FORCE_INLINE b32 getVolume(f32 &)
ボリューム取得
Definition GxMoviePlayerBase.h:186
virtual GX_FORCE_INLINE void release(void)
開放
Definition GxMoviePlayerBase.h:148
b32 canPlay(void)
再生できるか
Definition GxMoviePlayerBase.cpp:76
MOVIE_PLAYER_FUNC_ID
ムービープレイヤー関数ID
Definition GxMoviePlayerBase.h:113
@ SEEK
シーク(ミリ秒単位)
@ SET_PLAYSPEED
再生スピード変更
@ SET_SCREEN_OFFSET
スクリーン座標にオフセット値を入れる
@ GET_TIME
開始からの時間(秒単位)取得
void finalize(void)
終了
Definition GxMoviePlayerBase.cpp:60
マテリアル構造体
Definition GxRenderMaterial.h:18
テクスチャクラス
Definition GxRenderTexture.h:19
テクスチャリソース
Definition GxResTexture.h:23
Definition GxColor.h:21
字幕情報構造体
Definition GxMovieCaption.h:54
ルビ構造体
Definition GxMovieCaption.h:46
初期化情報構造体
Definition GxMoviePlayerBase.h:18
INITIALIZE_ID
ID初期化
Definition GxMoviePlayerBase.h:26
f32 _renderSubPriority
描画サブプライオリティ(パス内での優先度)
Definition GxMoviePlayerBase.h:70
GX_STR _pCaptionFileName
字幕ファイル名
Definition GxMoviePlayerBase.h:58
RENDER_PASS _renderPass
描画プライオリティ
Definition GxMoviePlayerBase.h:69
GxMoviePlayerInitializeInfo(void)
デフォルトコンストラクタ
Definition GxMoviePlayerBase.h:37
RENDER_SUB_VIEW _renderSubView
描画優先度(サブビュー)
Definition GxMoviePlayerBase.h:68
s32 _soundId
サウンドストリームID
Definition GxMoviePlayerBase.h:61
b32 _isUseRuby
字幕のルビ使用判定
Definition GxMoviePlayerBase.h:64
u32 _decodeQueueIndex
デコードキューIndex
Definition GxMoviePlayerBase.h:60
b32 _isNoSound
サウンドなし判定
Definition GxMoviePlayerBase.h:63
GX_STR _pFileName
ムービーファイル名
Definition GxMoviePlayerBase.h:57
b32 _isUseH264
H264コーデック使用判定
Definition GxMoviePlayerBase.h:65
RENDER_VIEW _renderView
描画優先度(ビュー)
Definition GxMoviePlayerBase.h:67
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173