1/* 2 * Copyright 2012, Gerasim Troeglazov (3dEyes**), 3dEyes@gmail.com. 3 * All rights reserved. 4 * Distributed under the terms of the MIT License. 5 */ 6 7#include <Entry.h> 8 9#include "EqualizerNode.h" 10#include "EqualizerAddOn.h" 11 12extern "C" _EXPORT BMediaAddOn* make_media_addon(image_id image) 13{ 14 return new EqualizerAddOn(image); 15} 16 17EqualizerAddOn::~EqualizerAddOn() 18{ 19} 20 21EqualizerAddOn::EqualizerAddOn(image_id image) 22 : 23 BMediaAddOn(image) 24{ 25} 26 27status_t 28EqualizerAddOn::InitCheck(const char **text) 29{ 30 return B_OK; 31} 32 33int32 34EqualizerAddOn::CountFlavors() 35{ 36 return 1; 37} 38 39status_t EqualizerAddOn::GetFlavorAt(int32 idx, const flavor_info** info) 40{ 41 if (idx < 0 || idx >= CountFlavors()) 42 return B_ERROR; 43 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 = "10 Band Equalizer.\nby 3dEyes**"; 50 f_info->name = "Equalizer (10 Band)"; 51 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; 56 57 f_info->in_format_count = 1; 58 f_info->in_formats = format; 59 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; 64 65 f_info->out_format_count = 1; 66 f_info->out_formats = format; 67 68 *info = f_info; 69 70 return B_OK; 71} 72 73BMediaNode* 74EqualizerAddOn::InstantiateNodeFor(const flavor_info* info, BMessage* config, 75 status_t* err) 76{ 77 EqualizerNode* node = new EqualizerNode(this); 78 return node; 79} 80 81status_t 82EqualizerAddOn::GetConfigurationFor(BMediaNode* node, BMessage* message) 83{ 84 return B_OK; 85} 86 87bool 88EqualizerAddOn::WantsAutoStart() 89{ 90 return false; 91} 92 93status_t 94EqualizerAddOn::AutoStart(int count, BMediaNode** node, int32* id, bool* more) 95{ 96 return B_OK; 97} 98