Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
file_import.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __IO_FILE_IMPORT_H__
11#define __IO_FILE_IMPORT_H__
12
13#include "utils/types.h"
14
15#include <glib.h>
16
17TYPEDEF_STRUCT (SupportedFile);
18
19G_BEGIN_DECLS
20
27#define FILE_IMPORT_TYPE (file_import_get_type ())
28G_DECLARE_FINAL_TYPE (FileImport, file_import, Z, FILE_IMPORT, GObject);
29
30typedef struct _FileImportInfo
31{
33 unsigned int track_name_hash;
34
36 int lane;
37
40
44
46file_import_info_new (void);
47
49file_import_info_clone (const FileImportInfo * src);
50
51void
52file_import_info_free (FileImportInfo * self);
53
57typedef struct _FileImport
58{
59 GObject parent_instance;
60
62 char * filepath;
63
65 GPtrArray * regions;
66
74 GObject * owner;
75
79
84file_import_new (const char * filepath, const FileImportInfo * import_nfo);
85
94void
96 FileImport * self,
97 GObject * owner,
98 GCancellable * cancellable,
99 GAsyncReadyCallback callback,
100 gpointer callback_data);
101
102GPtrArray *
103file_import_sync (FileImport * self, GError ** error);
104
113GPtrArray *
114file_import_finish (FileImport * self, GAsyncResult * result, GError ** error);
115
120G_END_DECLS
121
122#endif
FileImport * file_import_new(const char *filepath, const FileImportInfo *import_nfo)
Returns a new FileImport instance.
void file_import_async(FileImport *self, GObject *owner, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer callback_data)
Begins file import for a single file.
GPtrArray * file_import_finish(FileImport *self, GAsyncResult *result, GError **error)
To be called by the provided GAsyncReadyCallback to retrieve retun values and error details,...
unsigned int track_name_hash
Track to import on, if any, or 0.
Definition file_import.h:33
Position pos
Position to import the data at, or 1.1.1.0.
Definition file_import.h:39
int track_idx
Track index to start the import at.
Definition file_import.h:42
int lane
Track lane to import on, if any, or -1.
Definition file_import.h:36
An object used for importing files asynchronously.
Definition file_import.h:58
GObject * owner
Owner of this FileImport instance, set to the GTask.
Definition file_import.h:74
GPtrArray * regions
Return value.
Definition file_import.h:65
char * filepath
File path.
Definition file_import.h:62
FileImportInfo * import_info
Import info.
Definition file_import.h:77
A Position is made up of bars.beats.sixteenths.ticks.
Definition position.h:126
Metadata for a supported file.
Custom types.