ardour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libs
ardour
ardour
audio_track.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2006 Paul Davis
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18
*/
19
20
#ifndef __ardour_audio_track_h__
21
#define __ardour_audio_track_h__
22
23
#include "
ardour/interthread_info.h
"
24
#include "
ardour/track.h
"
25
26
namespace
ARDOUR
{
27
28
class
Session;
29
class
AudioDiskstream;
30
class
AudioPlaylist;
31
class
RouteGroup;
32
class
AudioFileSource;
33
34
class
LIBARDOUR_API
AudioTrack
:
public
Track
35
{
36
public
:
37
AudioTrack
(
Session
&, std::string
name
,
Route::Flag
f
=
Route::Flag
(0),
TrackMode
m =
Normal
);
38
~
AudioTrack
();
39
40
int
set_mode (
TrackMode
m);
41
bool
can_use_mode (
TrackMode
m,
bool
& bounce_required);
42
43
int
roll (
pframes_t
nframes,
framepos_t
start_frame,
framepos_t
end_frame,
44
int
declick,
bool
& need_butler);
45
46
boost::shared_ptr<Diskstream>
create_diskstream ();
47
void
set_diskstream (
boost::shared_ptr<Diskstream>
);
48
49
DataType
data_type
()
const
{
50
return
DataType::AUDIO
;
51
}
52
53
void
freeze_me (
InterThreadInfo
&);
54
void
unfreeze ();
55
56
bool
bounceable (
boost::shared_ptr<Processor>
,
bool
include_endpoint)
const
;
57
boost::shared_ptr<Region>
bounce (
InterThreadInfo
&);
58
boost::shared_ptr<Region>
bounce_range (
framepos_t
start
,
framepos_t
end,
InterThreadInfo
&,
59
boost::shared_ptr<Processor>
endpoint,
bool
include_endpoint);
60
int
export_stuff (
BufferSet
& bufs,
framepos_t
start_frame,
framecnt_t
nframes,
61
boost::shared_ptr<Processor>
endpoint,
bool
include_endpoint,
bool
for_export,
bool
for_freeze);
62
63
int
set_state (
const
XMLNode
&,
int
version);
64
65
boost::shared_ptr<AudioFileSource>
write_source (uint32_t n = 0);
66
67
protected
:
68
boost::shared_ptr<AudioDiskstream>
audio_diskstream ()
const
;
69
XMLNode
& state (
bool
full);
70
71
private
:
72
73
boost::shared_ptr<Diskstream>
diskstream_factory (
XMLNode
const
&);
74
75
int
deprecated_use_diskstream_connections ();
76
void
set_state_part_two ();
77
void
set_state_part_three ();
78
};
79
80
}
// namespace ARDOUR
81
82
#endif
/* __ardour_audio_track_h__ */
ARDOUR::Session
Definition:
session.h:142
ARDOUR::InterThreadInfo
Definition:
interthread_info.h:31
interthread_info.h
ARDOUR::pframes_t
uint32_t pframes_t
Definition:
types.h:61
signals.f
tuple f
Definition:
signals.py:35
ARDOUR::Properties::start
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
Definition:
region.cc:63
boost::shared_ptr
Definition:
shared_ptr.hpp:116
ARDOUR::TrackMode
TrackMode
Definition:
types.h:198
ARDOUR::framecnt_t
int64_t framecnt_t
Definition:
types.h:76
ARDOUR::AudioTrack::data_type
DataType data_type() const
Definition:
audio_track.h:49
ARDOUR::Route::Flag
Flag
Definition:
route.h:78
ARDOUR::Track
Definition:
track.h:38
ARDOUR
Definition:
amp.h:29
ARDOUR::framepos_t
int64_t framepos_t
Definition:
types.h:66
LIBARDOUR_API
#define LIBARDOUR_API
Definition:
libardour_visibility.h:40
name
const char * name
Definition:
rc_option_editor.cc:257
XMLNode
Definition:
xml++.h:95
ARDOUR::AudioTrack
Definition:
audio_track.h:34
ARDOUR::BufferSet
Definition:
buffer_set.h:65
track.h
ARDOUR::DataType
Definition:
data_type.h:37
ARDOUR::Normal
Definition:
types.h:199
ARDOUR::DataType::AUDIO
Definition:
data_type.h:50
Generated on Sun May 24 2015 12:15:05 for ardour by
1.8.8