xref: /haiku/src/apps/mediaplayer/media_node_framework/PlaybackLOAdapter.h (revision 16d5c24e533eb14b7b8a99ee9f3ec9ba66335b1e)
1 /*
2  * Copyright (c) 2000-2008, Ingo Weinhold <ingo_weinhold@gmx.de>,
3  * Copyright (c) 2000-2008, Stephan Aßmus <superstippi@gmx.de>,
4  * All Rights Reserved. Distributed under the terms of the MIT license.
5  */
6 #ifndef PLAYBACK_LO_ADAPTER_H
7 #define PLAYBACK_LO_ADAPTER_H
8 
9 
10 #include "AbstractLOAdapter.h"
11 #include "PlaybackListener.h"
12 
13 
14 enum {
15 	MSG_PLAYBACK_PLAY_MODE_CHANGED			= 'ppmc',
16 	MSG_PLAYBACK_LOOP_MODE_CHANGED			= 'plmc',
17 	MSG_PLAYBACK_LOOPING_ENABLED_CHANGED	= 'plec',
18 	MSG_PLAYBACK_VIDEO_BOUNDS_CHANGED		= 'pmbc',
19 	MSG_PLAYBACK_FPS_CHANGED				= 'pfps',
20 	MSG_PLAYBACK_CURRENT_FRAME_CHANGED		= 'pcfc',
21 	MSG_PLAYBACK_SPEED_CHANGED				= 'pspc',
22 	MSG_PLAYBACK_FRAME_DROPPED				= 'pfdr',
23 };
24 
25 
26 class PlaybackLOAdapter : public AbstractLOAdapter, public PlaybackListener {
27  public:
28 								PlaybackLOAdapter(BHandler* handler);
29 								PlaybackLOAdapter(
30 									const BMessenger& messenger);
31 	virtual						~PlaybackLOAdapter();
32 
33 	virtual	void				PlayModeChanged(int32 mode);
34 	virtual	void				LoopModeChanged(int32 mode);
35 	virtual	void				LoopingEnabledChanged(bool enabled);
36 	virtual	void				VideoBoundsChanged(BRect bounds);
37 	virtual	void				FramesPerSecondChanged(float fps);
38 	virtual	void				CurrentFrameChanged(double frame);
39 	virtual	void				SpeedChanged(float speed);
40 	virtual	void				FrameDropped();
41 };
42 
43 #endif	// PLAYBACK_LO_ADAPTER_H
44