1/* PatchRow.h 2 * ---------- 3 * 4 * Copyright 2013, Haiku, Inc. All rights reserved. 5 * Distributed under the terms of the MIT License. 6 * 7 * Revisions by Pete Goodeve 8 * 9 * Copyright 1999, Be Incorporated. All Rights Reserved. 10 * This file may be used under the terms of the Be Sample Code License. 11 */ 12#ifndef PATCHROW_H 13#define PATCHROW_H 14 15#include <View.h> 16 17extern const float ROW_LEFT; 18extern const float ROW_TOP; 19extern const float ROW_HEIGHT; 20extern const float COLUMN_WIDTH; 21extern const float METER_PADDING; 22extern const uint32 MSG_CONNECT_REQUEST; 23 24class MidiEventMeter; 25 26class PatchRow : public BView 27{ 28public: 29 PatchRow(int32 producerID); 30 ~PatchRow(); 31 32 int32 ID() const; 33 34 void AttachedToWindow(); 35 void MessageReceived(BMessage* msg); 36 void Pulse(); 37 void Draw(BRect updateRect); 38 39 void AddColumn(int32 consumerID); 40 void RemoveColumn(int32 consumerID); 41 void Connect(int32 consumerID); 42 void Disconnect(int32 consumerID); 43 44private: 45 int32 fProducerID; 46 MidiEventMeter* fEventMeter; 47}; 48 49#endif /* PATCHROW_H */ 50