1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
/* SPDX-License-Identifier: GPL-2.0-or-later
* Copyright 2015 Blender Foundation. All rights reserved. */
/** \file
* \ingroup RNA
*/
#include "DNA_packedFile_types.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "BKE_packedFile.h"
#include "rna_internal.h"
#ifdef RNA_RUNTIME
static void rna_Sound_pack(bSound *sound, Main *bmain, ReportList *reports)
{
sound->packedfile = BKE_packedfile_new(
reports, sound->filepath, ID_BLEND_PATH(bmain, &sound->id));
}
static void rna_Sound_unpack(bSound *sound, Main *bmain, ReportList *reports, int method)
{
if (!sound->packedfile) {
BKE_report(reports, RPT_ERROR, "Sound not packed");
}
else {
/* reports its own error on failure */
BKE_packedfile_unpack_sound(bmain, reports, sound, method);
}
}
#else
void RNA_api_sound(StructRNA *srna)
{
FunctionRNA *func;
func = RNA_def_function(srna, "pack", "rna_Sound_pack");
RNA_def_function_ui_description(func, "Pack the sound into the current blend file");
RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
func = RNA_def_function(srna, "unpack", "rna_Sound_unpack");
RNA_def_function_ui_description(func, "Unpack the sound to the samples filename");
RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
RNA_def_enum(
func, "method", rna_enum_unpack_method_items, PF_USE_LOCAL, "method", "How to unpack");
}
#endif
|