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
14enum {
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
26class 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