~ubuntu-branches/ubuntu/saucy/ecasound2.2/saucy

« back to all changes in this revision

Viewing changes to libecasound/eca-chainsetup-bufparams.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Junichi Uekawa
  • Date: 2008-03-23 21:42:49 UTC
  • mfrom: (3.1.6 hardy)
  • Revision ID: james.westby@ubuntu.com-20080323214249-evlfv3y1o8q747la
Tags: 2.4.6.1-2
* Bug fix: "FTBFS with GCC 4.3: missing #includes", thanks to Martin
  Michlmayr (Closes: #454890).
- 13_gcc4: updated

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
// ------------------------------------------------------------------------
2
2
// eca-chainsetup-bufparams.cpp: Container for chainsetup buffering params.
3
 
// Copyright (C) 2001 Kai Vehmanen
 
3
// Copyright (C) 2001, 2007 Kai Vehmanen
 
4
//
 
5
// Attributes:
 
6
//     eca-style-version: 3
4
7
//
5
8
// This program is free software; you can redistribute it and/or modify
6
9
// it under the terms of the GNU General Public License as published by
17
20
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
18
21
// ------------------------------------------------------------------------
19
22
 
 
23
#include <cstdlib>
 
24
 
20
25
#include <kvu_utils.h> /* kvu_get_argument_number */
21
26
#include <kvu_numtostr.h>
22
27
 
23
28
#include "eca-chainsetup-bufparams.h"
24
29
 
25
 
ECA_CHAINSETUP_BUFPARAMS::ECA_CHAINSETUP_BUFPARAMS(void) {
 
30
ECA_CHAINSETUP_BUFPARAMS::ECA_CHAINSETUP_BUFPARAMS(void)
 
31
{
26
32
  set_buffersize_rep = false;
27
33
  set_raisedpriority_rep = false;
28
34
  set_sched_priority_rep = false;
37
43
 * @arg paramstr "int_buffersize, bool_raisedprio, int_schedprio, 
38
44
 *                bool_db, int_db-bufsize, int_buffersize"
39
45
 */
40
 
void ECA_CHAINSETUP_BUFPARAMS::set_all(const string& paramstr) {
 
46
void ECA_CHAINSETUP_BUFPARAMS::set_all(const string& paramstr)
 
47
{
41
48
  set_buffersize(atoi(kvu_get_argument_number(1, paramstr).c_str()));
42
49
  toggle_raised_priority(kvu_get_argument_number(2, paramstr) == "true");
43
50
  set_sched_priority(atoi(kvu_get_argument_number(3, paramstr).c_str()));
49
56
/**
50
57
 * Returns number of distinct set parameters.
51
58
 */
52
 
int ECA_CHAINSETUP_BUFPARAMS::number_of_set(void) const {
 
59
int ECA_CHAINSETUP_BUFPARAMS::number_of_set(void) const
 
60
{
53
61
  int res = 0;
54
62
 
55
63
  if (set_buffersize_rep == true) res++;
59
67
  if (set_double_buffer_size_rep == true) res++;
60
68
  if (set_max_buffers_rep == true) res++;
61
69
 
62
 
  return(res);
 
70
  return res;
63
71
}
64
72
 
65
 
string ECA_CHAINSETUP_BUFPARAMS::to_string(void) const {
 
73
string ECA_CHAINSETUP_BUFPARAMS::to_string(void) const 
 
74
{
66
75
  string result;
67
76
  result += "\nbuffersize: ";
68
77
  result += kvu_numtostr(buffersize_rep);
76
85
  result += kvu_numtostr((int)double_buffer_size_rep);
77
86
  result += "\nmax buffers: ";
78
87
  result += kvu_numtostr(max_buffers_rep);
79
 
  return(result);
 
88
  return result;
80
89
}
81
90
 
82
91
 
83
92
 
84
 
bool ECA_CHAINSETUP_BUFPARAMS::are_all_set(void) const {
 
93
bool ECA_CHAINSETUP_BUFPARAMS::are_all_set(void) const
 
94
{
85
95
  if (set_buffersize_rep == true &&
86
96
      set_raisedpriority_rep == true &&
87
97
      set_sched_priority_rep == true &&
88
98
      set_double_buffering_rep == true &&
89
99
      set_double_buffer_size_rep == true &&
90
 
      set_max_buffers_rep == true) return(true);
 
100
      set_max_buffers_rep == true) return true;
91
101
  
92
 
  return(false);
 
102
  return false;
93
103
}
94
104
 
95
 
void ECA_CHAINSETUP_BUFPARAMS::set_buffersize(long int value) { 
 
105
void ECA_CHAINSETUP_BUFPARAMS::set_buffersize(long int value)
 
106
{
96
107
  buffersize_rep = value;
97
108
  set_buffersize_rep = true;
98
109
}
99
110
 
100
 
void ECA_CHAINSETUP_BUFPARAMS::toggle_raised_priority(bool value) { 
 
111
void ECA_CHAINSETUP_BUFPARAMS::toggle_raised_priority(bool value)
 
112
{
101
113
  raisedpriority_rep = value; 
102
114
  set_raisedpriority_rep = true; 
103
115
}
104
116
 
105
 
void ECA_CHAINSETUP_BUFPARAMS::set_sched_priority(int prio) {
 
117
void ECA_CHAINSETUP_BUFPARAMS::set_sched_priority(int prio)
 
118
{
106
119
  sched_priority_rep = prio; 
107
120
  set_sched_priority_rep = true; 
108
121
}
109
122
 
110
 
void ECA_CHAINSETUP_BUFPARAMS::toggle_double_buffering(bool value) { 
 
123
void ECA_CHAINSETUP_BUFPARAMS::toggle_double_buffering(bool value)
 
124
{
111
125
  double_buffering_rep = value;
112
126
  set_double_buffering_rep = true;
113
127
}
114
128
 
115
 
void ECA_CHAINSETUP_BUFPARAMS::set_double_buffer_size(long int v) { 
 
129
void ECA_CHAINSETUP_BUFPARAMS::set_double_buffer_size(long int v)
 
130
{
116
131
  double_buffer_size_rep = v; 
117
132
  set_double_buffer_size_rep = true; 
118
133
}
119
134
 
120
 
void ECA_CHAINSETUP_BUFPARAMS::toggle_max_buffers(bool v) { 
 
135
void ECA_CHAINSETUP_BUFPARAMS::toggle_max_buffers(bool v)
 
136
{
121
137
  max_buffers_rep = v; 
122
138
  set_max_buffers_rep = true; 
123
139
}