aboutsummaryrefslogtreecommitdiff
path: root/sonics/sequencing_melodic_persistence.udo
blob: cd1943d73327cd2e82fd82cd6ed38438e1807eb6 (plain)
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
54
#ifndef UDO_MELSEQUENCINGPERSIST
#define UDO_MELSEQUENCINGPERSIST ##
/*
	Melodic sequencer persistence: saving/loading from files and database
	Slim excerpt for Partial Emergence

	This file is part of the SONICS UDO collection by Richard Knight 2021, 2022
		License: GPL-2.0-or-later
		http://1bpm.net
*/

#include "sonics/sequencing_melodic.udo"
#include "sonics/array_tools.udo"

/*
	Load state from file

	p4	path to load from
*/
instr mel_loadstate_fs
	Spath = p4
	isize = -1
	iline = 0
	
	ftload Spath, 1,\
		gimel_chords, gimel_notes, 
		gimel_lengths, gimel_action1,\ 
		gimel_action2, gimel_actionthreshold,\
		gimel_active, gimel_importance,\
		gimel_mod1, gimel_mod2,\
		gimel_mod3, gimel_mod4,\
		gimel_state
	
	gkmel_futures_refresh_trig = 1
	turnoff
endin



; if MEL_INITPATH is set, load the specified progression data accordingly
#ifdef MEL_HASINIT
instr _mel_persistence_init
#ifdef MEL_INITPATH
	subinstrinit "mel_loadstate_fs", "$MEL_INITPATH"
#end
	alwayson "_mel_manager"
	turnoff
endin
schedule "_mel_persistence_init", 0, 60

; end MEL_HASINIT
#end 

#end