2 * Copyright 2012, Gerasim Troeglazov (3dEyes**), 3dEyes@gmail.com.
4 * Distributed under the terms of the MIT License.
9 #include "EqualizerNode.h"
10 #include "EqualizerAddOn.h"
12 extern "C" _EXPORT BMediaAddOn
* make_media_addon(image_id image
)
14 return new EqualizerAddOn(image
);
17 EqualizerAddOn::~EqualizerAddOn()
21 EqualizerAddOn::EqualizerAddOn(image_id image
)
28 EqualizerAddOn::InitCheck(const char **text
)
34 EqualizerAddOn::CountFlavors()
39 status_t
EqualizerAddOn::GetFlavorAt(int32 idx
, const flavor_info
** info
)
41 if (idx
< 0 || idx
>= CountFlavors())
44 flavor_info
* f_info
= new flavor_info
;
45 f_info
->internal_id
= idx
;
46 f_info
->kinds
= B_BUFFER_CONSUMER
| B_BUFFER_PRODUCER
| B_CONTROLLABLE
;
47 f_info
->possible_count
= 0;
48 f_info
->flavor_flags
= 0;
49 f_info
->info
= (char *)"10 Band Equalizer.\nby 3dEyes**";
50 f_info
->name
= (char *)"Equalizer (10 Band)";
52 media_format
* format
= new media_format
;
53 format
->type
= B_MEDIA_RAW_AUDIO
;
54 format
->u
.raw_audio
= media_raw_audio_format::wildcard
;
55 format
->u
.raw_audio
.format
= media_raw_audio_format::B_AUDIO_FLOAT
;
57 f_info
->in_format_count
= 1;
58 f_info
->in_formats
= format
;
60 format
= new media_format
;
61 format
->type
= B_MEDIA_RAW_AUDIO
;
62 format
->u
.raw_audio
= media_raw_audio_format::wildcard
;
63 format
->u
.raw_audio
.format
= media_raw_audio_format::B_AUDIO_FLOAT
;
65 f_info
->out_format_count
= 1;
66 f_info
->out_formats
= format
;
74 EqualizerAddOn::InstantiateNodeFor(const flavor_info
* info
, BMessage
* config
,
77 EqualizerNode
* node
= new EqualizerNode(this);
82 EqualizerAddOn::GetConfigurationFor(BMediaNode
* node
, BMessage
* message
)
88 EqualizerAddOn::WantsAutoStart()
94 EqualizerAddOn::AutoStart(int count
, BMediaNode
** node
, int32
* id
, bool* more
)