Skip to content

Commit 785f210

Browse files
committed
Store new preferences in settings file
Store 'Show layer boxes' and 'Save options' in the file Moved some variable definitions to before the settings are loaded Some small formatting fixes
1 parent 547cf28 commit 785f210

File tree

4 files changed

+36
-32
lines changed

4 files changed

+36
-32
lines changed

scripts/control_create/control_create.gml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -324,20 +324,6 @@ dat_visualizer = 0
324324
//MP3
325325
mp3_includelocked = 0
326326

327-
// Settings
328-
load_settings()
329-
change_theme()
330-
if (show_welcome) window = w_greeting
331-
if (check_update)
332-
update_http = http_get("https://api.github.com/repos/HielkeMinecraft/OpenNoteBlockStudio/releases/latest")
333-
else
334-
update_http = -1
335-
if (file_exists_lib(data_directory + "settings.onbs") && vers != version) {
336-
window = w_update
337-
update = 3
338-
}
339-
log("Startup OK")
340-
341327
// Macros
342328
stereo_reverse = 0
343329
tremolotype = 0
@@ -355,6 +341,20 @@ setpan = 0
355341
// Saving
356342
save_version = nbs_version
357343

344+
// Settings
345+
load_settings()
346+
change_theme()
347+
if (show_welcome) window = w_greeting
348+
if (check_update)
349+
update_http = http_get("https://api.github.com/repos/HielkeMinecraft/OpenNoteBlockStudio/releases/latest")
350+
else
351+
update_http = -1
352+
if (file_exists_lib(data_directory + "settings.onbs") && vers != version) {
353+
window = w_update
354+
update = 3
355+
}
356+
log("Startup OK")
357+
358358
// Open song
359359
if (parameter_count() > 0) {
360360
filename = parameter_string(1)

scripts/load_settings/load_settings.gml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ theme = ini_read_real( "preferences", "theme", theme)
1717
refreshrate = ini_read_real( "preferences", "refresh_rate", refreshrate)
1818
songfolder = ini_read_string("preferences", "song_folder", songfolder)
1919
patternfolder = ini_read_string("preferences", "pattern_folder", patternfolder)
20+
draw_type = ini_read_real( "preferences", "draw_type", draw_type)
2021
show_numbers = ini_read_real( "preferences", "show_numbers", show_numbers)
2122
show_octaves = ini_read_real( "preferences", "show_octaves", show_octaves)
2223
fade = ini_read_real( "preferences", "use_fading", fade)
23-
draw_type = ini_read_real( "preferences", "draw_type", draw_type)
24+
show_layers = ini_read_real( "preferences", "show_layers", show_layers)
2425
show_piano = ini_read_real( "preferences", "show_piano", show_piano)
2526
keysmax = ini_read_real( "preferences", "keys_to_show", keysmax)
2627
show_keynames = ini_read_real( "preferences", "show_keynames", show_keynames)
@@ -36,6 +37,7 @@ marker_end = ini_read_real( "preferences", "marker_end", marker
3637
realvolume = ini_read_real( "preferences", "show_layer_volumes", realvolume)
3738
realstereo = ini_read_real( "preferences", "use_stereo", realstereo)
3839
looptobarend = ini_read_real( "preferences", "loop_to_bar_end", looptobarend)
40+
save_version = ini_read_real( "preferences", "save_version", save_version)
3941

4042
// Midi import settings
4143
w_midi_remember = ini_read_real( "midi_import", "remember", w_midi_remember)

scripts/load_song/load_song.gml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,28 @@ if (file_ext = ".schematic") {
1717
open_schematic(fn)
1818
return 1
1919
}
20-
if (file_ext != ".nbs") {message("Error: This file cannot be opened in this program.", "Error") return 0}
20+
if (file_ext != ".nbs") { message("Error: This file cannot be opened in this program.", "Error") return 0 }
2121
if (file_ext = ".nbs") {
2222
buffer = buffer_import(fn)
2323

2424
byte1 = buffer_read_byte()
2525
byte2 = buffer_read_byte()
2626

27-
if(byte1 = 0 && byte2 = 0){
27+
if (byte1 = 0 && byte2 = 0) {
2828
song_nbs_version = buffer_read_byte()
2929
if song_nbs_version < nbs_version message("Warning: You are opening an older NBS file. Saving this file will make it incompatible with older Note Block Studio versions.","Warning")
3030
if song_nbs_version > nbs_version {
31-
message("Warning: You are opening an NBS file created in a later version of Note Block Studio.\nPlease save the song as a V4 file or lower via the Save Options menu.","Error")
31+
message("Warning: You are opening an NBS file created in a later version of Note Block Studio.\nPlease save the song as a version " + string(nbs_version) + " file or lower via the Save Options menu.","Error")
3232
return -1
3333
}
3434
song_first_custom_index = buffer_read_byte()
3535
custom_index_diff = first_custom_index - song_first_custom_index
3636

37-
//From nbt version 3, we save the song length again
38-
if(song_nbs_version >= 3){
37+
//From nbs version 3, we save the song length again
38+
if(song_nbs_version >= 3) {
3939
buffer_read_short()
4040
}
41-
}else{
41+
} else {
4242
message("Warning: You are opening an older NBS file. Saving this file will make it incompatible with older Note Block Studio versions.","Warning")
4343
song_nbs_version = 0
4444
custom_index_diff = 0
@@ -84,14 +84,14 @@ if (file_ext = ".nbs") {
8484
if (filename_ext(a) = ".mid" || filename_ext(a) = ".midi") song_midi = a
8585
else song_midi = ""
8686
// LOOP
87-
if(song_nbs_version >= 4){
88-
loop = buffer_read_byte()
89-
if string_count("format4beta", filename_name(fn)) = 1 {
90-
loopstart = buffer_read_byte()
91-
loopmax = 0
92-
} else {
93-
loopmax = buffer_read_byte()
94-
loopstart = buffer_read_short()
87+
if (song_nbs_version >= 4) {
88+
loop = buffer_read_byte()
89+
if (string_count("format4beta", filename_name(fn)) = 1) {
90+
loopstart = buffer_read_byte()
91+
loopmax = 0
92+
} else {
93+
loopmax = buffer_read_byte()
94+
loopstart = buffer_read_short()
9595
}
9696
}
9797
// Note blocks
@@ -106,7 +106,7 @@ if (file_ext = ".nbs") {
106106
if (a = 0) break
107107
cb += a
108108
var ins = buffer_read_byte();
109-
if(ins >= song_first_custom_index)ins += custom_index_diff //If instrument is custom, add custom_index_diff so it works when adding future instruments
109+
if(ins >= song_first_custom_index) ins += custom_index_diff //If instrument is custom, add custom_index_diff so it works when adding future instruments
110110
var key = buffer_read_byte();
111111
if song_nbs_version>=4 {
112112
var vel = buffer_read_byte();

scripts/save_settings/save_settings.gml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// save_settings()
2-
var a, b;
2+
var a;
33

44
ini_open(data_directory + "settings.ini")
55

@@ -16,10 +16,11 @@ ini_write_real_clean("preferences", "theme", theme)
1616
ini_write_real_clean("preferences", "refresh_rate", refreshrate)
1717
ini_write_string( "preferences", "song_folder", songfolder)
1818
ini_write_string( "preferences", "pattern_folder", patternfolder)
19+
ini_write_real_clean("preferences", "draw_type", draw_type)
1920
ini_write_real_clean("preferences", "show_numbers", show_numbers)
2021
ini_write_real_clean("preferences", "show_octaves", show_octaves)
2122
ini_write_real_clean("preferences", "use_fading", fade)
22-
ini_write_real_clean("preferences", "draw_type", draw_type)
23+
ini_write_real_clean("preferences", "show_layers", show_layers)
2324
ini_write_real_clean("preferences", "show_piano", show_piano)
2425
ini_write_real_clean("preferences", "keys_to_show", keysmax)
2526
ini_write_real_clean("preferences", "show_keynames", show_keynames)
@@ -35,6 +36,7 @@ ini_write_real_clean("preferences", "marker_end", marker_end)
3536
ini_write_real_clean("preferences", "show_layer_volumes", realvolume)
3637
ini_write_real_clean("preferences", "use_stereo", realstereo)
3738
ini_write_real_clean("preferences", "loop_to_bar_end", looptobarend)
39+
ini_write_real_clean("preferences", "save_version", save_version)
3840

3941
// Midi import settings
4042
ini_write_real_clean("midi_import", "remember", w_midi_remember)

0 commit comments

Comments
 (0)