From 6471195da2544b56fd2669092c197b83aeb4008e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 30 May 2022 17:15:13 -0400 Subject: Separate state.h from jalv_internal.h --- src/jalv.c | 1 + src/jalv_console.c | 1 + src/jalv_gtk.c | 1 + src/jalv_internal.h | 43 ---------------------------------- src/jalv_qt.hpp | 1 + src/state.c | 2 ++ src/state.h | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 73 insertions(+), 43 deletions(-) create mode 100644 src/state.h (limited to 'src') diff --git a/src/jalv.c b/src/jalv.c index 278f54b..6a923b2 100644 --- a/src/jalv.c +++ b/src/jalv.c @@ -9,6 +9,7 @@ #include "jalv_internal.h" #include "log.h" #include "lv2_evbuf.h" +#include "state.h" #include "worker.h" #include "lilv/lilv.h" diff --git a/src/jalv_console.c b/src/jalv_console.c index 496a9e5..e39d2cc 100644 --- a/src/jalv_console.c +++ b/src/jalv_console.c @@ -9,6 +9,7 @@ #include "jalv_config.h" #include "jalv_internal.h" #include "log.h" +#include "state.h" #include "lilv/lilv.h" #include "lv2/ui/ui.h" diff --git a/src/jalv_gtk.c b/src/jalv_gtk.c index 0c1cb50..6e10811 100644 --- a/src/jalv_gtk.c +++ b/src/jalv_gtk.c @@ -2,6 +2,7 @@ // SPDX-License-Identifier: ISC #include "jalv_internal.h" +#include "state.h" #include "lilv/lilv.h" #include "lv2/atom/atom.h" diff --git a/src/jalv_internal.h b/src/jalv_internal.h index ce34de6..250b3d8 100644 --- a/src/jalv_internal.h +++ b/src/jalv_internal.h @@ -19,7 +19,6 @@ # include "suil/suil.h" #endif -#include "lv2/atom/atom.h" #include "lv2/atom/forge.h" #include "lv2/core/lv2.h" #include "lv2/data-access/data-access.h" @@ -428,48 +427,6 @@ jalv_run(Jalv* jalv, uint32_t nframes); int jalv_update(Jalv* jalv); -typedef int (*PresetSink)(Jalv* jalv, - const LilvNode* node, - const LilvNode* title, - void* data); - -int -jalv_load_presets(Jalv* jalv, PresetSink sink, void* data); - -int -jalv_unload_presets(Jalv* jalv); - -int -jalv_apply_preset(Jalv* jalv, const LilvNode* preset); - -int -jalv_delete_current_preset(Jalv* jalv); - -int -jalv_save_preset(Jalv* jalv, - const char* dir, - const char* uri, - const char* label, - const char* filename); - -void -jalv_save(Jalv* jalv, const char* dir); - -void -jalv_save_port_values(Jalv* jalv, SerdWriter* writer, const SerdNode* subject); - -char* -jalv_make_path(LV2_State_Make_Path_Handle handle, const char* path); - -void -jalv_apply_state(Jalv* jalv, LilvState* state); - -char* -atom_to_turtle(LV2_URID_Unmap* unmap, - const SerdNode* subject, - const SerdNode* predicate, - const LV2_Atom* atom); - #ifdef __cplusplus } // extern "C" #endif diff --git a/src/jalv_qt.hpp b/src/jalv_qt.hpp index ddb46f3..6a9cdf7 100644 --- a/src/jalv_qt.hpp +++ b/src/jalv_qt.hpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: ISC #include "jalv_internal.h" +#include "state.h" #include "lilv/lilv.h" #include "suil/suil.h" diff --git a/src/state.c b/src/state.c index b7d8ea3..2be7de5 100644 --- a/src/state.c +++ b/src/state.c @@ -1,6 +1,8 @@ // Copyright 2007-2016 David Robillard // SPDX-License-Identifier: ISC +#include "state.h" + #include "jalv_internal.h" #include "log.h" diff --git a/src/state.h b/src/state.h new file mode 100644 index 0000000..72c11da --- /dev/null +++ b/src/state.h @@ -0,0 +1,67 @@ +// Copyright 2007-2022 David Robillard +// SPDX-License-Identifier: ISC + +#ifndef JALV_STATE_H +#define JALV_STATE_H + +#include "jalv_internal.h" + +#include "lilv/lilv.h" +#include "lv2/atom/atom.h" +#include "lv2/state/state.h" +#include "lv2/urid/urid.h" +#include "serd/serd.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// State and preset utilities + +typedef int (*PresetSink)(Jalv* jalv, + const LilvNode* node, + const LilvNode* title, + void* data); + +int +jalv_load_presets(Jalv* jalv, PresetSink sink, void* data); + +int +jalv_unload_presets(Jalv* jalv); + +int +jalv_apply_preset(Jalv* jalv, const LilvNode* preset); + +int +jalv_delete_current_preset(Jalv* jalv); + +int +jalv_save_preset(Jalv* jalv, + const char* dir, + const char* uri, + const char* label, + const char* filename); + +void +jalv_save(Jalv* jalv, const char* dir); + +void +jalv_save_port_values(Jalv* jalv, SerdWriter* writer, const SerdNode* subject); + +char* +jalv_make_path(LV2_State_Make_Path_Handle handle, const char* path); + +void +jalv_apply_state(Jalv* jalv, LilvState* state); + +char* +atom_to_turtle(LV2_URID_Unmap* unmap, + const SerdNode* subject, + const SerdNode* predicate, + const LV2_Atom* atom); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // JALV_STATE_H -- cgit v1.2.1