Pencil2D Animation
Download
Community
News
Docs
Contribute
Overview
Articles
Code
Class List
Class Index
Class Hierarchy
Class Members
File List
Loading...
Searching...
No Matches
core_lib
src
structure
layersound.h
1
/*
2
3
Pencil2D - Traditional Animation Software
4
Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5
Copyright (C) 2012-2020 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
#ifndef LAYERSOUND_H
18
#define LAYERSOUND_H
19
20
#include <cstdint>
21
#include "keyframe.h"
22
#include "layer.h"
23
24
class
SoundClip
;
25
class
LayerSound
:
public
Layer
26
{
27
Q_DECLARE_TR_FUNCTIONS(
LayerSound
)
28
29
public
:
30
explicit
LayerSound
(
int
id
);
31
~LayerSound
();
32
QDomElement
createDomElement(
QDomDocument
& doc)
const override
;
33
void
loadDomElement(
const
QDomElement
& element,
QString
dataDirPath, ProgressCallback progressStep)
override
;
34
35
void
replaceKeyFrame(
const
KeyFrame
* soundClip)
override
;
36
37
Status
loadSoundClipAtFrame(
const
QString
& sSoundClipName,
const
QString
& filePathString,
int
frame );
38
void
updateFrameLengths(
int
fps);
39
40
SoundClip
* getSoundClipWhichCovers(
int
frameNumber);
41
42
protected
:
43
Status
saveKeyFrameFile(
KeyFrame
*,
QString
path)
override
;
44
KeyFrame
* createKeyFrame(
int
position)
override
;
45
};
46
47
#endif
KeyFrame
Definition:
keyframe.h:30
Layer
Definition:
layer.h:33
LayerSound
Definition:
layersound.h:26
SoundClip
Definition:
soundclip.h:27
Status
Definition:
pencilerror.h:40
QDomDocument
QDomElement
QString