1/* MidiEventMeter.h
2 * ----------------
3 * A UI widget that measures the amount of MIDI data generated by a
4 * consumer.
5 *
6 * Copyright 2013, Haiku, Inc. All rights reserved.
7 * Distributed under the terms of the MIT License.
8 *
9 * Revisions by Pete Goodeve
10 *
11 * Copyright 1999, Be Incorporated.   All Rights Reserved.
12 * This file may be used under the terms of the Be Sample Code License.
13 */
14#ifndef MIDIEVENTMETER_H
15#define MIDIEVENTMETER_H
16
17#include <Point.h>
18#include <Rect.h>
19
20class BMidiProducer;
21class CountEventConsumer;
22class BView;
23
24class MidiEventMeter
25{
26public:
27	MidiEventMeter(int32 producerID);
28	~MidiEventMeter();
29
30	void Pulse(BView* view);
31	BRect Bounds() const;
32	void Draw(BView* view);
33
34private:
35	int32 CalcMeterLevel(int32 eventCount) const;
36
37	CountEventConsumer* fCounter;
38	int32 fMeterLevel;
39};
40
41#endif /* MIDIEVENTMETER_H */
42