Pencil2D Animation
Download
Community
News
Docs
Contribute
core_lib/src/managers/soundmanager.h Source File
Main Page
Related Pages
Classes
Files
File List
Loading...
Searching...
No Matches
core_lib
src
managers
soundmanager.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
18
#ifndef SOUNDMANAGER_H
19
#define SOUNDMANAGER_H
20
21
#include <cstdint>
22
#include "basemanager.h"
23
24
class
Layer
;
25
class
SoundClip
;
26
class
SoundPlayer
;
27
28
29
class
SoundManager
:
public
BaseManager
30
{
31
Q_OBJECT
32
public
:
33
34
explicit
SoundManager
(
Editor
* editor);
35
~SoundManager
()
override
;
36
37
bool
init()
override
;
38
Status
load(
Object
*)
override
;
39
Status
save(
Object
*)
override
;
40
41
Status
loadSound(
Layer
* soundLayer,
int
frameNumber,
QString
strSoundFile);
42
Status
loadSound(
SoundClip
* soundClip,
QString
strSoundFile);
43
Status
processSound(
SoundClip
* soundClip);
44
45
int
soundClipCount()
const
;
46
47
signals:
48
void
soundClipDurationChanged();
49
50
private
:
51
void
onDurationChanged(
SoundPlayer
* player, int64_t duration);
52
53
Status
createMediaPlayer(
SoundClip
*);
54
};
55
56
#endif
// SOUNDMANAGER_H
BaseManager
Definition:
basemanager.h:29
Editor
Definition:
editor.h:68
Layer
Definition:
layer.h:38
Object
Definition:
object.h:42
SoundClip
Definition:
soundclip.h:27
SoundManager
Definition:
soundmanager.h:30
SoundPlayer
Definition:
soundplayer.h:30
Status
Definition:
pencilerror.h:40
QObject::Q_OBJECT
Q_OBJECTQ_OBJECT
QString