diff --git a/low/Cargo.toml b/low/Cargo.toml index fe4edb7..a70b560 100644 --- a/low/Cargo.toml +++ b/low/Cargo.toml @@ -6,8 +6,8 @@ description = "Bindings for the REAPER C++ API - low-level API" edition = "2021" include = [ "/lib/reaper/reaper_plugin.h", - "/lib/WDL/WDL/swell/*.h", - "/lib/WDL/WDL", + "/lib/WDL/swell/*.h", + "/lib/WDL", "/src", "/tests", "/build.rs", @@ -50,7 +50,7 @@ libc = "0.2" version-sync = "0.9.2" [build-dependencies] -bindgen = {version = "0.52.0", optional = true} +bindgen = {version = "0.69", optional = true} cc = "1.0.65" phf = {version = "0.8", features = ["macros"], optional = true} proc-macro2 = {version = "1.0.8", optional = true} diff --git a/low/build.rs b/low/build.rs index 6000fbe..09facf5 100644 --- a/low/build.rs +++ b/low/build.rs @@ -70,7 +70,7 @@ fn compile_glue_code() { .file("src/resample.cpp") .file("src/pitch_shift.cpp") .file("src/project_state_context.cpp") - .file("lib/WDL/WDL/projectcontext.cpp"); + .file("lib/WDL/projectcontext.cpp"); if cfg!(target_os = "macos") { build.cpp_set_stdlib("c++"); } @@ -151,62 +151,63 @@ mod codegen { "root", include_str!("src/manual_bindings.rs"), ) - .whitelist_var("reaper_functions::.*") - .whitelist_var("swell_functions::.*") - .whitelist_var("SWELL_.*") - .whitelist_var("CSURF_EXT_.*") - .whitelist_var("PCM_SINK_EXT_.*") - .whitelist_var("PCM_SOURCE_EXT_.*") - .whitelist_var("RESAMPLE_EXT_.*") - .whitelist_var("REAPER_PLUGIN_VERSION") - .whitelist_var("REAPER_PITCHSHIFT_API_VER") - .whitelist_var("UNDO_STATE_.*") - .whitelist_var("VK_.*") - .whitelist_var("BM_.*") - .whitelist_var("BST_.*") - .whitelist_var("SW_.*") - .whitelist_var("SM_.*") - .whitelist_var("SWP_.*") - .whitelist_var("CB_.*") - .whitelist_var("MB_.*") - .whitelist_var("CBN_.*") - .whitelist_var("WM_.*") - .whitelist_var("SIF_.*") - .whitelist_var("SB_.*") - .whitelist_var("EN_.*") - .whitelist_var("MIIM_.*") - .whitelist_var("MF_.*") - .whitelist_var("TB_.*") - .whitelist_var("TBM_.*") - .whitelist_var("TPM_.*") - .whitelist_var("CF_.*") - .whitelist_var("DT_.*") - .whitelist_var("GMEM_.*") - .whitelist_var("COLOR_.*") - .whitelist_var("SRCCOPY") - .whitelist_var("SRCCOPY_USEALPHACHAN") - .whitelist_var("ID.*") - .whitelist_var("DLL_PROCESS_ATTACH") - .whitelist_var("DLL_PROCESS_DETACH") - .whitelist_var("TRANSPARENT") - .whitelist_var("OPAQUE") - .whitelist_type("HINSTANCE") - .whitelist_type("reaper_plugin_info_t") - .whitelist_type(".*register_t") - .whitelist_type("midi_realtime_write_struct_t") - .whitelist_type("midi_quantize_mode_t") - .whitelist_type("KbdSectionInfo") - .whitelist_type("GUID") - .whitelist_type("LPSTR") - .whitelist_type("SCROLLINFO") - .whitelist_function("reaper_control_surface::.*") - .whitelist_function("reaper_midi::.*") - .whitelist_function("reaper_pcm_source::.*") - .whitelist_function("reaper_pcm_sink::.*") - .whitelist_function("reaper_resample::.*") - .whitelist_function("reaper_pitch_shift::.*") - .whitelist_function("reaper_project_state_context::.*") - .blacklist_type("preview_register_t"); + .allowlist_var("reaper_functions::.*") + .allowlist_var("swell_functions::.*") + .allowlist_var("SWELL_.*") + .allowlist_var("CSURF_EXT_.*") + .allowlist_var("PCM_SINK_EXT_.*") + .allowlist_var("PCM_SOURCE_EXT_.*") + .allowlist_var("RESAMPLE_EXT_.*") + .allowlist_var("REAPER_PLUGIN_VERSION") + .allowlist_var("REAPER_PITCHSHIFT_API_VER") + .allowlist_var("UNDO_STATE_.*") + .allowlist_var("VK_.*") + .allowlist_var("BM_.*") + .allowlist_var("BST_.*") + .allowlist_var("SW_.*") + .allowlist_var("SM_.*") + .allowlist_var("SWP_.*") + .allowlist_var("CB_.*") + .allowlist_var("MB_.*") + .allowlist_var("CBN_.*") + .allowlist_var("WM_.*") + .allowlist_var("SIF_.*") + .allowlist_var("SB_.*") + .allowlist_var("EN_.*") + .allowlist_var("MIIM_.*") + .allowlist_var("MF_.*") + .allowlist_var("TB_.*") + .allowlist_var("TBM_.*") + .allowlist_var("TPM_.*") + .allowlist_var("CF_.*") + .allowlist_var("DT_.*") + .allowlist_var("GMEM_.*") + .allowlist_var("COLOR_.*") + .allowlist_var("SRCCOPY") + .allowlist_var("SRCCOPY_USEALPHACHAN") + .allowlist_var("ID.*") + .allowlist_var("DLL_PROCESS_ATTACH") + .allowlist_var("DLL_PROCESS_DETACH") + .allowlist_var("TRANSPARENT") + .allowlist_var("OPAQUE") + .allowlist_type("HINSTANCE") + .allowlist_type("reaper_plugin_info_t") + .allowlist_type(".*register_t") + .allowlist_type("midi_realtime_write_struct_t") + .allowlist_type("midi_quantize_mode_t") + .allowlist_type("KbdSectionInfo") + .allowlist_type("GUID") + .allowlist_type("LPSTR") + .allowlist_type("SCROLLINFO") + .allowlist_type("project_config_extension_t") + .allowlist_function("reaper_control_surface::.*") + .allowlist_function("reaper_midi::.*") + .allowlist_function("reaper_pcm_source::.*") + .allowlist_function("reaper_pcm_sink::.*") + .allowlist_function("reaper_resample::.*") + .allowlist_function("reaper_pitch_shift::.*") + .allowlist_function("reaper_project_state_context::.*") + .blocklist_type("preview_register_t"); #[cfg(target_os = "macos")] let builder = builder.clang_arg("-stdlib=libc++"); let bindings = @@ -401,7 +402,8 @@ mod codegen { let result = { let fn_ptrs = parse_fn_ptrs(file, "reaper_functions"); let result = generate_reaper_token_stream(&fn_ptrs); - let syntax_tree = syn::parse_file(result.to_string().as_str()).unwrap(); + let syntax_tree = + syn::parse_file(result.to_string().as_str()).unwrap(); prettyplease::unparse(&syntax_tree) }; std::fs::write("src/reaper.rs", result.to_string()) diff --git a/low/lib/WDL/WDL/.gitattributes b/low/lib/WDL/.gitattributes similarity index 100% rename from low/lib/WDL/WDL/.gitattributes rename to low/lib/WDL/.gitattributes diff --git a/low/lib/WDL/WDL/MersenneTwister.h b/low/lib/WDL/MersenneTwister.h similarity index 100% rename from low/lib/WDL/WDL/MersenneTwister.h rename to low/lib/WDL/MersenneTwister.h diff --git a/low/lib/WDL/WDL/adpcm_decode.h b/low/lib/WDL/adpcm_decode.h similarity index 100% rename from low/lib/WDL/WDL/adpcm_decode.h rename to low/lib/WDL/adpcm_decode.h diff --git a/low/lib/WDL/WDL/adpcm_encode.h b/low/lib/WDL/adpcm_encode.h similarity index 100% rename from low/lib/WDL/WDL/adpcm_encode.h rename to low/lib/WDL/adpcm_encode.h diff --git a/low/lib/WDL/WDL/assocarray.h b/low/lib/WDL/assocarray.h similarity index 100% rename from low/lib/WDL/WDL/assocarray.h rename to low/lib/WDL/assocarray.h diff --git a/low/lib/WDL/WDL/audiobuffercontainer.cpp b/low/lib/WDL/audiobuffercontainer.cpp similarity index 100% rename from low/lib/WDL/WDL/audiobuffercontainer.cpp rename to low/lib/WDL/audiobuffercontainer.cpp diff --git a/low/lib/WDL/WDL/audiobuffercontainer.h b/low/lib/WDL/audiobuffercontainer.h similarity index 100% rename from low/lib/WDL/WDL/audiobuffercontainer.h rename to low/lib/WDL/audiobuffercontainer.h diff --git a/low/lib/WDL/WDL/bitfield.h b/low/lib/WDL/bitfield.h similarity index 100% rename from low/lib/WDL/WDL/bitfield.h rename to low/lib/WDL/bitfield.h diff --git a/low/lib/WDL/WDL/chunkalloc.h b/low/lib/WDL/chunkalloc.h similarity index 100% rename from low/lib/WDL/WDL/chunkalloc.h rename to low/lib/WDL/chunkalloc.h diff --git a/low/lib/WDL/WDL/circbuf.h b/low/lib/WDL/circbuf.h similarity index 100% rename from low/lib/WDL/WDL/circbuf.h rename to low/lib/WDL/circbuf.h diff --git a/low/lib/WDL/WDL/cmath/bessel_polynomial.h b/low/lib/WDL/cmath/bessel_polynomial.h similarity index 100% rename from low/lib/WDL/WDL/cmath/bessel_polynomial.h rename to low/lib/WDL/cmath/bessel_polynomial.h diff --git a/low/lib/WDL/WDL/cmath/complex_number.h b/low/lib/WDL/cmath/complex_number.h similarity index 100% rename from low/lib/WDL/WDL/cmath/complex_number.h rename to low/lib/WDL/cmath/complex_number.h diff --git a/low/lib/WDL/WDL/cmath/custom_math.h b/low/lib/WDL/cmath/custom_math.h similarity index 100% rename from low/lib/WDL/WDL/cmath/custom_math.h rename to low/lib/WDL/cmath/custom_math.h diff --git a/low/lib/WDL/WDL/cmath/durand_kerner.h b/low/lib/WDL/cmath/durand_kerner.h similarity index 100% rename from low/lib/WDL/WDL/cmath/durand_kerner.h rename to low/lib/WDL/cmath/durand_kerner.h diff --git a/low/lib/WDL/WDL/cmath/factorial.h b/low/lib/WDL/cmath/factorial.h similarity index 100% rename from low/lib/WDL/WDL/cmath/factorial.h rename to low/lib/WDL/cmath/factorial.h diff --git a/low/lib/WDL/WDL/cmath/horner.h b/low/lib/WDL/cmath/horner.h similarity index 100% rename from low/lib/WDL/WDL/cmath/horner.h rename to low/lib/WDL/cmath/horner.h diff --git a/low/lib/WDL/WDL/cmath/test_bessel.c b/low/lib/WDL/cmath/test_bessel.c similarity index 100% rename from low/lib/WDL/WDL/cmath/test_bessel.c rename to low/lib/WDL/cmath/test_bessel.c diff --git a/low/lib/WDL/WDL/cmath/test_eval.c b/low/lib/WDL/cmath/test_eval.c similarity index 100% rename from low/lib/WDL/WDL/cmath/test_eval.c rename to low/lib/WDL/cmath/test_eval.c diff --git a/low/lib/WDL/WDL/convoengine.cpp b/low/lib/WDL/convoengine.cpp similarity index 100% rename from low/lib/WDL/WDL/convoengine.cpp rename to low/lib/WDL/convoengine.cpp diff --git a/low/lib/WDL/WDL/convoengine.h b/low/lib/WDL/convoengine.h similarity index 100% rename from low/lib/WDL/WDL/convoengine.h rename to low/lib/WDL/convoengine.h diff --git a/low/lib/WDL/WDL/coreaudio_channel_formats.h b/low/lib/WDL/coreaudio_channel_formats.h similarity index 100% rename from low/lib/WDL/WDL/coreaudio_channel_formats.h rename to low/lib/WDL/coreaudio_channel_formats.h diff --git a/low/lib/WDL/WDL/db2val.h b/low/lib/WDL/db2val.h similarity index 100% rename from low/lib/WDL/WDL/db2val.h rename to low/lib/WDL/db2val.h diff --git a/low/lib/WDL/WDL/delay_line.h b/low/lib/WDL/delay_line.h similarity index 100% rename from low/lib/WDL/WDL/delay_line.h rename to low/lib/WDL/delay_line.h diff --git a/low/lib/WDL/WDL/denormal.h b/low/lib/WDL/denormal.h similarity index 100% rename from low/lib/WDL/WDL/denormal.h rename to low/lib/WDL/denormal.h diff --git a/low/lib/WDL/WDL/destroycheck.h b/low/lib/WDL/destroycheck.h similarity index 100% rename from low/lib/WDL/WDL/destroycheck.h rename to low/lib/WDL/destroycheck.h diff --git a/low/lib/WDL/WDL/diffcalc.h b/low/lib/WDL/diffcalc.h similarity index 100% rename from low/lib/WDL/WDL/diffcalc.h rename to low/lib/WDL/diffcalc.h diff --git a/low/lib/WDL/WDL/dirscan.h b/low/lib/WDL/dirscan.h similarity index 100% rename from low/lib/WDL/WDL/dirscan.h rename to low/lib/WDL/dirscan.h diff --git a/low/lib/WDL/WDL/eel2/.gitignore b/low/lib/WDL/eel2/.gitignore similarity index 100% rename from low/lib/WDL/WDL/eel2/.gitignore rename to low/lib/WDL/eel2/.gitignore diff --git a/low/lib/WDL/WDL/eel2/Makefile b/low/lib/WDL/eel2/Makefile similarity index 100% rename from low/lib/WDL/WDL/eel2/Makefile rename to low/lib/WDL/eel2/Makefile diff --git a/low/lib/WDL/WDL/eel2/a2i.php b/low/lib/WDL/eel2/a2i.php similarity index 100% rename from low/lib/WDL/WDL/eel2/a2i.php rename to low/lib/WDL/eel2/a2i.php diff --git a/low/lib/WDL/WDL/eel2/asm-nseel-aarch64-gcc.c b/low/lib/WDL/eel2/asm-nseel-aarch64-gcc.c similarity index 100% rename from low/lib/WDL/WDL/eel2/asm-nseel-aarch64-gcc.c rename to low/lib/WDL/eel2/asm-nseel-aarch64-gcc.c diff --git a/low/lib/WDL/WDL/eel2/asm-nseel-arm-gcc.c b/low/lib/WDL/eel2/asm-nseel-arm-gcc.c similarity index 100% rename from low/lib/WDL/WDL/eel2/asm-nseel-arm-gcc.c rename to low/lib/WDL/eel2/asm-nseel-arm-gcc.c diff --git a/low/lib/WDL/WDL/eel2/asm-nseel-multi-macho.o b/low/lib/WDL/eel2/asm-nseel-multi-macho.o similarity index 100% rename from low/lib/WDL/WDL/eel2/asm-nseel-multi-macho.o rename to low/lib/WDL/eel2/asm-nseel-multi-macho.o diff --git a/low/lib/WDL/WDL/eel2/asm-nseel-ppc-gcc.c b/low/lib/WDL/eel2/asm-nseel-ppc-gcc.c similarity index 100% rename from low/lib/WDL/WDL/eel2/asm-nseel-ppc-gcc.c rename to low/lib/WDL/eel2/asm-nseel-ppc-gcc.c diff --git a/low/lib/WDL/WDL/eel2/asm-nseel-x64-macho.o b/low/lib/WDL/eel2/asm-nseel-x64-macho.o similarity index 100% rename from low/lib/WDL/WDL/eel2/asm-nseel-x64-macho.o rename to low/lib/WDL/eel2/asm-nseel-x64-macho.o diff --git a/low/lib/WDL/WDL/eel2/asm-nseel-x64-sse.asm b/low/lib/WDL/eel2/asm-nseel-x64-sse.asm similarity index 100% rename from low/lib/WDL/WDL/eel2/asm-nseel-x64-sse.asm rename to low/lib/WDL/eel2/asm-nseel-x64-sse.asm diff --git a/low/lib/WDL/WDL/eel2/asm-nseel-x64.obj b/low/lib/WDL/eel2/asm-nseel-x64.obj similarity index 100% rename from low/lib/WDL/WDL/eel2/asm-nseel-x64.obj rename to low/lib/WDL/eel2/asm-nseel-x64.obj diff --git a/low/lib/WDL/WDL/eel2/asm-nseel-x86-gcc.c b/low/lib/WDL/eel2/asm-nseel-x86-gcc.c similarity index 100% rename from low/lib/WDL/WDL/eel2/asm-nseel-x86-gcc.c rename to low/lib/WDL/eel2/asm-nseel-x86-gcc.c diff --git a/low/lib/WDL/WDL/eel2/asm-nseel-x86-msvc.c b/low/lib/WDL/eel2/asm-nseel-x86-msvc.c similarity index 100% rename from low/lib/WDL/WDL/eel2/asm-nseel-x86-msvc.c rename to low/lib/WDL/eel2/asm-nseel-x86-msvc.c diff --git a/low/lib/WDL/WDL/eel2/eel2.l b/low/lib/WDL/eel2/eel2.l similarity index 100% rename from low/lib/WDL/WDL/eel2/eel2.l rename to low/lib/WDL/eel2/eel2.l diff --git a/low/lib/WDL/WDL/eel2/eel2.vim b/low/lib/WDL/eel2/eel2.vim similarity index 100% rename from low/lib/WDL/WDL/eel2/eel2.vim rename to low/lib/WDL/eel2/eel2.vim diff --git a/low/lib/WDL/WDL/eel2/eel2.y b/low/lib/WDL/eel2/eel2.y similarity index 100% rename from low/lib/WDL/WDL/eel2/eel2.y rename to low/lib/WDL/eel2/eel2.y diff --git a/low/lib/WDL/WDL/eel2/eel_atomic.h b/low/lib/WDL/eel2/eel_atomic.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_atomic.h rename to low/lib/WDL/eel2/eel_atomic.h diff --git a/low/lib/WDL/WDL/eel2/eel_eval.h b/low/lib/WDL/eel2/eel_eval.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_eval.h rename to low/lib/WDL/eel2/eel_eval.h diff --git a/low/lib/WDL/WDL/eel2/eel_fft.h b/low/lib/WDL/eel2/eel_fft.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_fft.h rename to low/lib/WDL/eel2/eel_fft.h diff --git a/low/lib/WDL/WDL/eel2/eel_files.h b/low/lib/WDL/eel2/eel_files.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_files.h rename to low/lib/WDL/eel2/eel_files.h diff --git a/low/lib/WDL/WDL/eel2/eel_import.h b/low/lib/WDL/eel2/eel_import.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_import.h rename to low/lib/WDL/eel2/eel_import.h diff --git a/low/lib/WDL/WDL/eel2/eel_lice.h b/low/lib/WDL/eel2/eel_lice.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_lice.h rename to low/lib/WDL/eel2/eel_lice.h diff --git a/low/lib/WDL/WDL/eel2/eel_mdct.h b/low/lib/WDL/eel2/eel_mdct.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_mdct.h rename to low/lib/WDL/eel2/eel_mdct.h diff --git a/low/lib/WDL/WDL/eel2/eel_misc.h b/low/lib/WDL/eel2/eel_misc.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_misc.h rename to low/lib/WDL/eel2/eel_misc.h diff --git a/low/lib/WDL/WDL/eel2/eel_net.h b/low/lib/WDL/eel2/eel_net.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_net.h rename to low/lib/WDL/eel2/eel_net.h diff --git a/low/lib/WDL/WDL/eel2/eel_strings.h b/low/lib/WDL/eel2/eel_strings.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eel_strings.h rename to low/lib/WDL/eel2/eel_strings.h diff --git a/low/lib/WDL/WDL/eel2/eelscript.h b/low/lib/WDL/eel2/eelscript.h similarity index 100% rename from low/lib/WDL/WDL/eel2/eelscript.h rename to low/lib/WDL/eel2/eelscript.h diff --git a/low/lib/WDL/WDL/eel2/glue_aarch64.h b/low/lib/WDL/eel2/glue_aarch64.h similarity index 100% rename from low/lib/WDL/WDL/eel2/glue_aarch64.h rename to low/lib/WDL/eel2/glue_aarch64.h diff --git a/low/lib/WDL/WDL/eel2/glue_arm.h b/low/lib/WDL/eel2/glue_arm.h similarity index 100% rename from low/lib/WDL/WDL/eel2/glue_arm.h rename to low/lib/WDL/eel2/glue_arm.h diff --git a/low/lib/WDL/WDL/eel2/glue_port.h b/low/lib/WDL/eel2/glue_port.h similarity index 100% rename from low/lib/WDL/WDL/eel2/glue_port.h rename to low/lib/WDL/eel2/glue_port.h diff --git a/low/lib/WDL/WDL/eel2/glue_ppc.h b/low/lib/WDL/eel2/glue_ppc.h similarity index 100% rename from low/lib/WDL/WDL/eel2/glue_ppc.h rename to low/lib/WDL/eel2/glue_ppc.h diff --git a/low/lib/WDL/WDL/eel2/glue_x86.h b/low/lib/WDL/eel2/glue_x86.h similarity index 100% rename from low/lib/WDL/WDL/eel2/glue_x86.h rename to low/lib/WDL/eel2/glue_x86.h diff --git a/low/lib/WDL/WDL/eel2/glue_x86_64_sse.h b/low/lib/WDL/eel2/glue_x86_64_sse.h similarity index 100% rename from low/lib/WDL/WDL/eel2/glue_x86_64_sse.h rename to low/lib/WDL/eel2/glue_x86_64_sse.h diff --git a/low/lib/WDL/WDL/eel2/loose_eel.cpp b/low/lib/WDL/eel2/loose_eel.cpp similarity index 100% rename from low/lib/WDL/WDL/eel2/loose_eel.cpp rename to low/lib/WDL/eel2/loose_eel.cpp diff --git a/low/lib/WDL/WDL/eel2/loose_eel.dsp b/low/lib/WDL/eel2/loose_eel.dsp similarity index 100% rename from low/lib/WDL/WDL/eel2/loose_eel.dsp rename to low/lib/WDL/eel2/loose_eel.dsp diff --git a/low/lib/WDL/WDL/eel2/loose_eel.dsw b/low/lib/WDL/eel2/loose_eel.dsw similarity index 100% rename from low/lib/WDL/WDL/eel2/loose_eel.dsw rename to low/lib/WDL/eel2/loose_eel.dsw diff --git a/low/lib/WDL/WDL/eel2/loose_eel.sln b/low/lib/WDL/eel2/loose_eel.sln similarity index 100% rename from low/lib/WDL/WDL/eel2/loose_eel.sln rename to low/lib/WDL/eel2/loose_eel.sln diff --git a/low/lib/WDL/WDL/eel2/loose_eel.vcxproj b/low/lib/WDL/eel2/loose_eel.vcxproj similarity index 100% rename from low/lib/WDL/WDL/eel2/loose_eel.vcxproj rename to low/lib/WDL/eel2/loose_eel.vcxproj diff --git a/low/lib/WDL/WDL/eel2/loose_eel.vcxproj.filters b/low/lib/WDL/eel2/loose_eel.vcxproj.filters similarity index 100% rename from low/lib/WDL/WDL/eel2/loose_eel.vcxproj.filters rename to low/lib/WDL/eel2/loose_eel.vcxproj.filters diff --git a/low/lib/WDL/WDL/eel2/makefile.vc b/low/lib/WDL/eel2/makefile.vc similarity index 100% rename from low/lib/WDL/WDL/eel2/makefile.vc rename to low/lib/WDL/eel2/makefile.vc diff --git a/low/lib/WDL/WDL/eel2/ns-eel-addfuncs.h b/low/lib/WDL/eel2/ns-eel-addfuncs.h similarity index 100% rename from low/lib/WDL/WDL/eel2/ns-eel-addfuncs.h rename to low/lib/WDL/eel2/ns-eel-addfuncs.h diff --git a/low/lib/WDL/WDL/eel2/ns-eel-func-ref.h b/low/lib/WDL/eel2/ns-eel-func-ref.h similarity index 100% rename from low/lib/WDL/WDL/eel2/ns-eel-func-ref.h rename to low/lib/WDL/eel2/ns-eel-func-ref.h diff --git a/low/lib/WDL/WDL/eel2/ns-eel-int.h b/low/lib/WDL/eel2/ns-eel-int.h similarity index 100% rename from low/lib/WDL/WDL/eel2/ns-eel-int.h rename to low/lib/WDL/eel2/ns-eel-int.h diff --git a/low/lib/WDL/WDL/eel2/ns-eel.h b/low/lib/WDL/eel2/ns-eel.h similarity index 100% rename from low/lib/WDL/WDL/eel2/ns-eel.h rename to low/lib/WDL/eel2/ns-eel.h diff --git a/low/lib/WDL/WDL/eel2/nseel-caltab.c b/low/lib/WDL/eel2/nseel-caltab.c similarity index 100% rename from low/lib/WDL/WDL/eel2/nseel-caltab.c rename to low/lib/WDL/eel2/nseel-caltab.c diff --git a/low/lib/WDL/WDL/eel2/nseel-cfunc.c b/low/lib/WDL/eel2/nseel-cfunc.c similarity index 100% rename from low/lib/WDL/WDL/eel2/nseel-cfunc.c rename to low/lib/WDL/eel2/nseel-cfunc.c diff --git a/low/lib/WDL/WDL/eel2/nseel-compiler.c b/low/lib/WDL/eel2/nseel-compiler.c similarity index 100% rename from low/lib/WDL/WDL/eel2/nseel-compiler.c rename to low/lib/WDL/eel2/nseel-compiler.c diff --git a/low/lib/WDL/WDL/eel2/nseel-eval.c b/low/lib/WDL/eel2/nseel-eval.c similarity index 100% rename from low/lib/WDL/WDL/eel2/nseel-eval.c rename to low/lib/WDL/eel2/nseel-eval.c diff --git a/low/lib/WDL/WDL/eel2/nseel-lextab.c b/low/lib/WDL/eel2/nseel-lextab.c similarity index 100% rename from low/lib/WDL/WDL/eel2/nseel-lextab.c rename to low/lib/WDL/eel2/nseel-lextab.c diff --git a/low/lib/WDL/WDL/eel2/nseel-ram.c b/low/lib/WDL/eel2/nseel-ram.c similarity index 100% rename from low/lib/WDL/WDL/eel2/nseel-ram.c rename to low/lib/WDL/eel2/nseel-ram.c diff --git a/low/lib/WDL/WDL/eel2/nseel-yylex.c b/low/lib/WDL/eel2/nseel-yylex.c similarity index 100% rename from low/lib/WDL/WDL/eel2/nseel-yylex.c rename to low/lib/WDL/eel2/nseel-yylex.c diff --git a/low/lib/WDL/WDL/eel2/regenerate-x64-objects.sh b/low/lib/WDL/eel2/regenerate-x64-objects.sh similarity index 100% rename from low/lib/WDL/WDL/eel2/regenerate-x64-objects.sh rename to low/lib/WDL/eel2/regenerate-x64-objects.sh diff --git a/low/lib/WDL/WDL/eel2/scripts/circle.eel b/low/lib/WDL/eel2/scripts/circle.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/circle.eel rename to low/lib/WDL/eel2/scripts/circle.eel diff --git a/low/lib/WDL/WDL/eel2/scripts/eval_test.eel b/low/lib/WDL/eel2/scripts/eval_test.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/eval_test.eel rename to low/lib/WDL/eel2/scripts/eval_test.eel diff --git a/low/lib/WDL/WDL/eel2/scripts/gfx_test.eel b/low/lib/WDL/eel2/scripts/gfx_test.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/gfx_test.eel rename to low/lib/WDL/eel2/scripts/gfx_test.eel diff --git a/low/lib/WDL/WDL/eel2/scripts/gfx_test_defer.eel b/low/lib/WDL/eel2/scripts/gfx_test_defer.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/gfx_test_defer.eel rename to low/lib/WDL/eel2/scripts/gfx_test_defer.eel diff --git a/low/lib/WDL/WDL/eel2/scripts/gpx_edit.eel b/low/lib/WDL/eel2/scripts/gpx_edit.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/gpx_edit.eel rename to low/lib/WDL/eel2/scripts/gpx_edit.eel diff --git a/low/lib/WDL/WDL/eel2/scripts/httpd.eel b/low/lib/WDL/eel2/scripts/httpd.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/httpd.eel rename to low/lib/WDL/eel2/scripts/httpd.eel diff --git a/low/lib/WDL/WDL/eel2/scripts/sinewave_text.eel b/low/lib/WDL/eel2/scripts/sinewave_text.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/sinewave_text.eel rename to low/lib/WDL/eel2/scripts/sinewave_text.eel diff --git a/low/lib/WDL/WDL/eel2/scripts/space.eel b/low/lib/WDL/eel2/scripts/space.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/space.eel rename to low/lib/WDL/eel2/scripts/space.eel diff --git a/low/lib/WDL/WDL/eel2/scripts/test_a.eel b/low/lib/WDL/eel2/scripts/test_a.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/test_a.eel rename to low/lib/WDL/eel2/scripts/test_a.eel diff --git a/low/lib/WDL/WDL/eel2/scripts/test_or64.eel b/low/lib/WDL/eel2/scripts/test_or64.eel similarity index 100% rename from low/lib/WDL/WDL/eel2/scripts/test_or64.eel rename to low/lib/WDL/eel2/scripts/test_or64.eel diff --git a/low/lib/WDL/WDL/eel2/y.tab.c b/low/lib/WDL/eel2/y.tab.c similarity index 100% rename from low/lib/WDL/WDL/eel2/y.tab.c rename to low/lib/WDL/eel2/y.tab.c diff --git a/low/lib/WDL/WDL/eel2/y.tab.h b/low/lib/WDL/eel2/y.tab.h similarity index 100% rename from low/lib/WDL/WDL/eel2/y.tab.h rename to low/lib/WDL/eel2/y.tab.h diff --git a/low/lib/WDL/WDL/fastqueue.h b/low/lib/WDL/fastqueue.h similarity index 100% rename from low/lib/WDL/WDL/fastqueue.h rename to low/lib/WDL/fastqueue.h diff --git a/low/lib/WDL/WDL/fft.c b/low/lib/WDL/fft.c similarity index 100% rename from low/lib/WDL/WDL/fft.c rename to low/lib/WDL/fft.c diff --git a/low/lib/WDL/WDL/fft.h b/low/lib/WDL/fft.h similarity index 100% rename from low/lib/WDL/WDL/fft.h rename to low/lib/WDL/fft.h diff --git a/low/lib/WDL/WDL/filebrowse.cpp b/low/lib/WDL/filebrowse.cpp similarity index 100% rename from low/lib/WDL/WDL/filebrowse.cpp rename to low/lib/WDL/filebrowse.cpp diff --git a/low/lib/WDL/WDL/filebrowse.h b/low/lib/WDL/filebrowse.h similarity index 100% rename from low/lib/WDL/WDL/filebrowse.h rename to low/lib/WDL/filebrowse.h diff --git a/low/lib/WDL/WDL/filename.h b/low/lib/WDL/filename.h similarity index 100% rename from low/lib/WDL/WDL/filename.h rename to low/lib/WDL/filename.h diff --git a/low/lib/WDL/WDL/fileread.h b/low/lib/WDL/fileread.h similarity index 100% rename from low/lib/WDL/WDL/fileread.h rename to low/lib/WDL/fileread.h diff --git a/low/lib/WDL/WDL/filewrite.h b/low/lib/WDL/filewrite.h similarity index 100% rename from low/lib/WDL/WDL/filewrite.h rename to low/lib/WDL/filewrite.h diff --git a/low/lib/WDL/WDL/fnv64.h b/low/lib/WDL/fnv64.h similarity index 100% rename from low/lib/WDL/WDL/fnv64.h rename to low/lib/WDL/fnv64.h diff --git a/low/lib/WDL/WDL/giflib/AUTHORS b/low/lib/WDL/giflib/AUTHORS similarity index 100% rename from low/lib/WDL/WDL/giflib/AUTHORS rename to low/lib/WDL/giflib/AUTHORS diff --git a/low/lib/WDL/WDL/giflib/COPYING b/low/lib/WDL/giflib/COPYING similarity index 100% rename from low/lib/WDL/WDL/giflib/COPYING rename to low/lib/WDL/giflib/COPYING diff --git a/low/lib/WDL/WDL/giflib/ChangeLog b/low/lib/WDL/giflib/ChangeLog similarity index 100% rename from low/lib/WDL/WDL/giflib/ChangeLog rename to low/lib/WDL/giflib/ChangeLog diff --git a/low/lib/WDL/WDL/giflib/DEVELOPERS b/low/lib/WDL/giflib/DEVELOPERS similarity index 100% rename from low/lib/WDL/WDL/giflib/DEVELOPERS rename to low/lib/WDL/giflib/DEVELOPERS diff --git a/low/lib/WDL/WDL/giflib/README b/low/lib/WDL/giflib/README similarity index 100% rename from low/lib/WDL/WDL/giflib/README rename to low/lib/WDL/giflib/README diff --git a/low/lib/WDL/WDL/giflib/config.h b/low/lib/WDL/giflib/config.h similarity index 100% rename from low/lib/WDL/WDL/giflib/config.h rename to low/lib/WDL/giflib/config.h diff --git a/low/lib/WDL/WDL/giflib/dgif_lib.c b/low/lib/WDL/giflib/dgif_lib.c similarity index 100% rename from low/lib/WDL/WDL/giflib/dgif_lib.c rename to low/lib/WDL/giflib/dgif_lib.c diff --git a/low/lib/WDL/WDL/giflib/egif_lib.c b/low/lib/WDL/giflib/egif_lib.c similarity index 100% rename from low/lib/WDL/WDL/giflib/egif_lib.c rename to low/lib/WDL/giflib/egif_lib.c diff --git a/low/lib/WDL/WDL/giflib/gif_hash.c b/low/lib/WDL/giflib/gif_hash.c similarity index 100% rename from low/lib/WDL/WDL/giflib/gif_hash.c rename to low/lib/WDL/giflib/gif_hash.c diff --git a/low/lib/WDL/WDL/giflib/gif_hash.h b/low/lib/WDL/giflib/gif_hash.h similarity index 100% rename from low/lib/WDL/WDL/giflib/gif_hash.h rename to low/lib/WDL/giflib/gif_hash.h diff --git a/low/lib/WDL/WDL/giflib/gif_lib.h b/low/lib/WDL/giflib/gif_lib.h similarity index 100% rename from low/lib/WDL/WDL/giflib/gif_lib.h rename to low/lib/WDL/giflib/gif_lib.h diff --git a/low/lib/WDL/WDL/giflib/gif_lib_private.h b/low/lib/WDL/giflib/gif_lib_private.h similarity index 100% rename from low/lib/WDL/WDL/giflib/gif_lib_private.h rename to low/lib/WDL/giflib/gif_lib_private.h diff --git a/low/lib/WDL/WDL/giflib/gifalloc.c b/low/lib/WDL/giflib/gifalloc.c similarity index 100% rename from low/lib/WDL/WDL/giflib/gifalloc.c rename to low/lib/WDL/giflib/gifalloc.c diff --git a/low/lib/WDL/WDL/has_strings.h b/low/lib/WDL/has_strings.h similarity index 100% rename from low/lib/WDL/WDL/has_strings.h rename to low/lib/WDL/has_strings.h diff --git a/low/lib/WDL/WDL/heapbuf.h b/low/lib/WDL/heapbuf.h similarity index 100% rename from low/lib/WDL/WDL/heapbuf.h rename to low/lib/WDL/heapbuf.h diff --git a/low/lib/WDL/WDL/jnetlib/Makefile b/low/lib/WDL/jnetlib/Makefile similarity index 100% rename from low/lib/WDL/WDL/jnetlib/Makefile rename to low/lib/WDL/jnetlib/Makefile diff --git a/low/lib/WDL/WDL/jnetlib/asyncdns.cpp b/low/lib/WDL/jnetlib/asyncdns.cpp similarity index 100% rename from low/lib/WDL/WDL/jnetlib/asyncdns.cpp rename to low/lib/WDL/jnetlib/asyncdns.cpp diff --git a/low/lib/WDL/WDL/jnetlib/asyncdns.h b/low/lib/WDL/jnetlib/asyncdns.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/asyncdns.h rename to low/lib/WDL/jnetlib/asyncdns.h diff --git a/low/lib/WDL/WDL/jnetlib/connection.cpp b/low/lib/WDL/jnetlib/connection.cpp similarity index 100% rename from low/lib/WDL/WDL/jnetlib/connection.cpp rename to low/lib/WDL/jnetlib/connection.cpp diff --git a/low/lib/WDL/WDL/jnetlib/connection.h b/low/lib/WDL/jnetlib/connection.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/connection.h rename to low/lib/WDL/jnetlib/connection.h diff --git a/low/lib/WDL/WDL/jnetlib/httpget.cpp b/low/lib/WDL/jnetlib/httpget.cpp similarity index 100% rename from low/lib/WDL/WDL/jnetlib/httpget.cpp rename to low/lib/WDL/jnetlib/httpget.cpp diff --git a/low/lib/WDL/WDL/jnetlib/httpget.h b/low/lib/WDL/jnetlib/httpget.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/httpget.h rename to low/lib/WDL/jnetlib/httpget.h diff --git a/low/lib/WDL/WDL/jnetlib/httpserv.cpp b/low/lib/WDL/jnetlib/httpserv.cpp similarity index 100% rename from low/lib/WDL/WDL/jnetlib/httpserv.cpp rename to low/lib/WDL/jnetlib/httpserv.cpp diff --git a/low/lib/WDL/WDL/jnetlib/httpserv.h b/low/lib/WDL/jnetlib/httpserv.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/httpserv.h rename to low/lib/WDL/jnetlib/httpserv.h diff --git a/low/lib/WDL/WDL/jnetlib/irc_util.h b/low/lib/WDL/jnetlib/irc_util.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/irc_util.h rename to low/lib/WDL/jnetlib/irc_util.h diff --git a/low/lib/WDL/WDL/jnetlib/jnetlib.h b/low/lib/WDL/jnetlib/jnetlib.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/jnetlib.h rename to low/lib/WDL/jnetlib/jnetlib.h diff --git a/low/lib/WDL/WDL/jnetlib/listen.cpp b/low/lib/WDL/jnetlib/listen.cpp similarity index 100% rename from low/lib/WDL/WDL/jnetlib/listen.cpp rename to low/lib/WDL/jnetlib/listen.cpp diff --git a/low/lib/WDL/WDL/jnetlib/listen.h b/low/lib/WDL/jnetlib/listen.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/listen.h rename to low/lib/WDL/jnetlib/listen.h diff --git a/low/lib/WDL/WDL/jnetlib/netinc.h b/low/lib/WDL/jnetlib/netinc.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/netinc.h rename to low/lib/WDL/jnetlib/netinc.h diff --git a/low/lib/WDL/WDL/jnetlib/test.cpp b/low/lib/WDL/jnetlib/test.cpp similarity index 100% rename from low/lib/WDL/WDL/jnetlib/test.cpp rename to low/lib/WDL/jnetlib/test.cpp diff --git a/low/lib/WDL/WDL/jnetlib/testbnc.cpp b/low/lib/WDL/jnetlib/testbnc.cpp similarity index 100% rename from low/lib/WDL/WDL/jnetlib/testbnc.cpp rename to low/lib/WDL/jnetlib/testbnc.cpp diff --git a/low/lib/WDL/WDL/jnetlib/util.cpp b/low/lib/WDL/jnetlib/util.cpp similarity index 100% rename from low/lib/WDL/WDL/jnetlib/util.cpp rename to low/lib/WDL/jnetlib/util.cpp diff --git a/low/lib/WDL/WDL/jnetlib/util.h b/low/lib/WDL/jnetlib/util.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/util.h rename to low/lib/WDL/jnetlib/util.h diff --git a/low/lib/WDL/WDL/jnetlib/webserver.cpp b/low/lib/WDL/jnetlib/webserver.cpp similarity index 100% rename from low/lib/WDL/WDL/jnetlib/webserver.cpp rename to low/lib/WDL/jnetlib/webserver.cpp diff --git a/low/lib/WDL/WDL/jnetlib/webserver.h b/low/lib/WDL/jnetlib/webserver.h similarity index 100% rename from low/lib/WDL/WDL/jnetlib/webserver.h rename to low/lib/WDL/jnetlib/webserver.h diff --git a/low/lib/WDL/WDL/jpeglib/README b/low/lib/WDL/jpeglib/README similarity index 100% rename from low/lib/WDL/WDL/jpeglib/README rename to low/lib/WDL/jpeglib/README diff --git a/low/lib/WDL/WDL/jpeglib/example.c b/low/lib/WDL/jpeglib/example.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/example.c rename to low/lib/WDL/jpeglib/example.c diff --git a/low/lib/WDL/WDL/jpeglib/jcapimin.c b/low/lib/WDL/jpeglib/jcapimin.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcapimin.c rename to low/lib/WDL/jpeglib/jcapimin.c diff --git a/low/lib/WDL/WDL/jpeglib/jcapistd.c b/low/lib/WDL/jpeglib/jcapistd.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcapistd.c rename to low/lib/WDL/jpeglib/jcapistd.c diff --git a/low/lib/WDL/WDL/jpeglib/jccoefct.c b/low/lib/WDL/jpeglib/jccoefct.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jccoefct.c rename to low/lib/WDL/jpeglib/jccoefct.c diff --git a/low/lib/WDL/WDL/jpeglib/jccolor.c b/low/lib/WDL/jpeglib/jccolor.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jccolor.c rename to low/lib/WDL/jpeglib/jccolor.c diff --git a/low/lib/WDL/WDL/jpeglib/jcdctmgr.c b/low/lib/WDL/jpeglib/jcdctmgr.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcdctmgr.c rename to low/lib/WDL/jpeglib/jcdctmgr.c diff --git a/low/lib/WDL/WDL/jpeglib/jchuff.c b/low/lib/WDL/jpeglib/jchuff.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jchuff.c rename to low/lib/WDL/jpeglib/jchuff.c diff --git a/low/lib/WDL/WDL/jpeglib/jchuff.h b/low/lib/WDL/jpeglib/jchuff.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jchuff.h rename to low/lib/WDL/jpeglib/jchuff.h diff --git a/low/lib/WDL/WDL/jpeglib/jcinit.c b/low/lib/WDL/jpeglib/jcinit.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcinit.c rename to low/lib/WDL/jpeglib/jcinit.c diff --git a/low/lib/WDL/WDL/jpeglib/jcmainct.c b/low/lib/WDL/jpeglib/jcmainct.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcmainct.c rename to low/lib/WDL/jpeglib/jcmainct.c diff --git a/low/lib/WDL/WDL/jpeglib/jcmarker.c b/low/lib/WDL/jpeglib/jcmarker.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcmarker.c rename to low/lib/WDL/jpeglib/jcmarker.c diff --git a/low/lib/WDL/WDL/jpeglib/jcmaster.c b/low/lib/WDL/jpeglib/jcmaster.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcmaster.c rename to low/lib/WDL/jpeglib/jcmaster.c diff --git a/low/lib/WDL/WDL/jpeglib/jcomapi.c b/low/lib/WDL/jpeglib/jcomapi.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcomapi.c rename to low/lib/WDL/jpeglib/jcomapi.c diff --git a/low/lib/WDL/WDL/jpeglib/jconfig.h b/low/lib/WDL/jpeglib/jconfig.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jconfig.h rename to low/lib/WDL/jpeglib/jconfig.h diff --git a/low/lib/WDL/WDL/jpeglib/jcparam.c b/low/lib/WDL/jpeglib/jcparam.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcparam.c rename to low/lib/WDL/jpeglib/jcparam.c diff --git a/low/lib/WDL/WDL/jpeglib/jcphuff.c b/low/lib/WDL/jpeglib/jcphuff.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcphuff.c rename to low/lib/WDL/jpeglib/jcphuff.c diff --git a/low/lib/WDL/WDL/jpeglib/jcprepct.c b/low/lib/WDL/jpeglib/jcprepct.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcprepct.c rename to low/lib/WDL/jpeglib/jcprepct.c diff --git a/low/lib/WDL/WDL/jpeglib/jcsample.c b/low/lib/WDL/jpeglib/jcsample.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jcsample.c rename to low/lib/WDL/jpeglib/jcsample.c diff --git a/low/lib/WDL/WDL/jpeglib/jctrans.c b/low/lib/WDL/jpeglib/jctrans.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jctrans.c rename to low/lib/WDL/jpeglib/jctrans.c diff --git a/low/lib/WDL/WDL/jpeglib/jdapimin.c b/low/lib/WDL/jpeglib/jdapimin.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdapimin.c rename to low/lib/WDL/jpeglib/jdapimin.c diff --git a/low/lib/WDL/WDL/jpeglib/jdapistd.c b/low/lib/WDL/jpeglib/jdapistd.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdapistd.c rename to low/lib/WDL/jpeglib/jdapistd.c diff --git a/low/lib/WDL/WDL/jpeglib/jdatadst.c b/low/lib/WDL/jpeglib/jdatadst.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdatadst.c rename to low/lib/WDL/jpeglib/jdatadst.c diff --git a/low/lib/WDL/WDL/jpeglib/jdatasrc.c b/low/lib/WDL/jpeglib/jdatasrc.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdatasrc.c rename to low/lib/WDL/jpeglib/jdatasrc.c diff --git a/low/lib/WDL/WDL/jpeglib/jdcoefct.c b/low/lib/WDL/jpeglib/jdcoefct.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdcoefct.c rename to low/lib/WDL/jpeglib/jdcoefct.c diff --git a/low/lib/WDL/WDL/jpeglib/jdcolor.c b/low/lib/WDL/jpeglib/jdcolor.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdcolor.c rename to low/lib/WDL/jpeglib/jdcolor.c diff --git a/low/lib/WDL/WDL/jpeglib/jdct.h b/low/lib/WDL/jpeglib/jdct.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdct.h rename to low/lib/WDL/jpeglib/jdct.h diff --git a/low/lib/WDL/WDL/jpeglib/jddctmgr.c b/low/lib/WDL/jpeglib/jddctmgr.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jddctmgr.c rename to low/lib/WDL/jpeglib/jddctmgr.c diff --git a/low/lib/WDL/WDL/jpeglib/jdhuff.c b/low/lib/WDL/jpeglib/jdhuff.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdhuff.c rename to low/lib/WDL/jpeglib/jdhuff.c diff --git a/low/lib/WDL/WDL/jpeglib/jdhuff.h b/low/lib/WDL/jpeglib/jdhuff.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdhuff.h rename to low/lib/WDL/jpeglib/jdhuff.h diff --git a/low/lib/WDL/WDL/jpeglib/jdinput.c b/low/lib/WDL/jpeglib/jdinput.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdinput.c rename to low/lib/WDL/jpeglib/jdinput.c diff --git a/low/lib/WDL/WDL/jpeglib/jdmainct.c b/low/lib/WDL/jpeglib/jdmainct.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdmainct.c rename to low/lib/WDL/jpeglib/jdmainct.c diff --git a/low/lib/WDL/WDL/jpeglib/jdmarker.c b/low/lib/WDL/jpeglib/jdmarker.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdmarker.c rename to low/lib/WDL/jpeglib/jdmarker.c diff --git a/low/lib/WDL/WDL/jpeglib/jdmaster.c b/low/lib/WDL/jpeglib/jdmaster.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdmaster.c rename to low/lib/WDL/jpeglib/jdmaster.c diff --git a/low/lib/WDL/WDL/jpeglib/jdmerge.c b/low/lib/WDL/jpeglib/jdmerge.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdmerge.c rename to low/lib/WDL/jpeglib/jdmerge.c diff --git a/low/lib/WDL/WDL/jpeglib/jdphuff.c b/low/lib/WDL/jpeglib/jdphuff.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdphuff.c rename to low/lib/WDL/jpeglib/jdphuff.c diff --git a/low/lib/WDL/WDL/jpeglib/jdpostct.c b/low/lib/WDL/jpeglib/jdpostct.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdpostct.c rename to low/lib/WDL/jpeglib/jdpostct.c diff --git a/low/lib/WDL/WDL/jpeglib/jdsample.c b/low/lib/WDL/jpeglib/jdsample.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdsample.c rename to low/lib/WDL/jpeglib/jdsample.c diff --git a/low/lib/WDL/WDL/jpeglib/jdtrans.c b/low/lib/WDL/jpeglib/jdtrans.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jdtrans.c rename to low/lib/WDL/jpeglib/jdtrans.c diff --git a/low/lib/WDL/WDL/jpeglib/jerror.c b/low/lib/WDL/jpeglib/jerror.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jerror.c rename to low/lib/WDL/jpeglib/jerror.c diff --git a/low/lib/WDL/WDL/jpeglib/jerror.h b/low/lib/WDL/jpeglib/jerror.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jerror.h rename to low/lib/WDL/jpeglib/jerror.h diff --git a/low/lib/WDL/WDL/jpeglib/jfdctflt.c b/low/lib/WDL/jpeglib/jfdctflt.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jfdctflt.c rename to low/lib/WDL/jpeglib/jfdctflt.c diff --git a/low/lib/WDL/WDL/jpeglib/jfdctfst.c b/low/lib/WDL/jpeglib/jfdctfst.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jfdctfst.c rename to low/lib/WDL/jpeglib/jfdctfst.c diff --git a/low/lib/WDL/WDL/jpeglib/jfdctint.c b/low/lib/WDL/jpeglib/jfdctint.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jfdctint.c rename to low/lib/WDL/jpeglib/jfdctint.c diff --git a/low/lib/WDL/WDL/jpeglib/jidctflt.c b/low/lib/WDL/jpeglib/jidctflt.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jidctflt.c rename to low/lib/WDL/jpeglib/jidctflt.c diff --git a/low/lib/WDL/WDL/jpeglib/jidctfst.c b/low/lib/WDL/jpeglib/jidctfst.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jidctfst.c rename to low/lib/WDL/jpeglib/jidctfst.c diff --git a/low/lib/WDL/WDL/jpeglib/jidctint.c b/low/lib/WDL/jpeglib/jidctint.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jidctint.c rename to low/lib/WDL/jpeglib/jidctint.c diff --git a/low/lib/WDL/WDL/jpeglib/jidctred.c b/low/lib/WDL/jpeglib/jidctred.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jidctred.c rename to low/lib/WDL/jpeglib/jidctred.c diff --git a/low/lib/WDL/WDL/jpeglib/jinclude.h b/low/lib/WDL/jpeglib/jinclude.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jinclude.h rename to low/lib/WDL/jpeglib/jinclude.h diff --git a/low/lib/WDL/WDL/jpeglib/jmemmgr.c b/low/lib/WDL/jpeglib/jmemmgr.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jmemmgr.c rename to low/lib/WDL/jpeglib/jmemmgr.c diff --git a/low/lib/WDL/WDL/jpeglib/jmemnobs.c b/low/lib/WDL/jpeglib/jmemnobs.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jmemnobs.c rename to low/lib/WDL/jpeglib/jmemnobs.c diff --git a/low/lib/WDL/WDL/jpeglib/jmemsys.h b/low/lib/WDL/jpeglib/jmemsys.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jmemsys.h rename to low/lib/WDL/jpeglib/jmemsys.h diff --git a/low/lib/WDL/WDL/jpeglib/jmorecfg.h b/low/lib/WDL/jpeglib/jmorecfg.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jmorecfg.h rename to low/lib/WDL/jpeglib/jmorecfg.h diff --git a/low/lib/WDL/WDL/jpeglib/jpegint.h b/low/lib/WDL/jpeglib/jpegint.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jpegint.h rename to low/lib/WDL/jpeglib/jpegint.h diff --git a/low/lib/WDL/WDL/jpeglib/jpeglib.h b/low/lib/WDL/jpeglib/jpeglib.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jpeglib.h rename to low/lib/WDL/jpeglib/jpeglib.h diff --git a/low/lib/WDL/WDL/jpeglib/jquant1.c b/low/lib/WDL/jpeglib/jquant1.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jquant1.c rename to low/lib/WDL/jpeglib/jquant1.c diff --git a/low/lib/WDL/WDL/jpeglib/jquant2.c b/low/lib/WDL/jpeglib/jquant2.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jquant2.c rename to low/lib/WDL/jpeglib/jquant2.c diff --git a/low/lib/WDL/WDL/jpeglib/jutils.c b/low/lib/WDL/jpeglib/jutils.c similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jutils.c rename to low/lib/WDL/jpeglib/jutils.c diff --git a/low/lib/WDL/WDL/jpeglib/jversion.h b/low/lib/WDL/jpeglib/jversion.h similarity index 100% rename from low/lib/WDL/WDL/jpeglib/jversion.h rename to low/lib/WDL/jpeglib/jversion.h diff --git a/low/lib/WDL/WDL/lameencdec.cpp b/low/lib/WDL/lameencdec.cpp similarity index 100% rename from low/lib/WDL/WDL/lameencdec.cpp rename to low/lib/WDL/lameencdec.cpp diff --git a/low/lib/WDL/WDL/lameencdec.h b/low/lib/WDL/lameencdec.h similarity index 100% rename from low/lib/WDL/WDL/lameencdec.h rename to low/lib/WDL/lameencdec.h diff --git a/low/lib/WDL/WDL/libpng/CHANGES b/low/lib/WDL/libpng/CHANGES similarity index 100% rename from low/lib/WDL/WDL/libpng/CHANGES rename to low/lib/WDL/libpng/CHANGES diff --git a/low/lib/WDL/WDL/libpng/LICENSE b/low/lib/WDL/libpng/LICENSE similarity index 100% rename from low/lib/WDL/WDL/libpng/LICENSE rename to low/lib/WDL/libpng/LICENSE diff --git a/low/lib/WDL/WDL/libpng/README b/low/lib/WDL/libpng/README similarity index 100% rename from low/lib/WDL/WDL/libpng/README rename to low/lib/WDL/libpng/README diff --git a/low/lib/WDL/WDL/libpng/png.c b/low/lib/WDL/libpng/png.c similarity index 100% rename from low/lib/WDL/WDL/libpng/png.c rename to low/lib/WDL/libpng/png.c diff --git a/low/lib/WDL/WDL/libpng/png.h b/low/lib/WDL/libpng/png.h similarity index 100% rename from low/lib/WDL/WDL/libpng/png.h rename to low/lib/WDL/libpng/png.h diff --git a/low/lib/WDL/WDL/libpng/pngconf.h b/low/lib/WDL/libpng/pngconf.h similarity index 100% rename from low/lib/WDL/WDL/libpng/pngconf.h rename to low/lib/WDL/libpng/pngconf.h diff --git a/low/lib/WDL/WDL/libpng/pngdebug.h b/low/lib/WDL/libpng/pngdebug.h similarity index 100% rename from low/lib/WDL/WDL/libpng/pngdebug.h rename to low/lib/WDL/libpng/pngdebug.h diff --git a/low/lib/WDL/WDL/libpng/pngerror.c b/low/lib/WDL/libpng/pngerror.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngerror.c rename to low/lib/WDL/libpng/pngerror.c diff --git a/low/lib/WDL/WDL/libpng/pngget.c b/low/lib/WDL/libpng/pngget.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngget.c rename to low/lib/WDL/libpng/pngget.c diff --git a/low/lib/WDL/WDL/libpng/pnginfo.h b/low/lib/WDL/libpng/pnginfo.h similarity index 100% rename from low/lib/WDL/WDL/libpng/pnginfo.h rename to low/lib/WDL/libpng/pnginfo.h diff --git a/low/lib/WDL/WDL/libpng/pnglibconf.h b/low/lib/WDL/libpng/pnglibconf.h similarity index 100% rename from low/lib/WDL/WDL/libpng/pnglibconf.h rename to low/lib/WDL/libpng/pnglibconf.h diff --git a/low/lib/WDL/WDL/libpng/pnglibconf.h.prebuilt b/low/lib/WDL/libpng/pnglibconf.h.prebuilt similarity index 100% rename from low/lib/WDL/WDL/libpng/pnglibconf.h.prebuilt rename to low/lib/WDL/libpng/pnglibconf.h.prebuilt diff --git a/low/lib/WDL/WDL/libpng/pngmem.c b/low/lib/WDL/libpng/pngmem.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngmem.c rename to low/lib/WDL/libpng/pngmem.c diff --git a/low/lib/WDL/WDL/libpng/pngpread.c b/low/lib/WDL/libpng/pngpread.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngpread.c rename to low/lib/WDL/libpng/pngpread.c diff --git a/low/lib/WDL/WDL/libpng/pngpriv.h b/low/lib/WDL/libpng/pngpriv.h similarity index 100% rename from low/lib/WDL/WDL/libpng/pngpriv.h rename to low/lib/WDL/libpng/pngpriv.h diff --git a/low/lib/WDL/WDL/libpng/pngread.c b/low/lib/WDL/libpng/pngread.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngread.c rename to low/lib/WDL/libpng/pngread.c diff --git a/low/lib/WDL/WDL/libpng/pngrio.c b/low/lib/WDL/libpng/pngrio.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngrio.c rename to low/lib/WDL/libpng/pngrio.c diff --git a/low/lib/WDL/WDL/libpng/pngrtran.c b/low/lib/WDL/libpng/pngrtran.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngrtran.c rename to low/lib/WDL/libpng/pngrtran.c diff --git a/low/lib/WDL/WDL/libpng/pngrutil.c b/low/lib/WDL/libpng/pngrutil.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngrutil.c rename to low/lib/WDL/libpng/pngrutil.c diff --git a/low/lib/WDL/WDL/libpng/pngset.c b/low/lib/WDL/libpng/pngset.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngset.c rename to low/lib/WDL/libpng/pngset.c diff --git a/low/lib/WDL/WDL/libpng/pngstruct.h b/low/lib/WDL/libpng/pngstruct.h similarity index 100% rename from low/lib/WDL/WDL/libpng/pngstruct.h rename to low/lib/WDL/libpng/pngstruct.h diff --git a/low/lib/WDL/WDL/libpng/pngtest.c b/low/lib/WDL/libpng/pngtest.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngtest.c rename to low/lib/WDL/libpng/pngtest.c diff --git a/low/lib/WDL/WDL/libpng/pngtrans.c b/low/lib/WDL/libpng/pngtrans.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngtrans.c rename to low/lib/WDL/libpng/pngtrans.c diff --git a/low/lib/WDL/WDL/libpng/pngwio.c b/low/lib/WDL/libpng/pngwio.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngwio.c rename to low/lib/WDL/libpng/pngwio.c diff --git a/low/lib/WDL/WDL/libpng/pngwrite.c b/low/lib/WDL/libpng/pngwrite.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngwrite.c rename to low/lib/WDL/libpng/pngwrite.c diff --git a/low/lib/WDL/WDL/libpng/pngwtran.c b/low/lib/WDL/libpng/pngwtran.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngwtran.c rename to low/lib/WDL/libpng/pngwtran.c diff --git a/low/lib/WDL/WDL/libpng/pngwutil.c b/low/lib/WDL/libpng/pngwutil.c similarity index 100% rename from low/lib/WDL/WDL/libpng/pngwutil.c rename to low/lib/WDL/libpng/pngwutil.c diff --git a/low/lib/WDL/WDL/lice/curverasterbuffer.h b/low/lib/WDL/lice/curverasterbuffer.h similarity index 100% rename from low/lib/WDL/WDL/lice/curverasterbuffer.h rename to low/lib/WDL/lice/curverasterbuffer.h diff --git a/low/lib/WDL/WDL/lice/glew/include/GL/WGLEXT.H b/low/lib/WDL/lice/glew/include/GL/WGLEXT.H similarity index 100% rename from low/lib/WDL/WDL/lice/glew/include/GL/WGLEXT.H rename to low/lib/WDL/lice/glew/include/GL/WGLEXT.H diff --git a/low/lib/WDL/WDL/lice/glew/include/GL/glew.h b/low/lib/WDL/lice/glew/include/GL/glew.h similarity index 100% rename from low/lib/WDL/WDL/lice/glew/include/GL/glew.h rename to low/lib/WDL/lice/glew/include/GL/glew.h diff --git a/low/lib/WDL/WDL/lice/glew/include/GL/glxew.h b/low/lib/WDL/lice/glew/include/GL/glxew.h similarity index 100% rename from low/lib/WDL/WDL/lice/glew/include/GL/glxew.h rename to low/lib/WDL/lice/glew/include/GL/glxew.h diff --git a/low/lib/WDL/WDL/lice/glew/include/GL/wglew.h b/low/lib/WDL/lice/glew/include/GL/wglew.h similarity index 100% rename from low/lib/WDL/WDL/lice/glew/include/GL/wglew.h rename to low/lib/WDL/lice/glew/include/GL/wglew.h diff --git a/low/lib/WDL/WDL/lice/glew/src/glew.c b/low/lib/WDL/lice/glew/src/glew.c similarity index 100% rename from low/lib/WDL/WDL/lice/glew/src/glew.c rename to low/lib/WDL/lice/glew/src/glew.c diff --git a/low/lib/WDL/WDL/lice/glew/src/glewinfo.c b/low/lib/WDL/lice/glew/src/glewinfo.c similarity index 100% rename from low/lib/WDL/WDL/lice/glew/src/glewinfo.c rename to low/lib/WDL/lice/glew/src/glewinfo.c diff --git a/low/lib/WDL/WDL/lice/glew/src/visualinfo.c b/low/lib/WDL/lice/glew/src/visualinfo.c similarity index 100% rename from low/lib/WDL/WDL/lice/glew/src/visualinfo.c rename to low/lib/WDL/lice/glew/src/visualinfo.c diff --git a/low/lib/WDL/WDL/lice/lice.cpp b/low/lib/WDL/lice/lice.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice.cpp rename to low/lib/WDL/lice/lice.cpp diff --git a/low/lib/WDL/WDL/lice/lice.h b/low/lib/WDL/lice/lice.h similarity index 100% rename from low/lib/WDL/WDL/lice/lice.h rename to low/lib/WDL/lice/lice.h diff --git a/low/lib/WDL/WDL/lice/lice_arc.cpp b/low/lib/WDL/lice/lice_arc.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_arc.cpp rename to low/lib/WDL/lice/lice_arc.cpp diff --git a/low/lib/WDL/WDL/lice/lice_bezier.h b/low/lib/WDL/lice/lice_bezier.h similarity index 100% rename from low/lib/WDL/WDL/lice/lice_bezier.h rename to low/lib/WDL/lice/lice_bezier.h diff --git a/low/lib/WDL/WDL/lice/lice_bmp.cpp b/low/lib/WDL/lice/lice_bmp.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_bmp.cpp rename to low/lib/WDL/lice/lice_bmp.cpp diff --git a/low/lib/WDL/WDL/lice/lice_colorspace.cpp b/low/lib/WDL/lice/lice_colorspace.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_colorspace.cpp rename to low/lib/WDL/lice/lice_colorspace.cpp diff --git a/low/lib/WDL/WDL/lice/lice_combine.h b/low/lib/WDL/lice/lice_combine.h similarity index 100% rename from low/lib/WDL/WDL/lice/lice_combine.h rename to low/lib/WDL/lice/lice_combine.h diff --git a/low/lib/WDL/WDL/lice/lice_extended.h b/low/lib/WDL/lice/lice_extended.h similarity index 100% rename from low/lib/WDL/WDL/lice/lice_extended.h rename to low/lib/WDL/lice/lice_extended.h diff --git a/low/lib/WDL/WDL/lice/lice_gif.cpp b/low/lib/WDL/lice/lice_gif.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_gif.cpp rename to low/lib/WDL/lice/lice_gif.cpp diff --git a/low/lib/WDL/WDL/lice/lice_gif_write.cpp b/low/lib/WDL/lice/lice_gif_write.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_gif_write.cpp rename to low/lib/WDL/lice/lice_gif_write.cpp diff --git a/low/lib/WDL/WDL/lice/lice_gl_ctx.cpp b/low/lib/WDL/lice/lice_gl_ctx.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_gl_ctx.cpp rename to low/lib/WDL/lice/lice_gl_ctx.cpp diff --git a/low/lib/WDL/WDL/lice/lice_gl_ctx.h b/low/lib/WDL/lice/lice_gl_ctx.h similarity index 100% rename from low/lib/WDL/WDL/lice/lice_gl_ctx.h rename to low/lib/WDL/lice/lice_gl_ctx.h diff --git a/low/lib/WDL/WDL/lice/lice_glbitmap.cpp b/low/lib/WDL/lice/lice_glbitmap.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_glbitmap.cpp rename to low/lib/WDL/lice/lice_glbitmap.cpp diff --git a/low/lib/WDL/WDL/lice/lice_glbitmap.h b/low/lib/WDL/lice/lice_glbitmap.h similarity index 100% rename from low/lib/WDL/WDL/lice/lice_glbitmap.h rename to low/lib/WDL/lice/lice_glbitmap.h diff --git a/low/lib/WDL/WDL/lice/lice_ico.cpp b/low/lib/WDL/lice/lice_ico.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_ico.cpp rename to low/lib/WDL/lice/lice_ico.cpp diff --git a/low/lib/WDL/WDL/lice/lice_image.cpp b/low/lib/WDL/lice/lice_image.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_image.cpp rename to low/lib/WDL/lice/lice_image.cpp diff --git a/low/lib/WDL/WDL/lice/lice_import.h b/low/lib/WDL/lice/lice_import.h similarity index 100% rename from low/lib/WDL/WDL/lice/lice_import.h rename to low/lib/WDL/lice/lice_import.h diff --git a/low/lib/WDL/WDL/lice/lice_jpg.cpp b/low/lib/WDL/lice/lice_jpg.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_jpg.cpp rename to low/lib/WDL/lice/lice_jpg.cpp diff --git a/low/lib/WDL/WDL/lice/lice_jpg_write.cpp b/low/lib/WDL/lice/lice_jpg_write.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_jpg_write.cpp rename to low/lib/WDL/lice/lice_jpg_write.cpp diff --git a/low/lib/WDL/WDL/lice/lice_lcf.cpp b/low/lib/WDL/lice/lice_lcf.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_lcf.cpp rename to low/lib/WDL/lice/lice_lcf.cpp diff --git a/low/lib/WDL/WDL/lice/lice_lcf.h b/low/lib/WDL/lice/lice_lcf.h similarity index 100% rename from low/lib/WDL/WDL/lice/lice_lcf.h rename to low/lib/WDL/lice/lice_lcf.h diff --git a/low/lib/WDL/WDL/lice/lice_line.cpp b/low/lib/WDL/lice/lice_line.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_line.cpp rename to low/lib/WDL/lice/lice_line.cpp diff --git a/low/lib/WDL/WDL/lice/lice_lvg.cpp b/low/lib/WDL/lice/lice_lvg.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_lvg.cpp rename to low/lib/WDL/lice/lice_lvg.cpp diff --git a/low/lib/WDL/WDL/lice/lice_palette.cpp b/low/lib/WDL/lice/lice_palette.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_palette.cpp rename to low/lib/WDL/lice/lice_palette.cpp diff --git a/low/lib/WDL/WDL/lice/lice_pcx.cpp b/low/lib/WDL/lice/lice_pcx.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_pcx.cpp rename to low/lib/WDL/lice/lice_pcx.cpp diff --git a/low/lib/WDL/WDL/lice/lice_png.cpp b/low/lib/WDL/lice/lice_png.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_png.cpp rename to low/lib/WDL/lice/lice_png.cpp diff --git a/low/lib/WDL/WDL/lice/lice_png_write.cpp b/low/lib/WDL/lice/lice_png_write.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_png_write.cpp rename to low/lib/WDL/lice/lice_png_write.cpp diff --git a/low/lib/WDL/WDL/lice/lice_texgen.cpp b/low/lib/WDL/lice/lice_texgen.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_texgen.cpp rename to low/lib/WDL/lice/lice_texgen.cpp diff --git a/low/lib/WDL/WDL/lice/lice_text.cpp b/low/lib/WDL/lice/lice_text.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_text.cpp rename to low/lib/WDL/lice/lice_text.cpp diff --git a/low/lib/WDL/WDL/lice/lice_text.h b/low/lib/WDL/lice/lice_text.h similarity index 100% rename from low/lib/WDL/WDL/lice/lice_text.h rename to low/lib/WDL/lice/lice_text.h diff --git a/low/lib/WDL/WDL/lice/lice_textnew.cpp b/low/lib/WDL/lice/lice_textnew.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/lice_textnew.cpp rename to low/lib/WDL/lice/lice_textnew.cpp diff --git a/low/lib/WDL/WDL/lice/test/.gitignore b/low/lib/WDL/lice/test/.gitignore similarity index 100% rename from low/lib/WDL/WDL/lice/test/.gitignore rename to low/lib/WDL/lice/test/.gitignore diff --git a/low/lib/WDL/WDL/lice/test/Controller.h b/low/lib/WDL/lice/test/Controller.h similarity index 100% rename from low/lib/WDL/WDL/lice/test/Controller.h rename to low/lib/WDL/lice/test/Controller.h diff --git a/low/lib/WDL/WDL/lice/test/Controller.mm b/low/lib/WDL/lice/test/Controller.mm similarity index 100% rename from low/lib/WDL/WDL/lice/test/Controller.mm rename to low/lib/WDL/lice/test/Controller.mm diff --git a/low/lib/WDL/WDL/lice/test/English.lproj/InfoPlist.strings b/low/lib/WDL/lice/test/English.lproj/InfoPlist.strings similarity index 100% rename from low/lib/WDL/WDL/lice/test/English.lproj/InfoPlist.strings rename to low/lib/WDL/lice/test/English.lproj/InfoPlist.strings diff --git a/low/lib/WDL/WDL/lice/test/English.lproj/MainMenu.nib/classes.nib b/low/lib/WDL/lice/test/English.lproj/MainMenu.nib/classes.nib similarity index 100% rename from low/lib/WDL/WDL/lice/test/English.lproj/MainMenu.nib/classes.nib rename to low/lib/WDL/lice/test/English.lproj/MainMenu.nib/classes.nib diff --git a/low/lib/WDL/WDL/lice/test/English.lproj/MainMenu.nib/info.nib b/low/lib/WDL/lice/test/English.lproj/MainMenu.nib/info.nib similarity index 100% rename from low/lib/WDL/WDL/lice/test/English.lproj/MainMenu.nib/info.nib rename to low/lib/WDL/lice/test/English.lproj/MainMenu.nib/info.nib diff --git a/low/lib/WDL/WDL/lice/test/English.lproj/MainMenu.nib/keyedobjects.nib b/low/lib/WDL/lice/test/English.lproj/MainMenu.nib/keyedobjects.nib similarity index 100% rename from low/lib/WDL/WDL/lice/test/English.lproj/MainMenu.nib/keyedobjects.nib rename to low/lib/WDL/lice/test/English.lproj/MainMenu.nib/keyedobjects.nib diff --git a/low/lib/WDL/WDL/lice/test/Info.plist b/low/lib/WDL/lice/test/Info.plist similarity index 100% rename from low/lib/WDL/WDL/lice/test/Info.plist rename to low/lib/WDL/lice/test/Info.plist diff --git a/low/lib/WDL/WDL/lice/test/Makefile b/low/lib/WDL/lice/test/Makefile similarity index 100% rename from low/lib/WDL/WDL/lice/test/Makefile rename to low/lib/WDL/lice/test/Makefile diff --git a/low/lib/WDL/WDL/lice/test/fly.cpp b/low/lib/WDL/lice/test/fly.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/test/fly.cpp rename to low/lib/WDL/lice/test/fly.cpp diff --git a/low/lib/WDL/WDL/lice/test/image.png b/low/lib/WDL/lice/test/image.png similarity index 100% rename from low/lib/WDL/WDL/lice/test/image.png rename to low/lib/WDL/lice/test/image.png diff --git a/low/lib/WDL/WDL/lice/test/imgs2gif.cpp b/low/lib/WDL/lice/test/imgs2gif.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/test/imgs2gif.cpp rename to low/lib/WDL/lice/test/imgs2gif.cpp diff --git a/low/lib/WDL/WDL/lice/test/main.cpp b/low/lib/WDL/lice/test/main.cpp similarity index 100% rename from low/lib/WDL/WDL/lice/test/main.cpp rename to low/lib/WDL/lice/test/main.cpp diff --git a/low/lib/WDL/WDL/lice/test/main.ico b/low/lib/WDL/lice/test/main.ico similarity index 100% rename from low/lib/WDL/WDL/lice/test/main.ico rename to low/lib/WDL/lice/test/main.ico diff --git a/low/lib/WDL/WDL/lice/test/main.m b/low/lib/WDL/lice/test/main.m similarity index 100% rename from low/lib/WDL/WDL/lice/test/main.m rename to low/lib/WDL/lice/test/main.m diff --git a/low/lib/WDL/WDL/lice/test/resource.h b/low/lib/WDL/lice/test/resource.h similarity index 100% rename from low/lib/WDL/WDL/lice/test/resource.h rename to low/lib/WDL/lice/test/resource.h diff --git a/low/lib/WDL/WDL/lice/test/test.rc b/low/lib/WDL/lice/test/test.rc similarity index 100% rename from low/lib/WDL/WDL/lice/test/test.rc rename to low/lib/WDL/lice/test/test.rc diff --git a/low/lib/WDL/WDL/lice/test/test.sln b/low/lib/WDL/lice/test/test.sln similarity index 100% rename from low/lib/WDL/WDL/lice/test/test.sln rename to low/lib/WDL/lice/test/test.sln diff --git a/low/lib/WDL/WDL/lice/test/test.vcxproj b/low/lib/WDL/lice/test/test.vcxproj similarity index 100% rename from low/lib/WDL/WDL/lice/test/test.vcxproj rename to low/lib/WDL/lice/test/test.vcxproj diff --git a/low/lib/WDL/WDL/lice/test/test.vcxproj.filters b/low/lib/WDL/lice/test/test.vcxproj.filters similarity index 100% rename from low/lib/WDL/WDL/lice/test/test.vcxproj.filters rename to low/lib/WDL/lice/test/test.vcxproj.filters diff --git a/low/lib/WDL/WDL/lice/test/test.xcodeproj/project.pbxproj b/low/lib/WDL/lice/test/test.xcodeproj/project.pbxproj similarity index 100% rename from low/lib/WDL/WDL/lice/test/test.xcodeproj/project.pbxproj rename to low/lib/WDL/lice/test/test.xcodeproj/project.pbxproj diff --git a/low/lib/WDL/WDL/lineparse.h b/low/lib/WDL/lineparse.h similarity index 100% rename from low/lib/WDL/WDL/lineparse.h rename to low/lib/WDL/lineparse.h diff --git a/low/lib/WDL/WDL/localize/build_sample_langpack.cpp b/low/lib/WDL/localize/build_sample_langpack.cpp similarity index 100% rename from low/lib/WDL/WDL/localize/build_sample_langpack.cpp rename to low/lib/WDL/localize/build_sample_langpack.cpp diff --git a/low/lib/WDL/WDL/localize/localize-import.h b/low/lib/WDL/localize/localize-import.h similarity index 100% rename from low/lib/WDL/WDL/localize/localize-import.h rename to low/lib/WDL/localize/localize-import.h diff --git a/low/lib/WDL/WDL/localize/localize-info.txt b/low/lib/WDL/localize/localize-info.txt similarity index 100% rename from low/lib/WDL/WDL/localize/localize-info.txt rename to low/lib/WDL/localize/localize-info.txt diff --git a/low/lib/WDL/WDL/localize/localize.cpp b/low/lib/WDL/localize/localize.cpp similarity index 100% rename from low/lib/WDL/WDL/localize/localize.cpp rename to low/lib/WDL/localize/localize.cpp diff --git a/low/lib/WDL/WDL/localize/localize.h b/low/lib/WDL/localize/localize.h similarity index 100% rename from low/lib/WDL/WDL/localize/localize.h rename to low/lib/WDL/localize/localize.h diff --git a/low/lib/WDL/WDL/localize/merge_langpacks.cpp b/low/lib/WDL/localize/merge_langpacks.cpp similarity index 100% rename from low/lib/WDL/WDL/localize/merge_langpacks.cpp rename to low/lib/WDL/localize/merge_langpacks.cpp diff --git a/low/lib/WDL/WDL/mergesort.h b/low/lib/WDL/mergesort.h similarity index 100% rename from low/lib/WDL/WDL/mergesort.h rename to low/lib/WDL/mergesort.h diff --git a/low/lib/WDL/WDL/metadata.h b/low/lib/WDL/metadata.h similarity index 100% rename from low/lib/WDL/WDL/metadata.h rename to low/lib/WDL/metadata.h diff --git a/low/lib/WDL/WDL/mp3write.h b/low/lib/WDL/mp3write.h similarity index 100% rename from low/lib/WDL/WDL/mp3write.h rename to low/lib/WDL/mp3write.h diff --git a/low/lib/WDL/WDL/mutex.h b/low/lib/WDL/mutex.h similarity index 100% rename from low/lib/WDL/WDL/mutex.h rename to low/lib/WDL/mutex.h diff --git a/low/lib/WDL/WDL/pcmfmtcvt.h b/low/lib/WDL/pcmfmtcvt.h similarity index 100% rename from low/lib/WDL/WDL/pcmfmtcvt.h rename to low/lib/WDL/pcmfmtcvt.h diff --git a/low/lib/WDL/WDL/plush2/pl_cam.cpp b/low/lib/WDL/plush2/pl_cam.cpp similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_cam.cpp rename to low/lib/WDL/plush2/pl_cam.cpp diff --git a/low/lib/WDL/WDL/plush2/pl_make.cpp b/low/lib/WDL/plush2/pl_make.cpp similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_make.cpp rename to low/lib/WDL/plush2/pl_make.cpp diff --git a/low/lib/WDL/WDL/plush2/pl_math.cpp b/low/lib/WDL/plush2/pl_math.cpp similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_math.cpp rename to low/lib/WDL/plush2/pl_math.cpp diff --git a/low/lib/WDL/WDL/plush2/pl_obj.cpp b/low/lib/WDL/plush2/pl_obj.cpp similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_obj.cpp rename to low/lib/WDL/plush2/pl_obj.cpp diff --git a/low/lib/WDL/WDL/plush2/pl_pf_tex.h b/low/lib/WDL/plush2/pl_pf_tex.h similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_pf_tex.h rename to low/lib/WDL/plush2/pl_pf_tex.h diff --git a/low/lib/WDL/WDL/plush2/pl_putface.cpp b/low/lib/WDL/plush2/pl_putface.cpp similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_putface.cpp rename to low/lib/WDL/plush2/pl_putface.cpp diff --git a/low/lib/WDL/WDL/plush2/pl_read_3ds.cpp b/low/lib/WDL/plush2/pl_read_3ds.cpp similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_read_3ds.cpp rename to low/lib/WDL/plush2/pl_read_3ds.cpp diff --git a/low/lib/WDL/WDL/plush2/pl_read_cob.cpp b/low/lib/WDL/plush2/pl_read_cob.cpp similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_read_cob.cpp rename to low/lib/WDL/plush2/pl_read_cob.cpp diff --git a/low/lib/WDL/WDL/plush2/pl_read_jaw.cpp b/low/lib/WDL/plush2/pl_read_jaw.cpp similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_read_jaw.cpp rename to low/lib/WDL/plush2/pl_read_jaw.cpp diff --git a/low/lib/WDL/WDL/plush2/pl_spline.cpp b/low/lib/WDL/plush2/pl_spline.cpp similarity index 100% rename from low/lib/WDL/WDL/plush2/pl_spline.cpp rename to low/lib/WDL/plush2/pl_spline.cpp diff --git a/low/lib/WDL/WDL/plush2/plush.h b/low/lib/WDL/plush2/plush.h similarity index 100% rename from low/lib/WDL/WDL/plush2/plush.h rename to low/lib/WDL/plush2/plush.h diff --git a/low/lib/WDL/WDL/poollist.h b/low/lib/WDL/poollist.h similarity index 100% rename from low/lib/WDL/WDL/poollist.h rename to low/lib/WDL/poollist.h diff --git a/low/lib/WDL/WDL/projectcontext.cpp b/low/lib/WDL/projectcontext.cpp similarity index 100% rename from low/lib/WDL/WDL/projectcontext.cpp rename to low/lib/WDL/projectcontext.cpp diff --git a/low/lib/WDL/WDL/projectcontext.h b/low/lib/WDL/projectcontext.h similarity index 100% rename from low/lib/WDL/WDL/projectcontext.h rename to low/lib/WDL/projectcontext.h diff --git a/low/lib/WDL/WDL/prvhash/prvhash_core.h b/low/lib/WDL/prvhash/prvhash_core.h similarity index 100% rename from low/lib/WDL/WDL/prvhash/prvhash_core.h rename to low/lib/WDL/prvhash/prvhash_core.h diff --git a/low/lib/WDL/WDL/ptrlist.h b/low/lib/WDL/ptrlist.h similarity index 100% rename from low/lib/WDL/WDL/ptrlist.h rename to low/lib/WDL/ptrlist.h diff --git a/low/lib/WDL/WDL/ptrlist_indexed.h b/low/lib/WDL/ptrlist_indexed.h similarity index 100% rename from low/lib/WDL/WDL/ptrlist_indexed.h rename to low/lib/WDL/ptrlist_indexed.h diff --git a/low/lib/WDL/WDL/queue.h b/low/lib/WDL/queue.h similarity index 100% rename from low/lib/WDL/WDL/queue.h rename to low/lib/WDL/queue.h diff --git a/low/lib/WDL/WDL/resample.cpp b/low/lib/WDL/resample.cpp similarity index 100% rename from low/lib/WDL/WDL/resample.cpp rename to low/lib/WDL/resample.cpp diff --git a/low/lib/WDL/WDL/resample.h b/low/lib/WDL/resample.h similarity index 100% rename from low/lib/WDL/WDL/resample.h rename to low/lib/WDL/resample.h diff --git a/low/lib/WDL/WDL/rng.cpp b/low/lib/WDL/rng.cpp similarity index 100% rename from low/lib/WDL/WDL/rng.cpp rename to low/lib/WDL/rng.cpp diff --git a/low/lib/WDL/WDL/rng.h b/low/lib/WDL/rng.h similarity index 100% rename from low/lib/WDL/WDL/rng.h rename to low/lib/WDL/rng.h diff --git a/low/lib/WDL/WDL/rpool.h b/low/lib/WDL/rpool.h similarity index 100% rename from low/lib/WDL/WDL/rpool.h rename to low/lib/WDL/rpool.h diff --git a/low/lib/WDL/WDL/sc_bounce/index.html b/low/lib/WDL/sc_bounce/index.html similarity index 100% rename from low/lib/WDL/WDL/sc_bounce/index.html rename to low/lib/WDL/sc_bounce/index.html diff --git a/low/lib/WDL/WDL/sc_bounce/info.php b/low/lib/WDL/sc_bounce/info.php similarity index 100% rename from low/lib/WDL/WDL/sc_bounce/info.php rename to low/lib/WDL/sc_bounce/info.php diff --git a/low/lib/WDL/WDL/sc_bounce/stream-config.php b/low/lib/WDL/sc_bounce/stream-config.php similarity index 100% rename from low/lib/WDL/WDL/sc_bounce/stream-config.php rename to low/lib/WDL/sc_bounce/stream-config.php diff --git a/low/lib/WDL/WDL/sc_bounce/stream.php b/low/lib/WDL/sc_bounce/stream.php similarity index 100% rename from low/lib/WDL/WDL/sc_bounce/stream.php rename to low/lib/WDL/sc_bounce/stream.php diff --git a/low/lib/WDL/WDL/scsrc.cpp b/low/lib/WDL/scsrc.cpp similarity index 100% rename from low/lib/WDL/WDL/scsrc.cpp rename to low/lib/WDL/scsrc.cpp diff --git a/low/lib/WDL/WDL/scsrc.h b/low/lib/WDL/scsrc.h similarity index 100% rename from low/lib/WDL/WDL/scsrc.h rename to low/lib/WDL/scsrc.h diff --git a/low/lib/WDL/WDL/setthreadname.h b/low/lib/WDL/setthreadname.h similarity index 100% rename from low/lib/WDL/WDL/setthreadname.h rename to low/lib/WDL/setthreadname.h diff --git a/low/lib/WDL/WDL/sha.cpp b/low/lib/WDL/sha.cpp similarity index 100% rename from low/lib/WDL/WDL/sha.cpp rename to low/lib/WDL/sha.cpp diff --git a/low/lib/WDL/WDL/sha.h b/low/lib/WDL/sha.h similarity index 100% rename from low/lib/WDL/WDL/sha.h rename to low/lib/WDL/sha.h diff --git a/low/lib/WDL/WDL/sharedpool.h b/low/lib/WDL/sharedpool.h similarity index 100% rename from low/lib/WDL/WDL/sharedpool.h rename to low/lib/WDL/sharedpool.h diff --git a/low/lib/WDL/WDL/shm_connection.cpp b/low/lib/WDL/shm_connection.cpp similarity index 100% rename from low/lib/WDL/WDL/shm_connection.cpp rename to low/lib/WDL/shm_connection.cpp diff --git a/low/lib/WDL/WDL/shm_connection.h b/low/lib/WDL/shm_connection.h similarity index 100% rename from low/lib/WDL/WDL/shm_connection.h rename to low/lib/WDL/shm_connection.h diff --git a/low/lib/WDL/WDL/shm_msgreply.cpp b/low/lib/WDL/shm_msgreply.cpp similarity index 100% rename from low/lib/WDL/WDL/shm_msgreply.cpp rename to low/lib/WDL/shm_msgreply.cpp diff --git a/low/lib/WDL/WDL/shm_msgreply.h b/low/lib/WDL/shm_msgreply.h similarity index 100% rename from low/lib/WDL/WDL/shm_msgreply.h rename to low/lib/WDL/shm_msgreply.h diff --git a/low/lib/WDL/WDL/simple_pitchshift.h b/low/lib/WDL/simple_pitchshift.h similarity index 100% rename from low/lib/WDL/WDL/simple_pitchshift.h rename to low/lib/WDL/simple_pitchshift.h diff --git a/low/lib/WDL/WDL/sinewavegen.h b/low/lib/WDL/sinewavegen.h similarity index 100% rename from low/lib/WDL/WDL/sinewavegen.h rename to low/lib/WDL/sinewavegen.h diff --git a/low/lib/WDL/WDL/stringpool.h b/low/lib/WDL/stringpool.h similarity index 100% rename from low/lib/WDL/WDL/stringpool.h rename to low/lib/WDL/stringpool.h diff --git a/low/lib/WDL/WDL/swell/Makefile b/low/lib/WDL/swell/Makefile similarity index 100% rename from low/lib/WDL/WDL/swell/Makefile rename to low/lib/WDL/swell/Makefile diff --git a/low/lib/WDL/WDL/swell/commctrl.h b/low/lib/WDL/swell/commctrl.h similarity index 100% rename from low/lib/WDL/WDL/swell/commctrl.h rename to low/lib/WDL/swell/commctrl.h diff --git a/low/lib/WDL/WDL/swell/gtkimcontextsimpleseqs.h b/low/lib/WDL/swell/gtkimcontextsimpleseqs.h similarity index 100% rename from low/lib/WDL/WDL/swell/gtkimcontextsimpleseqs.h rename to low/lib/WDL/swell/gtkimcontextsimpleseqs.h diff --git a/low/lib/WDL/WDL/swell/sample_project/English.lproj/InfoPlist.strings b/low/lib/WDL/swell/sample_project/English.lproj/InfoPlist.strings similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/English.lproj/InfoPlist.strings rename to low/lib/WDL/swell/sample_project/English.lproj/InfoPlist.strings diff --git a/low/lib/WDL/WDL/swell/sample_project/English.lproj/MainMenu.xib b/low/lib/WDL/swell/sample_project/English.lproj/MainMenu.xib similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/English.lproj/MainMenu.xib rename to low/lib/WDL/swell/sample_project/English.lproj/MainMenu.xib diff --git a/low/lib/WDL/WDL/swell/sample_project/Info.plist b/low/lib/WDL/swell/sample_project/Info.plist similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/Info.plist rename to low/lib/WDL/swell/sample_project/Info.plist diff --git a/low/lib/WDL/WDL/swell/sample_project/app_main.cpp b/low/lib/WDL/swell/sample_project/app_main.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/app_main.cpp rename to low/lib/WDL/swell/sample_project/app_main.cpp diff --git a/low/lib/WDL/WDL/swell/sample_project/main.h b/low/lib/WDL/swell/sample_project/main.h similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/main.h rename to low/lib/WDL/swell/sample_project/main.h diff --git a/low/lib/WDL/WDL/swell/sample_project/main.m b/low/lib/WDL/swell/sample_project/main.m similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/main.m rename to low/lib/WDL/swell/sample_project/main.m diff --git a/low/lib/WDL/WDL/swell/sample_project/main_dialog.cpp b/low/lib/WDL/swell/sample_project/main_dialog.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/main_dialog.cpp rename to low/lib/WDL/swell/sample_project/main_dialog.cpp diff --git a/low/lib/WDL/WDL/swell/sample_project/resource.h b/low/lib/WDL/swell/sample_project/resource.h similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/resource.h rename to low/lib/WDL/swell/sample_project/resource.h diff --git a/low/lib/WDL/WDL/swell/sample_project/sample_project.dsp b/low/lib/WDL/swell/sample_project/sample_project.dsp similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/sample_project.dsp rename to low/lib/WDL/swell/sample_project/sample_project.dsp diff --git a/low/lib/WDL/WDL/swell/sample_project/sample_project.dsw b/low/lib/WDL/swell/sample_project/sample_project.dsw similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/sample_project.dsw rename to low/lib/WDL/swell/sample_project/sample_project.dsw diff --git a/low/lib/WDL/WDL/swell/sample_project/sample_project.rc b/low/lib/WDL/swell/sample_project/sample_project.rc similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/sample_project.rc rename to low/lib/WDL/swell/sample_project/sample_project.rc diff --git a/low/lib/WDL/WDL/swell/sample_project/sample_project.xcodeproj/TemplateIcon.icns b/low/lib/WDL/swell/sample_project/sample_project.xcodeproj/TemplateIcon.icns similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/sample_project.xcodeproj/TemplateIcon.icns rename to low/lib/WDL/swell/sample_project/sample_project.xcodeproj/TemplateIcon.icns diff --git a/low/lib/WDL/WDL/swell/sample_project/sample_project.xcodeproj/project.pbxproj b/low/lib/WDL/swell/sample_project/sample_project.xcodeproj/project.pbxproj similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/sample_project.xcodeproj/project.pbxproj rename to low/lib/WDL/swell/sample_project/sample_project.xcodeproj/project.pbxproj diff --git a/low/lib/WDL/WDL/swell/sample_project/sample_project_Prefix.pch b/low/lib/WDL/swell/sample_project/sample_project_Prefix.pch similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/sample_project_Prefix.pch rename to low/lib/WDL/swell/sample_project/sample_project_Prefix.pch diff --git a/low/lib/WDL/WDL/swell/sample_project/version.plist b/low/lib/WDL/swell/sample_project/version.plist similarity index 100% rename from low/lib/WDL/WDL/swell/sample_project/version.plist rename to low/lib/WDL/swell/sample_project/version.plist diff --git a/low/lib/WDL/WDL/swell/shlobj.h b/low/lib/WDL/swell/shlobj.h similarity index 100% rename from low/lib/WDL/WDL/swell/shlobj.h rename to low/lib/WDL/swell/shlobj.h diff --git a/low/lib/WDL/WDL/swell/swell-appstub-generic.cpp b/low/lib/WDL/swell/swell-appstub-generic.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-appstub-generic.cpp rename to low/lib/WDL/swell/swell-appstub-generic.cpp diff --git a/low/lib/WDL/WDL/swell/swell-appstub.mm b/low/lib/WDL/swell/swell-appstub.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swell-appstub.mm rename to low/lib/WDL/swell/swell-appstub.mm diff --git a/low/lib/WDL/WDL/swell/swell-dlg-generic.cpp b/low/lib/WDL/swell/swell-dlg-generic.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-dlg-generic.cpp rename to low/lib/WDL/swell/swell-dlg-generic.cpp diff --git a/low/lib/WDL/WDL/swell/swell-dlg.mm b/low/lib/WDL/swell/swell-dlg.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swell-dlg.mm rename to low/lib/WDL/swell/swell-dlg.mm diff --git a/low/lib/WDL/WDL/swell/swell-dlggen.h b/low/lib/WDL/swell/swell-dlggen.h similarity index 100% rename from low/lib/WDL/WDL/swell/swell-dlggen.h rename to low/lib/WDL/swell/swell-dlggen.h diff --git a/low/lib/WDL/WDL/swell/swell-functions.h b/low/lib/WDL/swell/swell-functions.h similarity index 100% rename from low/lib/WDL/WDL/swell/swell-functions.h rename to low/lib/WDL/swell/swell-functions.h diff --git a/low/lib/WDL/WDL/swell/swell-gdi-generic.cpp b/low/lib/WDL/swell/swell-gdi-generic.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-gdi-generic.cpp rename to low/lib/WDL/swell/swell-gdi-generic.cpp diff --git a/low/lib/WDL/WDL/swell/swell-gdi-internalpool.h b/low/lib/WDL/swell/swell-gdi-internalpool.h similarity index 100% rename from low/lib/WDL/WDL/swell/swell-gdi-internalpool.h rename to low/lib/WDL/swell/swell-gdi-internalpool.h diff --git a/low/lib/WDL/WDL/swell/swell-gdi-lice.cpp b/low/lib/WDL/swell/swell-gdi-lice.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-gdi-lice.cpp rename to low/lib/WDL/swell/swell-gdi-lice.cpp diff --git a/low/lib/WDL/WDL/swell/swell-gdi.mm b/low/lib/WDL/swell/swell-gdi.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swell-gdi.mm rename to low/lib/WDL/swell/swell-gdi.mm diff --git a/low/lib/WDL/WDL/swell/swell-generic-gdk.cpp b/low/lib/WDL/swell/swell-generic-gdk.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-generic-gdk.cpp rename to low/lib/WDL/swell/swell-generic-gdk.cpp diff --git a/low/lib/WDL/WDL/swell/swell-generic-headless.cpp b/low/lib/WDL/swell/swell-generic-headless.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-generic-headless.cpp rename to low/lib/WDL/swell/swell-generic-headless.cpp diff --git a/low/lib/WDL/WDL/swell/swell-ini.cpp b/low/lib/WDL/swell/swell-ini.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-ini.cpp rename to low/lib/WDL/swell/swell-ini.cpp diff --git a/low/lib/WDL/WDL/swell/swell-internal.h b/low/lib/WDL/swell/swell-internal.h similarity index 100% rename from low/lib/WDL/WDL/swell/swell-internal.h rename to low/lib/WDL/swell/swell-internal.h diff --git a/low/lib/WDL/WDL/swell/swell-kb-generic.cpp b/low/lib/WDL/swell/swell-kb-generic.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-kb-generic.cpp rename to low/lib/WDL/swell/swell-kb-generic.cpp diff --git a/low/lib/WDL/WDL/swell/swell-kb.mm b/low/lib/WDL/swell/swell-kb.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swell-kb.mm rename to low/lib/WDL/swell/swell-kb.mm diff --git a/low/lib/WDL/WDL/swell/swell-menu-generic.cpp b/low/lib/WDL/swell/swell-menu-generic.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-menu-generic.cpp rename to low/lib/WDL/swell/swell-menu-generic.cpp diff --git a/low/lib/WDL/WDL/swell/swell-menu.mm b/low/lib/WDL/swell/swell-menu.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swell-menu.mm rename to low/lib/WDL/swell/swell-menu.mm diff --git a/low/lib/WDL/WDL/swell/swell-menugen.h b/low/lib/WDL/swell/swell-menugen.h similarity index 100% rename from low/lib/WDL/WDL/swell/swell-menugen.h rename to low/lib/WDL/swell/swell-menugen.h diff --git a/low/lib/WDL/WDL/swell/swell-misc-generic.cpp b/low/lib/WDL/swell/swell-misc-generic.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-misc-generic.cpp rename to low/lib/WDL/swell/swell-misc-generic.cpp diff --git a/low/lib/WDL/WDL/swell/swell-misc.mm b/low/lib/WDL/swell/swell-misc.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swell-misc.mm rename to low/lib/WDL/swell/swell-misc.mm diff --git a/low/lib/WDL/WDL/swell/swell-miscdlg-generic.cpp b/low/lib/WDL/swell/swell-miscdlg-generic.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-miscdlg-generic.cpp rename to low/lib/WDL/swell/swell-miscdlg-generic.cpp diff --git a/low/lib/WDL/WDL/swell/swell-miscdlg.mm b/low/lib/WDL/swell/swell-miscdlg.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swell-miscdlg.mm rename to low/lib/WDL/swell/swell-miscdlg.mm diff --git a/low/lib/WDL/WDL/swell/swell-modstub-generic.cpp b/low/lib/WDL/swell/swell-modstub-generic.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-modstub-generic.cpp rename to low/lib/WDL/swell/swell-modstub-generic.cpp diff --git a/low/lib/WDL/WDL/swell/swell-modstub.mm b/low/lib/WDL/swell/swell-modstub.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swell-modstub.mm rename to low/lib/WDL/swell/swell-modstub.mm diff --git a/low/lib/WDL/WDL/swell/swell-types.h b/low/lib/WDL/swell/swell-types.h similarity index 100% rename from low/lib/WDL/WDL/swell/swell-types.h rename to low/lib/WDL/swell/swell-types.h diff --git a/low/lib/WDL/WDL/swell/swell-win32.h b/low/lib/WDL/swell/swell-win32.h similarity index 100% rename from low/lib/WDL/WDL/swell/swell-win32.h rename to low/lib/WDL/swell/swell-win32.h diff --git a/low/lib/WDL/WDL/swell/swell-wnd-generic.cpp b/low/lib/WDL/swell/swell-wnd-generic.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell-wnd-generic.cpp rename to low/lib/WDL/swell/swell-wnd-generic.cpp diff --git a/low/lib/WDL/WDL/swell/swell-wnd.mm b/low/lib/WDL/swell/swell-wnd.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swell-wnd.mm rename to low/lib/WDL/swell/swell-wnd.mm diff --git a/low/lib/WDL/WDL/swell/swell.cpp b/low/lib/WDL/swell/swell.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/swell.cpp rename to low/lib/WDL/swell/swell.cpp diff --git a/low/lib/WDL/WDL/swell/swell.h b/low/lib/WDL/swell/swell.h similarity index 100% rename from low/lib/WDL/WDL/swell/swell.h rename to low/lib/WDL/swell/swell.h diff --git a/low/lib/WDL/WDL/swell/swell_resgen.php b/low/lib/WDL/swell/swell_resgen.php similarity index 100% rename from low/lib/WDL/WDL/swell/swell_resgen.php rename to low/lib/WDL/swell/swell_resgen.php diff --git a/low/lib/WDL/WDL/swell/swell_resgen.sh b/low/lib/WDL/swell/swell_resgen.sh similarity index 100% rename from low/lib/WDL/WDL/swell/swell_resgen.sh rename to low/lib/WDL/swell/swell_resgen.sh diff --git a/low/lib/WDL/WDL/swell/swellappmain.h b/low/lib/WDL/swell/swellappmain.h similarity index 100% rename from low/lib/WDL/WDL/swell/swellappmain.h rename to low/lib/WDL/swell/swellappmain.h diff --git a/low/lib/WDL/WDL/swell/swellappmain.mm b/low/lib/WDL/swell/swellappmain.mm similarity index 100% rename from low/lib/WDL/WDL/swell/swellappmain.mm rename to low/lib/WDL/swell/swellappmain.mm diff --git a/low/lib/WDL/WDL/swell/test.cpp b/low/lib/WDL/swell/test.cpp similarity index 100% rename from low/lib/WDL/WDL/swell/test.cpp rename to low/lib/WDL/swell/test.cpp diff --git a/low/lib/WDL/WDL/swell/windows.h b/low/lib/WDL/swell/windows.h similarity index 100% rename from low/lib/WDL/WDL/swell/windows.h rename to low/lib/WDL/swell/windows.h diff --git a/low/lib/WDL/WDL/time_precise.h b/low/lib/WDL/time_precise.h similarity index 100% rename from low/lib/WDL/WDL/time_precise.h rename to low/lib/WDL/time_precise.h diff --git a/low/lib/WDL/WDL/timing.c b/low/lib/WDL/timing.c similarity index 100% rename from low/lib/WDL/WDL/timing.c rename to low/lib/WDL/timing.c diff --git a/low/lib/WDL/WDL/timing.h b/low/lib/WDL/timing.h similarity index 100% rename from low/lib/WDL/WDL/timing.h rename to low/lib/WDL/timing.h diff --git a/low/lib/WDL/WDL/turtleparse.h b/low/lib/WDL/turtleparse.h similarity index 100% rename from low/lib/WDL/WDL/turtleparse.h rename to low/lib/WDL/turtleparse.h diff --git a/low/lib/WDL/WDL/verbengine.h b/low/lib/WDL/verbengine.h similarity index 100% rename from low/lib/WDL/WDL/verbengine.h rename to low/lib/WDL/verbengine.h diff --git a/low/lib/WDL/WDL/vorbisencdec.h b/low/lib/WDL/vorbisencdec.h similarity index 100% rename from low/lib/WDL/WDL/vorbisencdec.h rename to low/lib/WDL/vorbisencdec.h diff --git a/low/lib/WDL/WDL/wavwrite.h b/low/lib/WDL/wavwrite.h similarity index 100% rename from low/lib/WDL/WDL/wavwrite.h rename to low/lib/WDL/wavwrite.h diff --git a/low/lib/WDL/WDL/wdl_base64.h b/low/lib/WDL/wdl_base64.h similarity index 100% rename from low/lib/WDL/WDL/wdl_base64.h rename to low/lib/WDL/wdl_base64.h diff --git a/low/lib/WDL/WDL/wdlatomic.h b/low/lib/WDL/wdlatomic.h similarity index 100% rename from low/lib/WDL/WDL/wdlatomic.h rename to low/lib/WDL/wdlatomic.h diff --git a/low/lib/WDL/WDL/wdlcstring.h b/low/lib/WDL/wdlcstring.h similarity index 100% rename from low/lib/WDL/WDL/wdlcstring.h rename to low/lib/WDL/wdlcstring.h diff --git a/low/lib/WDL/WDL/wdlstring.h b/low/lib/WDL/wdlstring.h similarity index 100% rename from low/lib/WDL/WDL/wdlstring.h rename to low/lib/WDL/wdlstring.h diff --git a/low/lib/WDL/WDL/wdltypes.h b/low/lib/WDL/wdltypes.h similarity index 100% rename from low/lib/WDL/WDL/wdltypes.h rename to low/lib/WDL/wdltypes.h diff --git a/low/lib/WDL/WDL/wdlutf8.h b/low/lib/WDL/wdlutf8.h similarity index 100% rename from low/lib/WDL/WDL/wdlutf8.h rename to low/lib/WDL/wdlutf8.h diff --git a/low/lib/WDL/WDL/win32_curses/curses.h b/low/lib/WDL/win32_curses/curses.h similarity index 100% rename from low/lib/WDL/WDL/win32_curses/curses.h rename to low/lib/WDL/win32_curses/curses.h diff --git a/low/lib/WDL/WDL/win32_curses/curses_editor.cpp b/low/lib/WDL/win32_curses/curses_editor.cpp similarity index 100% rename from low/lib/WDL/WDL/win32_curses/curses_editor.cpp rename to low/lib/WDL/win32_curses/curses_editor.cpp diff --git a/low/lib/WDL/WDL/win32_curses/curses_editor.h b/low/lib/WDL/win32_curses/curses_editor.h similarity index 100% rename from low/lib/WDL/WDL/win32_curses/curses_editor.h rename to low/lib/WDL/win32_curses/curses_editor.h diff --git a/low/lib/WDL/WDL/win32_curses/curses_win32.cpp b/low/lib/WDL/win32_curses/curses_win32.cpp similarity index 100% rename from low/lib/WDL/WDL/win32_curses/curses_win32.cpp rename to low/lib/WDL/win32_curses/curses_win32.cpp diff --git a/low/lib/WDL/WDL/win32_curses/eel_edit.cpp b/low/lib/WDL/win32_curses/eel_edit.cpp similarity index 100% rename from low/lib/WDL/WDL/win32_curses/eel_edit.cpp rename to low/lib/WDL/win32_curses/eel_edit.cpp diff --git a/low/lib/WDL/WDL/win32_curses/eel_edit.h b/low/lib/WDL/win32_curses/eel_edit.h similarity index 100% rename from low/lib/WDL/WDL/win32_curses/eel_edit.h rename to low/lib/WDL/win32_curses/eel_edit.h diff --git a/low/lib/WDL/WDL/win32_curses/test.cpp b/low/lib/WDL/win32_curses/test.cpp similarity index 100% rename from low/lib/WDL/WDL/win32_curses/test.cpp rename to low/lib/WDL/win32_curses/test.cpp diff --git a/low/lib/WDL/WDL/win32_helpers.h b/low/lib/WDL/win32_helpers.h similarity index 100% rename from low/lib/WDL/WDL/win32_helpers.h rename to low/lib/WDL/win32_helpers.h diff --git a/low/lib/WDL/WDL/win32_hidpi.h b/low/lib/WDL/win32_hidpi.h similarity index 100% rename from low/lib/WDL/WDL/win32_hidpi.h rename to low/lib/WDL/win32_hidpi.h diff --git a/low/lib/WDL/WDL/win32_printf.h b/low/lib/WDL/win32_printf.h similarity index 100% rename from low/lib/WDL/WDL/win32_printf.h rename to low/lib/WDL/win32_printf.h diff --git a/low/lib/WDL/WDL/win32_utf8.c b/low/lib/WDL/win32_utf8.c similarity index 100% rename from low/lib/WDL/WDL/win32_utf8.c rename to low/lib/WDL/win32_utf8.c diff --git a/low/lib/WDL/WDL/win32_utf8.h b/low/lib/WDL/win32_utf8.h similarity index 100% rename from low/lib/WDL/WDL/win32_utf8.h rename to low/lib/WDL/win32_utf8.h diff --git a/low/lib/WDL/WDL/win7filedialog.cpp b/low/lib/WDL/win7filedialog.cpp similarity index 100% rename from low/lib/WDL/WDL/win7filedialog.cpp rename to low/lib/WDL/win7filedialog.cpp diff --git a/low/lib/WDL/WDL/win7filedialog.h b/low/lib/WDL/win7filedialog.h similarity index 100% rename from low/lib/WDL/WDL/win7filedialog.h rename to low/lib/WDL/win7filedialog.h diff --git a/low/lib/WDL/WDL/wingui/dlgitemborder.h b/low/lib/WDL/wingui/dlgitemborder.h similarity index 100% rename from low/lib/WDL/WDL/wingui/dlgitemborder.h rename to low/lib/WDL/wingui/dlgitemborder.h diff --git a/low/lib/WDL/WDL/wingui/membitmap.h b/low/lib/WDL/wingui/membitmap.h similarity index 100% rename from low/lib/WDL/WDL/wingui/membitmap.h rename to low/lib/WDL/wingui/membitmap.h diff --git a/low/lib/WDL/WDL/wingui/richeditctrl.h b/low/lib/WDL/wingui/richeditctrl.h similarity index 100% rename from low/lib/WDL/WDL/wingui/richeditctrl.h rename to low/lib/WDL/wingui/richeditctrl.h diff --git a/low/lib/WDL/WDL/wingui/scrollbar/coolscroll.cpp b/low/lib/WDL/wingui/scrollbar/coolscroll.cpp similarity index 100% rename from low/lib/WDL/WDL/wingui/scrollbar/coolscroll.cpp rename to low/lib/WDL/wingui/scrollbar/coolscroll.cpp diff --git a/low/lib/WDL/WDL/wingui/scrollbar/coolscroll.h b/low/lib/WDL/wingui/scrollbar/coolscroll.h similarity index 100% rename from low/lib/WDL/WDL/wingui/scrollbar/coolscroll.h rename to low/lib/WDL/wingui/scrollbar/coolscroll.h diff --git a/low/lib/WDL/WDL/wingui/virtwnd-controls.h b/low/lib/WDL/wingui/virtwnd-controls.h similarity index 100% rename from low/lib/WDL/WDL/wingui/virtwnd-controls.h rename to low/lib/WDL/wingui/virtwnd-controls.h diff --git a/low/lib/WDL/WDL/wingui/virtwnd-iaccessible.cpp b/low/lib/WDL/wingui/virtwnd-iaccessible.cpp similarity index 100% rename from low/lib/WDL/WDL/wingui/virtwnd-iaccessible.cpp rename to low/lib/WDL/wingui/virtwnd-iaccessible.cpp diff --git a/low/lib/WDL/WDL/wingui/virtwnd-iconbutton.cpp b/low/lib/WDL/wingui/virtwnd-iconbutton.cpp similarity index 100% rename from low/lib/WDL/WDL/wingui/virtwnd-iconbutton.cpp rename to low/lib/WDL/wingui/virtwnd-iconbutton.cpp diff --git a/low/lib/WDL/WDL/wingui/virtwnd-listbox.cpp b/low/lib/WDL/wingui/virtwnd-listbox.cpp similarity index 100% rename from low/lib/WDL/WDL/wingui/virtwnd-listbox.cpp rename to low/lib/WDL/wingui/virtwnd-listbox.cpp diff --git a/low/lib/WDL/WDL/wingui/virtwnd-nsaccessibility.mm b/low/lib/WDL/wingui/virtwnd-nsaccessibility.mm similarity index 100% rename from low/lib/WDL/WDL/wingui/virtwnd-nsaccessibility.mm rename to low/lib/WDL/wingui/virtwnd-nsaccessibility.mm diff --git a/low/lib/WDL/WDL/wingui/virtwnd-skin.h b/low/lib/WDL/wingui/virtwnd-skin.h similarity index 100% rename from low/lib/WDL/WDL/wingui/virtwnd-skin.h rename to low/lib/WDL/wingui/virtwnd-skin.h diff --git a/low/lib/WDL/WDL/wingui/virtwnd-slider.cpp b/low/lib/WDL/wingui/virtwnd-slider.cpp similarity index 100% rename from low/lib/WDL/WDL/wingui/virtwnd-slider.cpp rename to low/lib/WDL/wingui/virtwnd-slider.cpp diff --git a/low/lib/WDL/WDL/wingui/virtwnd.cpp b/low/lib/WDL/wingui/virtwnd.cpp similarity index 100% rename from low/lib/WDL/WDL/wingui/virtwnd.cpp rename to low/lib/WDL/wingui/virtwnd.cpp diff --git a/low/lib/WDL/WDL/wingui/virtwnd.h b/low/lib/WDL/wingui/virtwnd.h similarity index 100% rename from low/lib/WDL/WDL/wingui/virtwnd.h rename to low/lib/WDL/wingui/virtwnd.h diff --git a/low/lib/WDL/WDL/wingui/wndsize.cpp b/low/lib/WDL/wingui/wndsize.cpp similarity index 100% rename from low/lib/WDL/WDL/wingui/wndsize.cpp rename to low/lib/WDL/wingui/wndsize.cpp diff --git a/low/lib/WDL/WDL/wingui/wndsize.h b/low/lib/WDL/wingui/wndsize.h similarity index 100% rename from low/lib/WDL/WDL/wingui/wndsize.h rename to low/lib/WDL/wingui/wndsize.h diff --git a/low/lib/WDL/WDL/xmlparse.h b/low/lib/WDL/xmlparse.h similarity index 100% rename from low/lib/WDL/WDL/xmlparse.h rename to low/lib/WDL/xmlparse.h diff --git a/low/lib/WDL/WDL/xmlparse_test.cpp b/low/lib/WDL/xmlparse_test.cpp similarity index 100% rename from low/lib/WDL/WDL/xmlparse_test.cpp rename to low/lib/WDL/xmlparse_test.cpp diff --git a/low/lib/WDL/WDL/xsrand.h b/low/lib/WDL/xsrand.h similarity index 100% rename from low/lib/WDL/WDL/xsrand.h rename to low/lib/WDL/xsrand.h diff --git a/low/lib/WDL/WDL/zlib/ChangeLog b/low/lib/WDL/zlib/ChangeLog similarity index 100% rename from low/lib/WDL/WDL/zlib/ChangeLog rename to low/lib/WDL/zlib/ChangeLog diff --git a/low/lib/WDL/WDL/zlib/MiniZip64_info.txt b/low/lib/WDL/zlib/MiniZip64_info.txt similarity index 100% rename from low/lib/WDL/WDL/zlib/MiniZip64_info.txt rename to low/lib/WDL/zlib/MiniZip64_info.txt diff --git a/low/lib/WDL/WDL/zlib/README b/low/lib/WDL/zlib/README similarity index 100% rename from low/lib/WDL/WDL/zlib/README rename to low/lib/WDL/zlib/README diff --git a/low/lib/WDL/WDL/zlib/adler32.c b/low/lib/WDL/zlib/adler32.c similarity index 100% rename from low/lib/WDL/WDL/zlib/adler32.c rename to low/lib/WDL/zlib/adler32.c diff --git a/low/lib/WDL/WDL/zlib/compress.c b/low/lib/WDL/zlib/compress.c similarity index 100% rename from low/lib/WDL/WDL/zlib/compress.c rename to low/lib/WDL/zlib/compress.c diff --git a/low/lib/WDL/WDL/zlib/crc32.c b/low/lib/WDL/zlib/crc32.c similarity index 100% rename from low/lib/WDL/WDL/zlib/crc32.c rename to low/lib/WDL/zlib/crc32.c diff --git a/low/lib/WDL/WDL/zlib/crc32.h b/low/lib/WDL/zlib/crc32.h similarity index 100% rename from low/lib/WDL/WDL/zlib/crc32.h rename to low/lib/WDL/zlib/crc32.h diff --git a/low/lib/WDL/WDL/zlib/deflate.c b/low/lib/WDL/zlib/deflate.c similarity index 100% rename from low/lib/WDL/WDL/zlib/deflate.c rename to low/lib/WDL/zlib/deflate.c diff --git a/low/lib/WDL/WDL/zlib/deflate.h b/low/lib/WDL/zlib/deflate.h similarity index 100% rename from low/lib/WDL/WDL/zlib/deflate.h rename to low/lib/WDL/zlib/deflate.h diff --git a/low/lib/WDL/WDL/zlib/gzclose.c b/low/lib/WDL/zlib/gzclose.c similarity index 100% rename from low/lib/WDL/WDL/zlib/gzclose.c rename to low/lib/WDL/zlib/gzclose.c diff --git a/low/lib/WDL/WDL/zlib/gzguts.h b/low/lib/WDL/zlib/gzguts.h similarity index 100% rename from low/lib/WDL/WDL/zlib/gzguts.h rename to low/lib/WDL/zlib/gzguts.h diff --git a/low/lib/WDL/WDL/zlib/gzlib.c b/low/lib/WDL/zlib/gzlib.c similarity index 100% rename from low/lib/WDL/WDL/zlib/gzlib.c rename to low/lib/WDL/zlib/gzlib.c diff --git a/low/lib/WDL/WDL/zlib/gzread.c b/low/lib/WDL/zlib/gzread.c similarity index 100% rename from low/lib/WDL/WDL/zlib/gzread.c rename to low/lib/WDL/zlib/gzread.c diff --git a/low/lib/WDL/WDL/zlib/gzwrite.c b/low/lib/WDL/zlib/gzwrite.c similarity index 100% rename from low/lib/WDL/WDL/zlib/gzwrite.c rename to low/lib/WDL/zlib/gzwrite.c diff --git a/low/lib/WDL/WDL/zlib/infback.c b/low/lib/WDL/zlib/infback.c similarity index 100% rename from low/lib/WDL/WDL/zlib/infback.c rename to low/lib/WDL/zlib/infback.c diff --git a/low/lib/WDL/WDL/zlib/inffast.c b/low/lib/WDL/zlib/inffast.c similarity index 100% rename from low/lib/WDL/WDL/zlib/inffast.c rename to low/lib/WDL/zlib/inffast.c diff --git a/low/lib/WDL/WDL/zlib/inffast.h b/low/lib/WDL/zlib/inffast.h similarity index 100% rename from low/lib/WDL/WDL/zlib/inffast.h rename to low/lib/WDL/zlib/inffast.h diff --git a/low/lib/WDL/WDL/zlib/inffixed.h b/low/lib/WDL/zlib/inffixed.h similarity index 100% rename from low/lib/WDL/WDL/zlib/inffixed.h rename to low/lib/WDL/zlib/inffixed.h diff --git a/low/lib/WDL/WDL/zlib/inflate.c b/low/lib/WDL/zlib/inflate.c similarity index 100% rename from low/lib/WDL/WDL/zlib/inflate.c rename to low/lib/WDL/zlib/inflate.c diff --git a/low/lib/WDL/WDL/zlib/inflate.h b/low/lib/WDL/zlib/inflate.h similarity index 100% rename from low/lib/WDL/WDL/zlib/inflate.h rename to low/lib/WDL/zlib/inflate.h diff --git a/low/lib/WDL/WDL/zlib/inftrees.c b/low/lib/WDL/zlib/inftrees.c similarity index 100% rename from low/lib/WDL/WDL/zlib/inftrees.c rename to low/lib/WDL/zlib/inftrees.c diff --git a/low/lib/WDL/WDL/zlib/inftrees.h b/low/lib/WDL/zlib/inftrees.h similarity index 100% rename from low/lib/WDL/WDL/zlib/inftrees.h rename to low/lib/WDL/zlib/inftrees.h diff --git a/low/lib/WDL/WDL/zlib/ioapi.c b/low/lib/WDL/zlib/ioapi.c similarity index 100% rename from low/lib/WDL/WDL/zlib/ioapi.c rename to low/lib/WDL/zlib/ioapi.c diff --git a/low/lib/WDL/WDL/zlib/ioapi.h b/low/lib/WDL/zlib/ioapi.h similarity index 100% rename from low/lib/WDL/WDL/zlib/ioapi.h rename to low/lib/WDL/zlib/ioapi.h diff --git a/low/lib/WDL/WDL/zlib/trees.c b/low/lib/WDL/zlib/trees.c similarity index 100% rename from low/lib/WDL/WDL/zlib/trees.c rename to low/lib/WDL/zlib/trees.c diff --git a/low/lib/WDL/WDL/zlib/trees.h b/low/lib/WDL/zlib/trees.h similarity index 100% rename from low/lib/WDL/WDL/zlib/trees.h rename to low/lib/WDL/zlib/trees.h diff --git a/low/lib/WDL/WDL/zlib/uncompr.c b/low/lib/WDL/zlib/uncompr.c similarity index 100% rename from low/lib/WDL/WDL/zlib/uncompr.c rename to low/lib/WDL/zlib/uncompr.c diff --git a/low/lib/WDL/WDL/zlib/unzip.c b/low/lib/WDL/zlib/unzip.c similarity index 100% rename from low/lib/WDL/WDL/zlib/unzip.c rename to low/lib/WDL/zlib/unzip.c diff --git a/low/lib/WDL/WDL/zlib/unzip.h b/low/lib/WDL/zlib/unzip.h similarity index 100% rename from low/lib/WDL/WDL/zlib/unzip.h rename to low/lib/WDL/zlib/unzip.h diff --git a/low/lib/WDL/WDL/zlib/zconf.h b/low/lib/WDL/zlib/zconf.h similarity index 100% rename from low/lib/WDL/WDL/zlib/zconf.h rename to low/lib/WDL/zlib/zconf.h diff --git a/low/lib/WDL/WDL/zlib/zip.c b/low/lib/WDL/zlib/zip.c similarity index 100% rename from low/lib/WDL/WDL/zlib/zip.c rename to low/lib/WDL/zlib/zip.c diff --git a/low/lib/WDL/WDL/zlib/zip.h b/low/lib/WDL/zlib/zip.h similarity index 100% rename from low/lib/WDL/WDL/zlib/zip.h rename to low/lib/WDL/zlib/zip.h diff --git a/low/lib/WDL/WDL/zlib/zlib.h b/low/lib/WDL/zlib/zlib.h similarity index 100% rename from low/lib/WDL/WDL/zlib/zlib.h rename to low/lib/WDL/zlib/zlib.h diff --git a/low/lib/WDL/WDL/zlib/zlib_import.h b/low/lib/WDL/zlib/zlib_import.h similarity index 100% rename from low/lib/WDL/WDL/zlib/zlib_import.h rename to low/lib/WDL/zlib/zlib_import.h diff --git a/low/lib/WDL/WDL/zlib/zutil.c b/low/lib/WDL/zlib/zutil.c similarity index 100% rename from low/lib/WDL/WDL/zlib/zutil.c rename to low/lib/WDL/zlib/zutil.c diff --git a/low/lib/WDL/WDL/zlib/zutil.h b/low/lib/WDL/zlib/zutil.h similarity index 100% rename from low/lib/WDL/WDL/zlib/zutil.h rename to low/lib/WDL/zlib/zutil.h diff --git a/low/lib/reaper/localize-import.h b/low/lib/reaper/localize-import.h new file mode 100644 index 0000000..e42c01c --- /dev/null +++ b/low/lib/reaper/localize-import.h @@ -0,0 +1,35 @@ +// used by plug-ins to access imported localization +// usage: +// #define LOCALIZE_IMPORT_PREFIX "midi_" (should be the directory name with _) +// #include "../localize-import.h" +// ... +// IMPORT_LOCALIZE_VST(hostcb) +// ...or +// IMPORT_LOCALIZE_RPLUG(rec) +// +#ifdef _REAPER_LOCALIZE_H_ +#error you must include localize-import.h before localize.h, sorry +#endif + +#include "../WDL/localize/localize-import.h" + +#ifndef _REAPER_LOCALIZE_IMPORT_H_ +#define _REAPER_LOCALIZE_IMPORT_H_ + +void (*vac_createGroupsFromTab)(const unsigned short *); + +#define IMPORT_LOCALIZE_VST(hostcb) \ + *(VstIntPtr *)&vac_createGroupsFromTab = hostcb(NULL,0xdeadbeef,0xdeadf00d,0,(void*)"vac_createGroupsFromTab",0.0); \ + *(VstIntPtr *)&importedLocalizeFunc = hostcb(NULL,0xdeadbeef,0xdeadf00d,0,(void*)"__localizeFunc",0.0); \ + *(VstIntPtr *)&importedLocalizeMenu = hostcb(NULL,0xdeadbeef,0xdeadf00d,0,(void*)"__localizeMenu",0.0); \ + *(VstIntPtr *)&importedLocalizeInitializeDialog = hostcb(NULL,0xdeadbeef,0xdeadf00d,0,(void*)"__localizeInitializeDialog",0.0); \ + *(VstIntPtr *)&importedLocalizePrepareDialog = hostcb(NULL,0xdeadbeef,0xdeadf00d,0,(void*)"__localizePrepareDialog",0.0); + +#define IMPORT_LOCALIZE_RPLUG(rec) \ + *(void **)&vac_createGroupsFromTab = rec->GetFunc("vac_createGroupsFromTab"); \ + *(void **)&importedLocalizeFunc = rec->GetFunc("__localizeFunc"); \ + *(void **)&importedLocalizeMenu = rec->GetFunc("__localizeMenu"); \ + *(void **)&importedLocalizeInitializeDialog = rec->GetFunc("__localizeInitializeDialog"); \ + *(void **)&importedLocalizePrepareDialog = rec->GetFunc("__localizePrepareDialog"); + +#endif diff --git a/low/lib/reaper/reaper_plugin.h b/low/lib/reaper/reaper_plugin.h index a50367f..29bd81a 100644 --- a/low/lib/reaper/reaper_plugin.h +++ b/low/lib/reaper/reaper_plugin.h @@ -46,7 +46,7 @@ typedef double ReaSample; #define REAPER_PLUGIN_HINSTANCE HINSTANCE #else -#include "../WDL/WDL/swell/swell.h" +#include "../WDL/swell/swell.h" #include #define REAPER_PLUGIN_DLL_EXPORT __attribute__((visibility("default"))) @@ -138,6 +138,15 @@ REAPER_STATICFUNC void REAPER_BSWAPINTMEM8(void *buf) // CLAP plugins can access the REAPER API via: // const void *clap_host.get_extension(const clap_host *host, "cockos.reaper_extension"); // which returns a pointer to a reaper_plugin_info_t struct +// +// CLAP plugins can also (v6.80+) get their context information by getFunc("clap_get_reaper_context") +// void *(*clap_get_reaper_context)(const clap_host *host, int sel); +// sel=1 for parent track if track FX +// sel=2 for parent take if item FX +// sel=3 for project +// sel=4 for FxDsp +// sel=5 for track channel count (INT_PTR) +// sel=6 for index in chain #define REAPER_PLUGIN_VERSION 0x20E @@ -717,7 +726,9 @@ enum { RAWMIDI_NOTESONLY=1, RAWMIDI_UNFILTERED=2 }; #define PCM_SOURCE_EXT_MIDI_COMPACTPHRASES 0x90028 // compact the notation phrase ID space #define PCM_SOURCE_EXT_GETSETALLMIDI 0x90029 // parm1=(unsigned char*)data buffer, parm2=(int*)buffer length in bytes, parm2=(1:set, 0:get). Buffer is a list of { int offset, char flag, int msglen, unsigned char msg[] }. offset: MIDI ticks from previous event, flag: &1=selected &2=muted, msglen: byte length of msg (usually 3), msg: the MIDI message. #define PCM_SOURCE_EXT_DISABLESORTMIDIEVTS 0x90030 // disable sorting for PCM_SOURCE_EXT_GETSETMIDIEVT until PCM_SOURCE_EXT_SORTMIDIEVTS is called +#define PCM_SOURCE_EXT_GETPOOLEDMIDIID2 0x90031 // parm1=(GUID*)id, parm2=(int*)pool user count, parm3=(MediaItem_Take**)firstuser #define PCM_SOURCE_EXT_GETLAPPING 0xC0100 // parm1 = ReaSample buffer, parm2=(INT_PTR)maxlap, returns size of lapping returned. usually not supported. special purpose. +#define PCM_SOURCE_EXT_SET_PREVIEW_POS_OVERRIDE 0xC0101 // parm1 = (double *)&tickpos, tickpos<0 for no override // register with Register("pcmsrc",&struct ... and unregister with "-pcmsrc" typedef struct _REAPER_pcmsrc_register_t { @@ -917,6 +928,9 @@ class IReaperPitchShift virtual int Extended(int call, void *parm1, void *parm2, void *parm3) { return 0; } // return 0 if unsupported }; #define REAPER_PITCHSHIFT_EXT_GETMINMAXPRODUCTS 0x1 +#define REAPER_PITCHSHIFT_EXT_GET_CHAN_LIMIT 0x100 // return channel limit if any +#define REAPER_PITCHSHIFT_EXT_SET_OUTPUT_BPM 0x200 // parm1 = *(double *)bpm +#define REAPER_PITCHSHIFT_EXT_WANT_OUTPUT_BPM 0x201 // returns 1 if desired /*************************************************************************************** @@ -1005,6 +1019,7 @@ typedef struct _REAPER_custom_action_register_t ** gaccel_register_t allows you to register ("gaccel") an action into the main keyboard section action list, and at the same time ** a default binding for it (accel.cmd is the command ID, desc is the description, and accel's other parameters are the ** key to bind. +** 7.07+ - can use "gaccel_global" or "gaccel_globaltext" to make the accel registered as a global by default */ typedef struct _REAPER_gaccel_register_t @@ -1175,7 +1190,7 @@ typedef struct _REAPER_KbdSectionInfo KbdCmd *action_list; // list of assignable actions int action_list_cnt; - KbdKeyBindingInfo *def_keys; // list of default key bindings + const KbdKeyBindingInfo *def_keys; // list of default key bindings int def_keys_cnt; // hwnd is 0 if MIDI etc. return false if ignoring @@ -1434,7 +1449,7 @@ typedef struct _REAPER_reaper_csurf_reg_t #define UNDO_STATE_ALL 0xFFFFFFFF #define UNDO_STATE_TRACKCFG 1 // has track/master vol/pan/routing, routing/hwout envelopes too #define UNDO_STATE_FX 2 // track/master fx -#define UNDO_STATE_ITEMS 4 // track items +#define UNDO_STATE_ITEMS 4 // track items and linkedlanes #define UNDO_STATE_MISCCFG 8 // loop selection, markers, regions, extensions! #define UNDO_STATE_FREEZE 16 // freeze state -- note that isfreeze is used independently, this is only used for the undo system to serialize the already frozen state #define UNDO_STATE_TRACKENV 32 // non-FX envelopes only @@ -1442,9 +1457,17 @@ typedef struct _REAPER_reaper_csurf_reg_t #define UNDO_STATE_POOLEDENVS 128 // contents of pooled envs -- not position, length, rate etc of pooled env instances, which is part of envelope state #endif +#ifndef IS_MSG_VIRTKEY + #ifdef _WIN32 + #define IS_MSG_VIRTKEY(msg) ((msg)->message != WM_CHAR) + #else + #define IS_MSG_VIRTKEY(msg) ((msg)->lParam&FVIRTKEY) + #endif +#endif +#define IS_MSG_FKEY(msg) ((msg)->wParam >= VK_F1 && (msg)->wParam <= VK_F24 && IS_MSG_VIRTKEY(msg)) #define WDL_FILEWRITE_ON_ERROR(is_full) update_disk_counters(0,-101010110 - ((is_full) ? 1 : 0)); -#define REAPER_MAX_CHANNELS 64 +#define REAPER_MAX_CHANNELS 128 #endif//_REAPER_PLUGIN_H_ diff --git a/low/lib/reaper/reaper_plugin_functions.h b/low/lib/reaper/reaper_plugin_functions.h index 83eee8a..c39e8ff 100644 --- a/low/lib/reaper/reaper_plugin_functions.h +++ b/low/lib/reaper/reaper_plugin_functions.h @@ -2,7 +2,7 @@ #define _REAPER_PLUGIN_FUNCTIONS_H_ // REAPER API functions -// Generated by REAPER v6.73/linux-x86_64 +// Generated by REAPER v7.11/linux-x86_64 /* * Copyright 2006 and later, Cockos Incorporated @@ -36,7 +36,6 @@ // Check that a non-NULL function pointer was returned before using it (unless // loaded functions are verified using REAPERAPI_LoadAPI(), see note below). -// New (4.76+) usage of this file: // 1) most source files should just #include "reaper_plugin_functions.h" as is. // 2) one file should #define REAPERAPI_IMPLEMENT before including this file. // 3) the plug-in should call REAPERAPI_LoadAPI(rec->GetFunc) from REAPER_PLUGIN_ENTRYPOINT @@ -1154,6 +1153,14 @@ REAPERAPI_DEF //============================================== const char* (*EnumerateSubdirectories)(const char* path, int subdirindex); #endif +#if defined(REAPERAPI_WANT_EnumInstalledFX) || !defined(REAPERAPI_MINIMAL) +REAPERAPI_DEF //============================================== +// EnumInstalledFX +// Enumerates installed FX. Returns true if successful, sets nameOut and identOut to name and ident of FX at index. + + bool (*EnumInstalledFX)(int index, const char** nameOut, const char** identOut); +#endif + #if defined(REAPERAPI_WANT_EnumPitchShiftModes) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // EnumPitchShiftModes @@ -1359,6 +1366,9 @@ REAPERAPI_DEF //============================================== #if defined(REAPERAPI_WANT_get_config_var) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // get_config_var +// gets ini configuration variable by name, raw, returns size of variable in szOut and pointer to variable. special values queryable are also: +// __numcpu (int) cpu count. +// __fx_loadstate_ctx (char): 0 if unknown, or during FX state loading: 'u' (instantiating via undo), 'U' (updating via undo), 'P' (loading preset). void* (*get_config_var)(const char* name, int* szOut); #endif @@ -1679,7 +1689,7 @@ REAPERAPI_DEF //============================================== #if defined(REAPERAPI_WANT_GetFocusedFX) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetFocusedFX -// This function is deprecated (returns GetFocusedFX2()&3), see GetFocusedFX2. +// This function is deprecated (returns GetFocusedFX2()&3), see GetTouchedOrFocusedFX. int (*GetFocusedFX)(int* tracknumberOut, int* itemnumberOut, int* fxnumberOut); #endif @@ -1687,7 +1697,7 @@ REAPERAPI_DEF //============================================== #if defined(REAPERAPI_WANT_GetFocusedFX2) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetFocusedFX2 -// Return value has 1 set if track FX, 2 if take/item FX, 4 set if FX is no longer focused but still open. tracknumber==0 means the master track, 1 means track 1, etc. itemnumber is zero-based (or -1 if not an item). For interpretation of fxnumber, see GetLastTouchedFX. +// Return value has 1 set if track FX, 2 if take/item FX, 4 set if FX is no longer focused but still open. tracknumber==0 means the master track, 1 means track 1, etc. itemnumber is zero-based (or -1 if not an item). For interpretation of fxnumber, see GetLastTouchedFX. Deprecated, see GetTouchedOrFocusedFX int (*GetFocusedFX2)(int* tracknumberOut, int* itemnumberOut, int* fxnumberOut); #endif @@ -1703,7 +1713,7 @@ REAPERAPI_DEF //============================================== #if defined(REAPERAPI_WANT_GetFXEnvelope) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetFXEnvelope -// Returns the FX parameter envelope. If the envelope does not exist and create=true, the envelope will be created. +// Returns the FX parameter envelope. If the envelope does not exist and create=true, the envelope will be created. If the envelope already exists and is bypassed and create=true, then the envelope will be unbypassed. TrackEnvelope* (*GetFXEnvelope)(MediaTrack* track, int fxindex, int parameterindex, bool create); #endif @@ -1748,6 +1758,14 @@ REAPERAPI_DEF //============================================== void* (*GetIconThemeStruct)(int* szOut); #endif +#if defined(REAPERAPI_WANT_GetInputActivityLevel) || !defined(REAPERAPI_MINIMAL) +REAPERAPI_DEF //============================================== +// GetInputActivityLevel +// returns approximate input level if available, 0-511 mono inputs, |1024 for stereo pairs, 4096+devidx*32 for MIDI devices + + double (*GetInputActivityLevel)(int input_id); +#endif + #if defined(REAPERAPI_WANT_GetInputChannelName) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetInputChannelName @@ -1812,7 +1830,7 @@ REAPERAPI_DEF //============================================== #if defined(REAPERAPI_WANT_GetLastTouchedFX) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetLastTouchedFX -// Returns true if the last touched FX parameter is valid, false otherwise. The low word of tracknumber is the 1-based track index -- 0 means the master track, 1 means track 1, etc. If the high word of tracknumber is nonzero, it refers to the 1-based item index (1 is the first item on the track, etc). For track FX, the low 24 bits of fxnumber refer to the FX index in the chain, and if the next 8 bits are 01, then the FX is record FX. For item FX, the low word defines the FX index in the chain, and the high word defines the take number. +// Returns true if the last touched FX parameter is valid, false otherwise. The low word of tracknumber is the 1-based track index -- 0 means the master track, 1 means track 1, etc. If the high word of tracknumber is nonzero, it refers to the 1-based item index (1 is the first item on the track, etc). For track FX, the low 24 bits of fxnumber refer to the FX index in the chain, and if the next 8 bits are 01, then the FX is record FX. For item FX, the low word defines the FX index in the chain, and the high word defines the take number. Deprecated, see GetTouchedOrFocusedFX. bool (*GetLastTouchedFX)(int* tracknumberOut, int* fxnumberOut, int* paramnumberOut); #endif @@ -1899,6 +1917,7 @@ REAPERAPI_DEF //============================================== // Get media item numerical-value attributes. // B_MUTE : bool * : muted (item solo overrides). setting this value will clear C_MUTE_SOLO. // B_MUTE_ACTUAL : bool * : muted (ignores solo). setting this value will not affect C_MUTE_SOLO. +// C_LANEPLAYS : char * : in fixed lane tracks, 0=this item lane does not play, 1=this item lane plays exclusively, 2=this item lane plays and other lanes also play, -1=this item is on a non-visible, non-playing lane on a non-fixed-lane track (read-only) // C_MUTE_SOLO : char * : solo override (-1=soloed, 0=no override, 1=unsoloed). note that this API does not automatically unsolo other items when soloing (nor clear the unsolos when clearing the last soloed item), it must be done by the caller via action or via this API. // B_LOOPSRC : bool * : loop source // B_ALLTAKESPLAY : bool * : all takes play @@ -1924,8 +1943,10 @@ REAPERAPI_DEF //============================================== // I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x1000000 (i.e. ColorToNative(r,g,b)|0x1000000). If you do not |0x1000000, then it will not be used, but will store the color // I_CURTAKE : int * : active take number // IP_ITEMNUMBER : int : item number on this track (read-only, returns the item number directly) -// F_FREEMODE_Y : float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1) -// F_FREEMODE_H : float * : free item positioning height, 0=no height, 1=full height of track (will never be 0) +// F_FREEMODE_Y : float * : free item positioning or fixed lane Y-position. 0=top of track, 1.0=bottom of track +// F_FREEMODE_H : float * : free item positioning or fixed lane height. 0.5=half the track height, 1.0=full track height +// I_FIXEDLANE : int * : fixed lane of item (fine to call with setNewValue, but returned value is read-only) +// B_FIXEDLANE_HIDDEN : bool * : true if displaying only one fixed lane and this item is in a different lane (read-only) // P_TRACK : MediaTrack * : (read-only) // @@ -1999,7 +2020,11 @@ REAPERAPI_DEF //============================================== // I_LASTY : int * : Y-position (relative to top of track) in pixels (read-only) // I_LASTH : int * : height in pixels (read-only) // I_CHANMODE : int * : channel mode, 0=normal, 1=reverse stereo, 2=downmix, 3=left, 4=right -// I_PITCHMODE : int * : pitch shifter mode, -1=projext default, otherwise high 2 bytes=shifter, low 2 bytes=parameter +// I_PITCHMODE : int * : pitch shifter mode, -1=project default, otherwise high 2 bytes=shifter, low 2 bytes=parameter +// I_STRETCHFLAGS : int * : stretch marker flags (&7 mask for mode override: 0=default, 1=balanced, 2/3/6=tonal, 4=transient, 5=no pre-echo) +// F_STRETCHFADESIZE : float * : stretch marker fade size in seconds (0.0025 default) +// I_RECPASSID : int * : record pass ID +// I_TAKEFX_NCH : int * : number of internal audio channels for per-take FX to use (OK to call with setNewValue, but the returned value is read-only) // I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x1000000 (i.e. ColorToNative(r,g,b)|0x1000000). If you do not |0x1000000, then it will not be used, but will store the color // IP_TAKENUMBER : int : take number (read-only, returns the take number directly) // P_TRACK : pointer to MediaTrack (read-only) @@ -2085,7 +2110,7 @@ REAPERAPI_DEF //============================================== // B_AUTO_RECARM : bool * : automatically set record arm when selected (does not immediately affect recarm state, script should set directly if desired) // I_VUMODE : int * : track vu mode, &1:disabled, &30==0:stereo peaks, &30==2:multichannel peaks, &30==4:stereo RMS, &30==8:combined RMS, &30==12:LUFS-M, &30==16:LUFS-S (readout=max), &30==20:LUFS-S (readout=current), &32:LUFS calculation on channels 1+2 only // I_AUTOMODE : int * : track automation mode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch -// I_NCHAN : int * : number of track channels, 2-64, even numbers only +// I_NCHAN : int * : number of track channels, 2-128, even numbers only // I_SELECTED : int * : track selected, 0=unselected, 1=selected // I_WNDH : int * : current TCP window height in pixels including envelopes (read-only) // I_TCPH : int * : current TCP window height in pixels not including envelopes (read-only) @@ -2095,12 +2120,12 @@ REAPERAPI_DEF //============================================== // I_MCPW : int * : current MCP width in pixels (read-only) // I_MCPH : int * : current MCP height in pixels (read-only) // I_FOLDERDEPTH : int * : folder depth change, 0=normal, 1=track is a folder parent, -1=track is the last in the innermost folder, -2=track is the last in the innermost and next-innermost folders, etc -// I_FOLDERCOMPACT : int * : folder compacted state (only valid on folders), 0=normal, 1=small, 2=tiny children +// I_FOLDERCOMPACT : int * : folder collapsed state (only valid on folders), 0=normal, 1=collapsed, 2=fully collapsed // I_MIDIHWOUT : int * : track midi hardware output index, <0=disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31) // I_PERFFLAGS : int * : track performance flags, &1=no media buffering, &2=no anticipative FX // I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x1000000 (i.e. ColorToNative(r,g,b)|0x1000000). If you do not |0x1000000, then it will not be used, but will store the color // I_HEIGHTOVERRIDE : int * : custom height override for TCP window, 0 for none, otherwise size in pixels -// B_HEIGHTLOCK : bool * : track height lock (must set I_HEIGHTOVERRIDE before locking) +// I_SPACER : int * : 1=TCP track spacer above this trackB_HEIGHTLOCK : bool * : track height lock (must set I_HEIGHTOVERRIDE before locking) // D_VOL : double * : trim volume of track, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc // D_PAN : double * : trim pan of track, -1..1 // D_WIDTH : double * : width of track, -1..1 @@ -2116,6 +2141,10 @@ REAPERAPI_DEF //============================================== // C_MAINSEND_OFFS : char * : channel offset of track send to parent // C_MAINSEND_NCH : char * : channel count of track send to parent (0=use all child track channels, 1=use one channel only) // I_FREEMODE : int * : 1=track free item positioning enabled, 2=track fixed lanes enabled (call UpdateTimeline() after changing) +// I_NUMFIXEDLANES : int * : number of track fixed lanes (fine to call with setNewValue, but returned value is read-only) +// C_LANESCOLLAPSED : char * : fixed lane collapse state (1=lanes collapsed, 2=track displays as non-fixed-lanes but hidden lanes exist) +// C_LANEPLAYS:N : char * : on fixed lane tracks, 0=lane N does not play, 1=lane N plays exclusively, 2=lane N plays and other lanes also play (fine to call with setNewValue, but returned value is read-only) +// C_ALLLANESPLAY : char * : on fixed lane tracks, 0=no lanes play, 1=all lanes play, 2=some lanes play (fine to call with setNewValue 0 or 1, but returned value is read-only) // C_BEATATTACHMODE : char * : track timebase, -1=project default, 0=time, 1=beats (position, length, rate), 2=beats (position only) // F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0=minimum allowed, 1=maximum allowed) // F_MCP_FXPARM_SCALE : float * : scale of fx parameter area in MCP (0=minimum allowed, 1=maximum allowed) @@ -2160,6 +2189,7 @@ REAPERAPI_DEF //============================================== // Get the current mouse modifier assignment for a specific modifier key assignment, in a specific context. // action will be filled in with the command ID number for a built-in mouse modifier // or built-in REAPER command ID, or the custom action ID string. +// Note: the action string may have a space and 'c' or 'm' appended to it to specify command ID vs mouse modifier ID. // See SetMouseModifier for more information. // @@ -2318,7 +2348,7 @@ REAPERAPI_DEF //============================================== #if defined(REAPERAPI_WANT_GetPlayState) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetPlayState -// &1=playing,&2=pause,&=4 is recording +// &1=playing, &2=paused, &4=is recording int (*GetPlayState)(); #endif @@ -2326,7 +2356,7 @@ REAPERAPI_DEF //============================================== #if defined(REAPERAPI_WANT_GetPlayStateEx) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetPlayStateEx -// &1=playing,&2=pause,&=4 is recording +// &1=playing, &2=paused, &4=is recording int (*GetPlayStateEx)(ReaProject* proj); #endif @@ -2576,6 +2606,7 @@ REAPERAPI_DEF //============================================== // P_TRACK : MediaTrack * : (read-only) // B_MUTE : bool * : muted (item solo overrides). setting this value will clear C_MUTE_SOLO. // B_MUTE_ACTUAL : bool * : muted (ignores solo). setting this value will not affect C_MUTE_SOLO. +// C_LANEPLAYS : char * : in fixed lane tracks, 0=this item lane does not play, 1=this item lane plays exclusively, 2=this item lane plays and other lanes also play, -1=this item is on a non-visible, non-playing lane on a non-fixed-lane track (read-only) // C_MUTE_SOLO : char * : solo override (-1=soloed, 0=no override, 1=unsoloed). note that this API does not automatically unsolo other items when soloing (nor clear the unsolos when clearing the last soloed item), it must be done by the caller via action or via this API. // B_LOOPSRC : bool * : loop source // B_ALLTAKESPLAY : bool * : all takes play @@ -2601,8 +2632,10 @@ REAPERAPI_DEF //============================================== // I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x1000000 (i.e. ColorToNative(r,g,b)|0x1000000). If you do not |0x1000000, then it will not be used, but will store the color // I_CURTAKE : int * : active take number // IP_ITEMNUMBER : int : item number on this track (read-only, returns the item number directly) -// F_FREEMODE_Y : float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1) -// F_FREEMODE_H : float * : free item positioning height, 0=no height, 1=full height of track (will never be 0) +// F_FREEMODE_Y : float * : free item positioning or fixed lane Y-position. 0=top of track, 1.0=bottom of track +// F_FREEMODE_H : float * : free item positioning or fixed lane height. 0.5=half the track height, 1.0=full track height +// I_FIXEDLANE : int * : fixed lane of item (fine to call with setNewValue, but returned value is read-only) +// B_FIXEDLANE_HIDDEN : bool * : true if displaying only one fixed lane and this item is in a different lane (read-only) // P_NOTES : char * : item note text (do not write to returned pointer, use setNewValue to update) // P_EXT:xyz : char * : extension-specific persistent data // GUID : GUID * : 16-byte GUID, can query or update. If using a _String() function, GUID is a string {xyz-...}. @@ -2642,7 +2675,11 @@ REAPERAPI_DEF //============================================== // I_LASTY : int * : Y-position (relative to top of track) in pixels (read-only) // I_LASTH : int * : height in pixels (read-only) // I_CHANMODE : int * : channel mode, 0=normal, 1=reverse stereo, 2=downmix, 3=left, 4=right -// I_PITCHMODE : int * : pitch shifter mode, -1=projext default, otherwise high 2 bytes=shifter, low 2 bytes=parameter +// I_PITCHMODE : int * : pitch shifter mode, -1=project default, otherwise high 2 bytes=shifter, low 2 bytes=parameter +// I_STRETCHFLAGS : int * : stretch marker flags (&7 mask for mode override: 0=default, 1=balanced, 2/3/6=tonal, 4=transient, 5=no pre-echo) +// F_STRETCHFADESIZE : float * : stretch marker fade size in seconds (0.0025 default) +// I_RECPASSID : int * : record pass ID +// I_TAKEFX_NCH : int * : number of internal audio channels for per-take FX to use (OK to call with setNewValue, but the returned value is read-only) // I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x1000000 (i.e. ColorToNative(r,g,b)|0x1000000). If you do not |0x1000000, then it will not be used, but will store the color // IP_TAKENUMBER : int : take number (read-only, returns the take number directly) // @@ -2670,11 +2707,12 @@ REAPERAPI_DEF //============================================== // P_PROJECT : ReaProject * : parent project (read-only) // P_NAME : char * : track name (on master returns NULL) // P_ICON : const char * : track icon (full filename, or relative to resource_path/data/track_icons) +// P_LANENAME:n : char * : lane name (returns NULL for non-fixed-lane-tracks) // P_MCP_LAYOUT : const char * : layout name // P_RAZOREDITS : const char * : list of razor edit areas, as space-separated triples of start time, end time, and envelope GUID string. // Example: "0.0 1.0 \"\" 0.0 1.0 "{xyz-...}" -// P_RAZOREDITS_EXT : const char * : list of razor edit areas, as comma-separated sets of space-separated tuples of start time, end time, optional envelope GUID string, optional fixed/fipm top y-position, optional fixed/fipm bottom y-position. -// Example: "0.0 1.0,0.0 1.0 "{xyz-...}",1.0 2.0 "" 0.25 0.5" +// P_RAZOREDITS_EXT : const char * : list of razor edit areas, as comma-separated sets of space-separated tuples of start time, end time, optional: envelope GUID string, fixed/fipm top y-position, fixed/fipm bottom y-position. +// Example: "0.0 1.0,0.0 1.0 "{xyz-...}",1.0 2.0 "" 0.25 0.75" // P_TCP_LAYOUT : const char * : layout name // P_EXT:xyz : char * : extension-specific persistent data // P_UI_RECT:tcp.mute : char * : read-only, allows querying screen position + size of track WALTER elements (tcp.size queries screen position and size of entire TCP, etc). @@ -2695,7 +2733,7 @@ REAPERAPI_DEF //============================================== // B_AUTO_RECARM : bool * : automatically set record arm when selected (does not immediately affect recarm state, script should set directly if desired) // I_VUMODE : int * : track vu mode, &1:disabled, &30==0:stereo peaks, &30==2:multichannel peaks, &30==4:stereo RMS, &30==8:combined RMS, &30==12:LUFS-M, &30==16:LUFS-S (readout=max), &30==20:LUFS-S (readout=current), &32:LUFS calculation on channels 1+2 only // I_AUTOMODE : int * : track automation mode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch -// I_NCHAN : int * : number of track channels, 2-64, even numbers only +// I_NCHAN : int * : number of track channels, 2-128, even numbers only // I_SELECTED : int * : track selected, 0=unselected, 1=selected // I_WNDH : int * : current TCP window height in pixels including envelopes (read-only) // I_TCPH : int * : current TCP window height in pixels not including envelopes (read-only) @@ -2705,12 +2743,12 @@ REAPERAPI_DEF //============================================== // I_MCPW : int * : current MCP width in pixels (read-only) // I_MCPH : int * : current MCP height in pixels (read-only) // I_FOLDERDEPTH : int * : folder depth change, 0=normal, 1=track is a folder parent, -1=track is the last in the innermost folder, -2=track is the last in the innermost and next-innermost folders, etc -// I_FOLDERCOMPACT : int * : folder compacted state (only valid on folders), 0=normal, 1=small, 2=tiny children +// I_FOLDERCOMPACT : int * : folder collapsed state (only valid on folders), 0=normal, 1=collapsed, 2=fully collapsed // I_MIDIHWOUT : int * : track midi hardware output index, <0=disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31) // I_PERFFLAGS : int * : track performance flags, &1=no media buffering, &2=no anticipative FX // I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x1000000 (i.e. ColorToNative(r,g,b)|0x1000000). If you do not |0x1000000, then it will not be used, but will store the color // I_HEIGHTOVERRIDE : int * : custom height override for TCP window, 0 for none, otherwise size in pixels -// B_HEIGHTLOCK : bool * : track height lock (must set I_HEIGHTOVERRIDE before locking) +// I_SPACER : int * : 1=TCP track spacer above this trackB_HEIGHTLOCK : bool * : track height lock (must set I_HEIGHTOVERRIDE before locking) // D_VOL : double * : trim volume of track, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc // D_PAN : double * : trim pan of track, -1..1 // D_WIDTH : double * : width of track, -1..1 @@ -2726,6 +2764,10 @@ REAPERAPI_DEF //============================================== // C_MAINSEND_OFFS : char * : channel offset of track send to parent // C_MAINSEND_NCH : char * : channel count of track send to parent (0=use all child track channels, 1=use one channel only) // I_FREEMODE : int * : 1=track free item positioning enabled, 2=track fixed lanes enabled (call UpdateTimeline() after changing) +// I_NUMFIXEDLANES : int * : number of track fixed lanes (fine to call with setNewValue, but returned value is read-only) +// C_LANESCOLLAPSED : char * : fixed lane collapse state (1=lanes collapsed, 2=track displays as non-fixed-lanes but hidden lanes exist) +// C_LANEPLAYS:N : char * : on fixed lane tracks, 0=lane N does not play, 1=lane N plays exclusively, 2=lane N plays and other lanes also play (fine to call with setNewValue, but returned value is read-only) +// C_ALLLANESPLAY : char * : on fixed lane tracks, 0=no lanes play, 1=all lanes play, 2=some lanes play (fine to call with setNewValue 0 or 1, but returned value is read-only) // C_BEATATTACHMODE : char * : track timebase, -1=project default, 0=time, 1=beats (position, length, rate), 2=beats (position only) // F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0=minimum allowed, 1=maximum allowed) // F_MCP_FXPARM_SCALE : float * : scale of fx parameter area in MCP (0=minimum allowed, 1=maximum allowed) @@ -2744,11 +2786,12 @@ REAPERAPI_DEF //============================================== // Get or set track string attributes. // P_NAME : char * : track name (on master returns NULL) // P_ICON : const char * : track icon (full filename, or relative to resource_path/data/track_icons) +// P_LANENAME:n : char * : lane name (returns NULL for non-fixed-lane-tracks) // P_MCP_LAYOUT : const char * : layout name // P_RAZOREDITS : const char * : list of razor edit areas, as space-separated triples of start time, end time, and envelope GUID string. // Example: "0.0 1.0 \"\" 0.0 1.0 "{xyz-...}" -// P_RAZOREDITS_EXT : const char * : list of razor edit areas, as comma-separated sets of space-separated tuples of start time, end time, optional envelope GUID string, optional fixed/fipm top y-position, optional fixed/fipm bottom y-position. -// Example: "0.0 1.0,0.0 1.0 "{xyz-...}",1.0 2.0 "" 0.25 0.5" +// P_RAZOREDITS_EXT : const char * : list of razor edit areas, as comma-separated sets of space-separated tuples of start time, end time, optional: envelope GUID string, fixed/fipm top y-position, fixed/fipm bottom y-position. +// Example: "0.0 1.0,0.0 1.0 "{xyz-...}",1.0 2.0 "" 0.25 0.75" // P_TCP_LAYOUT : const char * : layout name // P_EXT:xyz : char * : extension-specific persistent data // P_UI_RECT:tcp.mute : char * : read-only, allows querying screen position + size of track WALTER elements (tcp.size queries screen position and size of entire TCP, etc). @@ -2809,7 +2852,7 @@ REAPERAPI_DEF //============================================== // RENDER_TAILMS : tail length in ms to render (only used if RENDER_BOUNDSFLAG and RENDER_TAILFLAG are set) // RENDER_ADDTOPROJ : &1=add rendered files to project, &2=do not render files that are likely silent // RENDER_DITHER : &1=dither, &2=noise shaping, &4=dither stems, &8=noise shaping on stems -// RENDER_NORMALIZE: &1=enable, (&14==0)=LUFS-I, (&14==2)=RMS, (&14==4)=peak, (&14==6)=true peak, (&14==8)=LUFS-M max, (&14==10)=LUFS-S max, &32=normalize stems to common gain based on master, &64=enable brickwall limit, &128=brickwall limit true peak, &256=only normalize files that are too loud, &512=apply fade-in, &1024=apply fade-out +// RENDER_NORMALIZE: &1=enable, (&14==0)=LUFS-I, (&14==2)=RMS, (&14==4)=peak, (&14==6)=true peak, (&14==8)=LUFS-M max, (&14==10)=LUFS-S max, &32=normalize stems to common gain based on master, &64=enable brickwall limit, &128=brickwall limit true peak, (&2304==256)=only normalize files that are too loud, (&2304==2048)=only normalize files that are too quiet, &512=apply fade-in, &1024=apply fade-out // RENDER_NORMALIZE_TARGET: render normalization target as amplitude, so 0.5 means -6.02dB, 0.25 means -12.04dB, etc // RENDER_BRICKWALL: render brickwall limit as amplitude, so 0.5 means -6.02dB, 0.25 means -12.04dB, etc // RENDER_FADEIN: render fade-in (0.001 means 1 ms, requires RENDER_NORMALIZE&512) @@ -2833,8 +2876,11 @@ REAPERAPI_DEF //============================================== // TRACK_GROUP_NAME:X : track group name, X should be 1..64 // MARKER_GUID:X : get the GUID (unique ID) of the marker or region with index X, where X is the index passed to EnumProjectMarkers, not necessarily the displayed number (read-only) // MARKER_INDEX_FROM_GUID:{GUID} : get the GUID index of the marker or region with GUID {GUID} (read-only) +// OPENCOPY_CFGIDX : integer for the configuration of format to use when creating copies/applying FX. 0=wave (auto-depth), 1=APPLYFX_FORMAT, 2=RECORD_FORMAT // RECORD_PATH : recording directory -- may be blank or a relative path, to get the effective path see GetProjectPathEx() // RECORD_PATH_SECONDARY : secondary recording directory +// RECORD_FORMAT : base64-encoded sink configuration (see project files, etc). Callers can also pass a simple 4-byte string (non-base64-encoded), e.g. "evaw" or "l3pm", to use default settings for that sink type. +// APPLYFX_FORMAT : base64-encoded sink configuration (see project files, etc). Used only if RECFMT_OPENCOPY is set to 1. Callers can also pass a simple 4-byte string (non-base64-encoded), e.g. "evaw" or "l3pm", to use default settings for that sink type. // RENDER_FILE : render directory // RENDER_PATTERN : render file name (may contain wildcards) // RENDER_METADATA : get or set the metadata saved with the project (not metadata embedded in project media). Example, ID3 album name metadata: valuestr="ID3:TALB" to get, valuestr="ID3:TALB|my album name" to set. Call with valuestr="" and is_set=false to get a semicolon-separated list of defined project metadata identifiers. @@ -2970,9 +3016,9 @@ REAPERAPI_DEF //============================================== // D_PANLAW : double * : 1.0=+0.0db, 0.5=-6dB, -1.0 = projdef etc // I_SENDMODE : int * : 0=post-fader, 1=pre-fx, 2=post-fx (deprecated), 3=post-fx // I_AUTOMODE : int * : automation mode (-1=use track automode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch) -// I_SRCCHAN : int * : index,&1024=mono, -1 for none -// I_DSTCHAN : int * : index, &1024=mono, otherwise stereo pair, hwout:&512=rearoute -// I_MIDIFLAGS : int * : low 5 bits=source channel 0=all, 1-16, next 5 bits=dest channel, 0=orig, 1-16=chan +// I_SRCCHAN : int * : -1 for no audio send. Low 10 bits specify channel offset, and higher bits specify channel count. (srcchan>>10) == 0 for stereo, 1 for mono, 2 for 4 channel, 3 for 6 channel, etc. +// I_DSTCHAN : int * : low 10 bits are destination index, &1024 set to mix to mono. +// I_MIDIFLAGS : int * : low 5 bits=source channel 0=all, 1-16, 31=MIDI send disabled, next 5 bits=dest channel, 0=orig, 1-16=chan. &1024 for faders-send MIDI vol/pan. (>>14)&255 = src bus (0 for all, 1 for normal, 2+). (>>22)&255=destination bus (0 for all, 1 for normal, 2+) // See CreateTrackSend, RemoveTrackSend. void* (*GetSetTrackSendInfo)(MediaTrack* tr, int category, int sendidx, const char* parmname, void* setNewValue); @@ -3108,7 +3154,7 @@ REAPERAPI_DEF //============================================== #if defined(REAPERAPI_WANT_GetThingFromPoint) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetThingFromPoint -// Hit tests a point in screen coordinates. Updates infoOut with information such as "arrange", "fx_chain", "fx_0" (first FX in chain, floating). If a track panel is hit, string will begin with "tcp" or "mcp" or "tcp.mute" etc (future versions may append additional information). May return NULL with valid info string to indicate non-track thing. +// Hit tests a point in screen coordinates. Updates infoOut with information such as "arrange", "fx_chain", "fx_0" (first FX in chain, floating), "spacer_0" (spacer before first track). If a track panel is hit, string will begin with "tcp" or "mcp" or "tcp.mute" etc (future versions may append additional information). May return NULL with valid info string to indicate non-track thing. MediaTrack* (*GetThingFromPoint)(int screen_x, int screen_y, char* infoOut, int infoOut_sz); #endif @@ -3153,6 +3199,14 @@ REAPERAPI_DEF //============================================== HWND (*GetTooltipWindow)(); #endif +#if defined(REAPERAPI_WANT_GetTouchedOrFocusedFX) || !defined(REAPERAPI_MINIMAL) +REAPERAPI_DEF //============================================== +// GetTouchedOrFocusedFX +// mode can be 0 to query last touched parameter, or 1 to query currently focused FX. Returns false if failed. If successful, trackIdxOut will be track index (-1 is master track, 0 is first track). itemidxOut will be 0-based item index if an item, or -1 if not an item. takeidxOut will be 0-based take index. fxidxOut will be FX index, potentially with 0x2000000 set to signify container-addressing, or with 0x1000000 set to signify record-input FX. parmOut will be set to the parameter index if querying last-touched. parmOut will have 1 set if querying focused state and FX is no longer focused but still open. + + bool (*GetTouchedOrFocusedFX)(int mode, int* trackidxOut, int* itemidxOut, int* takeidxOut, int* fxidxOut, int* parmOut); +#endif + #if defined(REAPERAPI_WANT_GetTrack) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetTrack @@ -3210,7 +3264,7 @@ REAPERAPI_DEF //============================================== #if defined(REAPERAPI_WANT_GetTrackFromPoint) || !defined(REAPERAPI_MINIMAL) REAPERAPI_DEF //============================================== // GetTrackFromPoint -// Returns the track from the screen coordinates specified. If the screen coordinates refer to a window associated to the track (such as FX), the track will be returned. infoOutOptional will be set to 1 if it is likely an envelope, 2 if it is likely a track FX. See GetThingFromPoint. +// Returns the track from the screen coordinates specified. If the screen coordinates refer to a window associated to the track (such as FX), the track will be returned. infoOutOptional will be set to 1 if it is likely an envelope, 2 if it is likely a track FX. For a free item positioning or fixed lane track, the second byte of infoOutOptional will be set to the (approximate, for fipm tracks) item lane underneath the mouse. See GetThingFromPoint. MediaTrack* (*GetTrackFromPoint)(int screen_x, int screen_y, int* infoOutOptional); #endif @@ -3342,9 +3396,9 @@ REAPERAPI_DEF //============================================== // D_PANLAW : double * : 1.0=+0.0db, 0.5=-6dB, -1.0 = projdef etc // I_SENDMODE : int * : 0=post-fader, 1=pre-fx, 2=post-fx (deprecated), 3=post-fx // I_AUTOMODE : int * : automation mode (-1=use track automode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch) -// I_SRCCHAN : int * : index,&1024=mono, -1 for none -// I_DSTCHAN : int * : index, &1024=mono, otherwise stereo pair, hwout:&512=rearoute -// I_MIDIFLAGS : int * : low 5 bits=source channel 0=all, 1-16, next 5 bits=dest channel, 0=orig, 1-16=chan +// I_SRCCHAN : int * : -1 for no audio send. Low 10 bits specify channel offset, and higher bits specify channel count. (srcchan>>10) == 0 for stereo, 1 for mono, 2 for 4 channel, 3 for 6 channel, etc. +// I_DSTCHAN : int * : low 10 bits are destination index, &1024 set to mix to mono. +// I_MIDIFLAGS : int * : low 5 bits=source channel 0=all, 1-16, 31=MIDI send disabled, next 5 bits=dest channel, 0=orig, 1-16=chan. &1024 for faders-send MIDI vol/pan. (>>14)&255 = src bus (0 for all, 1 for normal, 2+). (>>22)&255=destination bus (0 for all, 1 for normal, 2+) // P_DESTTRACK : MediaTrack * : destination track, only applies for sends/recvs (read-only) // P_SRCTRACK : MediaTrack * : source track, only applies for sends/recvs (read-only) // P_ENV: