libsidplayfp  0.3.5
residfp.h
1 /***************************************************************************
2  resid.h - ReSid Builder
3  -------------------
4  begin : Fri Apr 4 2001
5  copyright : (C) 2001 by Simon White
6  email : s_a_white@email.com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef _residfp_h_
19 #define _residfp_h_
20 
21 /* Since ReSID is not part of this project we are actually
22  * creating a wrapper instead of implementing a SID emulation
23  */
24 
25 #include <vector>
26 #include "sidplayfp/sidbuilder.h"
27 
31 class SID_EXTERN ReSIDfpBuilder: public sidbuilder
32 {
33 protected:
34  std::vector<sidemu *> sidobjs;
35 
36 private:
37  static const char *ERR_FILTER_DEFINITION;
38  const char *m_error;
39  char m_errorBuffer[100];
40 
41 public:
42  ReSIDfpBuilder (const char * const name);
43  ~ReSIDfpBuilder (void);
44 
52  uint devices (bool used);
53  uint create (uint sids);
54  sidemu *lock (c64env *env, sid2_model_t model);
55  void unlock (sidemu *device);
56  void remove (void);
57  const char *error (void) const { return m_error; }
58  const char *credits (void);
59 
62 
63 
64  void filter (bool enable);
65 
67  SID_DEPRECATED void filter (const sid_filterfp_t *filter) {};
68 
74  void filter6581Curve (const double filterCurve);
75 
81  void filter8580Curve (const double filterCurve);
83 };
84 
85 #endif // _resid_h_