Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
project_assistant.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2018-2019, 2022-2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
13#ifndef __GUI_WIDGETS_PROJECT_ASSISTANT_H__
14#define __GUI_WIDGETS_PROJECT_ASSISTANT_H__
15
16#include "dsp/channel.h"
17#include "gui/widgets/meter.h"
18
19#include <adwaita.h>
20#include <gtk/gtk.h>
21
28#define PROJECT_ASSISTANT_WIDGET_TYPE (project_assistant_widget_get_type ())
31 project_assistant_widget,
32 Z,
33 PROJECT_ASSISTANT_WIDGET,
34 AdwWindow)
35
36
39typedef struct ProjectInfo
40{
41 char * name;
43 char * filename;
44 gint64 modified;
45 char * modified_str;
46} ProjectInfo;
47
52typedef struct _ProjectAssistantWidget
53{
54 AdwWindow parent_instance;
55
56 AdwViewStack * stack;
57
61 GtkColumnView * recent_projects_column_view;
62 GtkCheckButton * create_new_project_check_btn;
63 GPtrArray * templates_item_factories;
64 GtkColumnView * templates_column_view;
65
66 /* action buttons */
67 GtkButton * ok_btn;
68 GtkButton * open_from_path_btn;
69 GtkButton * cancel_btn;
70
71 GPtrArray * project_infos_arr;
72 GPtrArray * templates_arr;
73
74 GtkWindow * parent;
75
76 char * template;
77
78 bool zrythm_already_running;
80
91void
93 GtkWindow * parent,
94 bool zrythm_already_running,
95 const char * template);
96
101#endif
API for Channel, representing a channel strip on the mixer.
G_DECLARE_FINAL_TYPE(ProjectAssistantWidget, project_assistant_widget, Z, PROJECT_ASSISTANT_WIDGET, AdwWindow) typedef struct ProjectInfo
Project file information.
void project_assistant_widget_present(GtkWindow *parent, bool zrythm_already_running, const char *template)
Runs the project assistant.
A widget that allows selecting a project to load or create.
GPtrArray * recent_projects_item_factories
Array of ItemFactory pointers for each column.