Reorganize top-level directories with clearer naming convention
app -> app-desktop-macos, presets -> app-presets, server -> remote-server, daw-config-reaper -> osc-config-daw, plugin-reaper-realearn -> plugin-reaper-relearn. Updated run.py and presets.py path references accordingly. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,272 @@
|
||||
[workspace]
|
||||
resolver = "2"
|
||||
members = [
|
||||
"allocator",
|
||||
"api",
|
||||
"dialogs",
|
||||
"extension",
|
||||
"macros",
|
||||
"playtime-clip-engine",
|
||||
"playtime-api",
|
||||
"pot",
|
||||
"pot-browser",
|
||||
"csi",
|
||||
"main",
|
||||
"rx-util",
|
||||
"swell-ui",
|
||||
"base",
|
||||
"artwork-processor",
|
||||
# Will probably be excluded from the workspace in future
|
||||
"main/lib/helgoboss-learn"
|
||||
]
|
||||
|
||||
[workspace.dependencies]
|
||||
# Own
|
||||
base = { path = "base" }
|
||||
pot = { path = "pot" }
|
||||
pot-browser = { path = "pot-browser" }
|
||||
helgobox-dialogs = { path = "dialogs" }
|
||||
reaper-common-types = { git = "https://github.com/helgoboss/reaper-rs.git", branch = "master" }
|
||||
reaper-rx = { git = "https://github.com/helgoboss/reaper-rs.git", branch = "master" }
|
||||
reaper-fluent = { git = "https://github.com/helgoboss/reaper-rs.git", branch = "master" }
|
||||
reaper-high = { git = "https://github.com/helgoboss/reaper-rs.git", branch = "master", features = ["serde"] }
|
||||
reaper-medium = { git = "https://github.com/helgoboss/reaper-rs.git", branch = "master", features = ["serde"] }
|
||||
reaper-low = { git = "https://github.com/helgoboss/reaper-rs.git", branch = "master" }
|
||||
reaper-macros = { git = "https://github.com/helgoboss/reaper-rs.git", branch = "master" }
|
||||
rppxml-parser = { git = "https://github.com/helgoboss/reaper-rs.git", branch = "master" }
|
||||
swell-ui = { path = "swell-ui" }
|
||||
rx-util = { path = "rx-util" }
|
||||
playtime-clip-engine = { path = "playtime-clip-engine" }
|
||||
helgobox-api = { path = "api" }
|
||||
helgobox-macros = { path = "macros" }
|
||||
helgobox-allocator = { path = "allocator" }
|
||||
playtime-api = { path = "playtime-api" }
|
||||
realearn-csi = { path = "csi" }
|
||||
helgoboss-learn = { path = "main/lib/helgoboss-learn", features = ["reaper-low"] }
|
||||
helgoboss-midi = { version = "0.4", features = ["serde", "serde_repr"] }
|
||||
helgoboss-license-api = { git = "https://github.com/helgoboss/helgoboss-license-api" }
|
||||
|
||||
# 3rd-party
|
||||
scopeguard = "1.1.0"
|
||||
rxrust = { git = "https://github.com/rxRust/rxRust", rev = "349e50b3197e05926e2378ef8fc45cb67ad43b83" }
|
||||
indexmap = "2.1.0"
|
||||
itertools = "0.12.0"
|
||||
wildmatch = "2.1.0"
|
||||
serde = { version = "1.0", features = ["derive", "rc"] }
|
||||
serde_json = "1.0"
|
||||
serde_plain = "1.0.2"
|
||||
derive_more = "0.99.16"
|
||||
tokio = { version = "1", features = ["rt-multi-thread", "sync", "macros", "time"] }
|
||||
enum-map = { version = "2.4.1", features = ["serde"] }
|
||||
once_cell = "1.4.0"
|
||||
strum = { version = "0.25.0", features = ["derive"] }
|
||||
regex = "1"
|
||||
walkdir = "2"
|
||||
either = "1.8.0"
|
||||
tracing = "0.1.40"
|
||||
tracing-core = "0.1.32"
|
||||
tracing-subscriber = "0.3.7"
|
||||
futures = { version = "0.3", default-features = false }
|
||||
derivative = "2.2.0"
|
||||
tempfile = "3.1.0"
|
||||
xxhash-rust = { version = "0.8.15", features = ["xxh3"] }
|
||||
crossbeam-channel = "0.5"
|
||||
futures-timer = "3.0.2"
|
||||
metrics = "0.22.0"
|
||||
ascii = "1.0"
|
||||
winapi = "0.3"
|
||||
bindgen = "0.69.2"
|
||||
enumflags2 = "0.7.4"
|
||||
nanoid = "0.4.0"
|
||||
slug = "0.1.4"
|
||||
num_enum = "0.7.2"
|
||||
nom = "7.0.0"
|
||||
semver = { version = "1.0.17", features = ["serde"] }
|
||||
enumset = "1.0.12"
|
||||
mlua = { version = "0.10.2", features = ["vendored", "luau", "serialize", "anyhow"] }
|
||||
chrono = "0.4.11"
|
||||
dirs = "5.0.1"
|
||||
libloading = "0.8"
|
||||
tokio-stream = { version = "0.1.8", features = ["sync"] }
|
||||
raw-window-handle = "0.4.2"
|
||||
egui = "0.21.0"
|
||||
egui_extras = "0.21.0"
|
||||
egui-toast = "0.6.0"
|
||||
bytesize = "1.0.1"
|
||||
hex = "0.4.2"
|
||||
rmp-serde = "1.1.1"
|
||||
anyhow = "1.0.71"
|
||||
thiserror = "1.0.45"
|
||||
enum_dispatch = "0.3.6"
|
||||
simple_moving_average = "1.0.2"
|
||||
tinyvec = "1.6.0"
|
||||
erased-serde = "0.4.2"
|
||||
fragile = "2.0.0"
|
||||
approx = "0.5.1"
|
||||
serde_repr = "0.1.5"
|
||||
serde_with = "3.4.0"
|
||||
lazycell = "1.2"
|
||||
rosc = "0.10.1"
|
||||
rust-ini = "0.20.0"
|
||||
function_name = "0.3.0"
|
||||
num = "0.4.1"
|
||||
logos = "0.13.0"
|
||||
camino = "1.1.7"
|
||||
auto_impl = "1.1.0"
|
||||
bytemuck = "1.13.1"
|
||||
palette = "0.7.4"
|
||||
libc = "0.2.153"
|
||||
path-slash = "0.2.1"
|
||||
pathdiff = "0.2.1"
|
||||
open = "5.0.1"
|
||||
url = "2.5.2"
|
||||
atomic = "0.6.0"
|
||||
static_assertions = "1.1.0"
|
||||
image = { version = "0.25.2", default-features = false }
|
||||
cached = "0.53.1"
|
||||
imageproc = "0.25.0"
|
||||
tower = "0.5.2"
|
||||
axum = "0.7.9"
|
||||
axum-server = "0.7.1"
|
||||
tower-http = "0.6.2"
|
||||
tonic = "0.12.3"
|
||||
prost = "0.13.4"
|
||||
rcgen = "0.12.0"
|
||||
dns-lookup = "2.0.4"
|
||||
hostname = "^0.3"
|
||||
askama = "0.12.1"
|
||||
serde_ini = "0.2.0"
|
||||
webbrowser = "0.8.12"
|
||||
runas = "1.1.0"
|
||||
qrcode = "0.14.1"
|
||||
uuid = "1.6.1"
|
||||
vst = "0.4.0"
|
||||
c_str_macro = "1.0.2"
|
||||
arboard = "3.3.0"
|
||||
smallvec = "1.7.0"
|
||||
backtrace = "0.3.74"
|
||||
serde_yaml = "0.8.17"
|
||||
fasteval = { version = "0.2.4", default-features = false }
|
||||
maplit = "1.0.2"
|
||||
metrics-exporter-prometheus = { version = "0.13.0", default-features = false }
|
||||
embed-resource = "2.4.1"
|
||||
sysinfo = "0.30.5"
|
||||
sys-info = "0.9.1"
|
||||
# We use a special version because of "link_lib_modifiers", which allows us to add "+whole-archive"
|
||||
# in a convenient way. TODO-low-wait https://github.com/rust-lang/cc-rs/pull/671
|
||||
cc = { git = "https://github.com/petrochenkov/cc-rs.git", rev = "4d52bd211aeb2b4ddccd1b9c0a0841e03aaaef7c" }
|
||||
built = "0.7.1"
|
||||
tts = { git = "https://github.com/helgoboss/tts-rs", branch = "helgoboss-fixes" }
|
||||
edit = { git = "https://github.com/helgoboss/edit", branch = "realearn" }
|
||||
async-channel = "2.1.1"
|
||||
env_logger = "0.10.1"
|
||||
egui-baseview = { git = "https://github.com/helgoboss/egui-baseview.git", branch = "realearn" }
|
||||
baseview = { git = "https://github.com/helgoboss/baseview.git", branch = "realearn" }
|
||||
include_dir = "0.7.3"
|
||||
whoami = "1.4.1"
|
||||
streamdeck = "0.9.0"
|
||||
ab_glyph = "0.2.29"
|
||||
hidapi = "2.4"
|
||||
xcap = "0.0.13"
|
||||
syn = "2.0.48"
|
||||
darling = "0.20.3"
|
||||
heck = "0.4.0"
|
||||
stylua = "0.19.1"
|
||||
resvg = "0.44.0"
|
||||
enigo = "0.0.14"
|
||||
device_query = "1.1.1"
|
||||
macos-accessibility-client = "0.0.1"
|
||||
base64 = "0.21.2"
|
||||
rtrb = "0.3.0"
|
||||
envcrypt = "0.5.0"
|
||||
glidesort = "0.1.2"
|
||||
ebur128 = "0.1.8"
|
||||
tracing-test = "0.2.4"
|
||||
rstest = "0.18.2"
|
||||
lexical-sort = "0.3.1"
|
||||
splitty = "1.0.1"
|
||||
riff-io = "0.1.2"
|
||||
rusqlite = "0.30.0"
|
||||
sanitize-filename = "0.5.0"
|
||||
lru = "0.12.1"
|
||||
pulldown-cmark = "0.9.2"
|
||||
rfd = "0.12.1"
|
||||
opener = "0.7.1"
|
||||
objc2 = "0.3.0-beta.3"
|
||||
reqwest = { version = "0.12.9", default-features = false }
|
||||
rustls = { version = "0.23.20", default-features = false }
|
||||
|
||||
[profile.release]
|
||||
debug = 2
|
||||
|
||||
[profile.release-strip]
|
||||
inherits = "release"
|
||||
# We use this profile on Linux and macOS only. To support Windows 7, we should build with Rust
|
||||
# version 1.77.2 on Windows. This old version strips away too much due to an implementation
|
||||
# error in rustc:
|
||||
#
|
||||
# "Prior to 1.79, this unintentionally disabled the generation of *.pdb files on MSVC, resulting
|
||||
# in the absence of symbols."
|
||||
# (https://doc.rust-lang.org/rustc/codegen-options/index.html#strip).
|
||||
#
|
||||
# Not stripping on Windows is okay because the PDB is a separate file anyway. We do the following
|
||||
# mainly for macOS. There's a long reasoning about the concrete values in CONTRIBUTING.adoc.
|
||||
# BTW, switching to "symbols" would reduce size even more but leads to useless stack traces when
|
||||
# panicking.
|
||||
strip = "debuginfo"
|
||||
split-debuginfo = "packed"
|
||||
|
||||
[profile.dev-llvm-out-of-memory-fix]
|
||||
inherits = "dev"
|
||||
# Lately, i686 Windows builds often fail due to "LLVM ERROR: out of memory".
|
||||
# Lowering the amount of debug information included in the binary is supposed to fix that.
|
||||
debug = 1
|
||||
|
||||
[profile.release-llvm-out-of-memory-fix]
|
||||
inherits = "release"
|
||||
# Lately, i686 Windows builds often fail due to "LLVM ERROR: out of memory".
|
||||
# Lowering the amount of debug information included in the binary is supposed to fix that.
|
||||
debug = 1
|
||||
|
||||
[patch.crates-io]
|
||||
|
||||
# TODO-low-wait
|
||||
# I absolutely need Flutter to be able to connect with ReaLearn based on a LAN IP address. Without this hack, Flutter
|
||||
# will fail to connect with a TLSV1_ALERT_DECODE_ERROR. As soon as https://github.com/briansmith/webpki/issues/54 is
|
||||
# closed and rustls has updated the dependency, we should remove this!
|
||||
#webpki = { git = "https://github.com/helgoboss/webpki.git", branch = "workaround/54-alert-decode-error-0.22.0" }
|
||||
|
||||
# Yes! Thanks to the use of axum-server (instead of warp) we don't need this Hyper patch anymore! axum-server seems to
|
||||
# use lower-level Hyper features and implements a proper graceful shutdown feature on it that allows one to specify a
|
||||
# timeout. If not all connections are closed until that timeout, it just shuts down forcibly. That's important and
|
||||
# exactly what we need. We need the server shutdown happen immediately before ReaLearn is unloaded without having to
|
||||
# force the user to wait for open connections to finish. The following was a temporary hack to make this possible.
|
||||
# See https://github.com/hyperium/hyper/issues/1885, https://github.com/hyperium/hyper/issues/2386.
|
||||
# For a moment, I thought that I need to reintroduce this patch for gRPC, which is driven by tonic. Indeed, when using
|
||||
# tonic's serve_with_shutdown() feature, REAPER doesn't quit until Playtime gRPC client has disconnected :/ But
|
||||
# fortunately, using the tokio::select! workaround (mentioned in issue 2386) works and *also* closes the ports this
|
||||
# time! Turns out the same is actually true for axum, so we use select! there as well.
|
||||
#hyper = { git = "https://github.com/helgoboss/hyper.git", branch = "feature/realearn" }
|
||||
|
||||
# We need to use our on "vst" crate that contains a bunch of improvements
|
||||
vst = { git = "https://github.com/helgoboss/vst-rs.git", branch = "feature/param-props" }
|
||||
#vst = { path = "../vst-rs" }
|
||||
|
||||
# This is for temporary development with local reaper-rs.
|
||||
#[patch.'https://github.com/helgoboss/reaper-rs.git']
|
||||
#reaper-common-types = { path = "../reaper-rs/main/common-types" }
|
||||
#reaper-fluent = { path = "../reaper-rs/main/fluent" }
|
||||
#reaper-high = { path = "../reaper-rs/main/high" }
|
||||
#reaper-medium = { path = "../reaper-rs/main/medium" }
|
||||
#reaper-macros = { path = "../reaper-rs/main/macros" }
|
||||
#reaper-low = { path = "../reaper-rs/main/low" }
|
||||
#reaper-rx = { path = "../reaper-rs/main/rx" }
|
||||
#rppxml-parser = { path = "../reaper-rs/main/rppxml-parser" }
|
||||
|
||||
## This is for temporary development with local egui-baseview.
|
||||
#[patch.'https://github.com/helgoboss/egui-baseview.git']
|
||||
#egui-baseview = { path = "../egui-baseview" }
|
||||
#
|
||||
## This is for temporary development with local baseview.
|
||||
#[patch.'https://github.com/helgoboss/baseview.git']
|
||||
#baseview = { path = "../baseview" }
|
||||
Reference in New Issue
Block a user