Pencil2D
ff90c0872e88be3bf81c548cd60f01983012ec49
Pencil2D is an animation software for both bitmap and vector graphics. It is free, multi-platform, and open source.
Main Page
Classes
Files
File List
All
Classes
Functions
core_lib
structure
soundclip.h
1
/*
2
3
Pencil - Traditional Animation Software
4
Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5
Copyright (C) 2012-2017 Matthew Chiawen Chang
6
7
This program is free software; you can redistribute it and/or
8
modify it under the terms of the GNU General Public License
9
as published by the Free Software Foundation; version 2 of the License.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
*/
17
18
#ifndef SOUNDCLIP_H
19
#define SOUNDCLIP_H
20
21
#include <memory>
22
#include "keyframe.h"
23
24
class
SoundPlayer
;
25
26
27
class
SoundClip
:
public
KeyFrame
28
{
29
public
:
30
SoundClip
();
31
~
SoundClip
();
32
33
Status
init(
const
QString& strSoundFile );
34
bool
isValid();
35
36
void
setSoundClipName(
const
QString& sName ) { mOriginalSoundClipName = sName; }
37
QString soundClipName() {
return
mOriginalSoundClipName; }
38
39
void
attachPlayer(
SoundPlayer
* player );
40
void
detachPlayer();
41
SoundPlayer
* player() {
return
mPlayer.get(); }
42
43
void
play();
44
void
playFromPosition(
int
frameNumber,
int
fps);
45
void
stop();
46
47
int64_t duration()
const
;
48
void
setDuration(
const
int64_t &duration);
49
50
void
updateLength(
int
fps);
51
52
private
:
53
std::shared_ptr< SoundPlayer > mPlayer;
54
55
QString mOriginalSoundClipName;
56
57
// Duration in seconds. This is stored to update the length of the
58
// frame when the FPS changes.
59
int64_t mDuration = 0;
60
};
61
62
#endif // SOUNDCLIP_H
SoundClip
Definition:
soundclip.h:27
KeyFrame
Definition:
keyframe.h:29
Status
Definition:
pencilerror.h:24
SoundPlayer
Definition:
soundplayer.h:28
Generated on Fri Sep 1 2017 16:48:41 for Pencil2D by
1.8.6