Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #59

Merged
merged 60 commits into from
Jan 15, 2023
Merged

Dev #59

Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
60 commits
Select commit Hold shift click to select a range
5982ee5
ui clean slate
Oct 3, 2022
96db5d3
implement initial top menu bar
Oct 4, 2022
c2fce68
styling of top bar
Oct 4, 2022
c7b89d4
work on top and bottom bar
Oct 4, 2022
bed1128
start remaking UI in Vizia
Oct 15, 2022
088175d
fix some styling
Oct 15, 2022
00ab941
new styling
Nov 14, 2022
ecbfe50
change styling of top bar text
Nov 14, 2022
010a371
work on browser
Nov 15, 2022
f5bb54d
work on browser panel
Nov 15, 2022
6d29b05
file browser now functional
Nov 16, 2022
4777409
playback samples in the browser
Nov 16, 2022
eddad09
always playback sample when invoked by play button
Nov 16, 2022
21e2bbb
update meadowlark-core-types dependency
Nov 25, 2022
7e8d405
work on timeline panel
Nov 26, 2022
d560417
work on track headers panel
Nov 26, 2022
e73f5d4
refactor state system
Nov 28, 2022
329b849
make track headers selectable
Nov 29, 2022
a3bbb05
work on custom knob widget
Nov 29, 2022
ce93c28
fix virtual slider value jumping when modifiers change
Nov 30, 2022
4cdae4a
add knobs to track headers
Dec 1, 2022
cb0d1dc
begin work on timeline view
Dec 3, 2022
c1b4ba4
work on timeline view
Dec 6, 2022
e266409
work on timeline view
Dec 7, 2022
f3d55bd
work on timeline grid
Dec 7, 2022
1a463c3
adjust drag zoom constants
Dec 7, 2022
5bc06a4
tweak timeline view colors
Dec 7, 2022
9df5bac
fix hidpi issues
Dec 8, 2022
397f668
refactor state system
Dec 13, 2022
d9cb8f0
work on timeline state
Dec 14, 2022
b3fdfba
work on timeline state
Dec 14, 2022
bdae43f
work on timeline view state
Dec 14, 2022
a3e5b43
work on timeline view clips
Dec 15, 2022
c04db70
add border radius to clips
Dec 15, 2022
b13053f
work on timeline view loop markers
Dec 15, 2022
765951a
only round parts of clip tops
Dec 15, 2022
aadfa2b
draw labels on clips
Dec 16, 2022
6b07d9f
fix text clipping on clips
Dec 16, 2022
df6974d
work on new audio clip renderer
Dec 20, 2022
c5d3b76
Fix clipping in sample browser plugin
Dec 20, 2022
b2f3fa5
use crossfading in sample browser plugin
Dec 20, 2022
ee198c2
work on audio clip renderer
Dec 21, 2022
7961f00
work on audio clip renderer
Dec 21, 2022
d80355d
work on timeline track plugin
Dec 23, 2022
d646a59
work on timeline track plugin
Dec 27, 2022
f3e32c9
work on audio clip renderer
Dec 28, 2022
72ad30f
audio clips are making sound!
Dec 28, 2022
2e56234
bump dropseed dep
Dec 29, 2022
b9ced12
refactoring
Dec 31, 2022
51e0703
update design doc
Dec 31, 2022
0ff2027
refactor timeline view
Jan 4, 2023
5ea5e0f
refactor state system
Jan 4, 2023
66c94d3
work on ui
Jan 5, 2023
0f7f09f
declick audio clips on timeline
Jan 6, 2023
8483d58
bump dropseed dependency
Jan 7, 2023
d6e2eca
ability to select single clips
Jan 9, 2023
09e2906
movable clips in UI
Jan 13, 2023
900400f
order rendering of clips
Jan 13, 2023
eceb0b9
move dropseed engine into meadowlark repo
Jan 14, 2023
a9c19d2
Merge pull request #57 from MeadowlarkDAW/integrate-dropseed
Jan 14, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
bump dropseed dependency
  • Loading branch information
Billy Messenger authored and Billy Messenger committed Jan 7, 2023
commit 8483d5808c933abcb633345327f3e36f55a3c374
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 8,7 @@ license = "GPL-3.0"
[dependencies]
#vizia = { git = "https://github.com/vizia/vizia", branch = "main" }
vizia = { git = "https://github.com/vizia/vizia", rev = "30a3548a6ef09aaec32b5e2c4d3d0dc0ae537ec2" }
dropseed = { git = "https://github.com/MeadowlarkDAW/dropseed.git", rev = "4ace6cfb3cb7c2f51aad7763e92d29806b4c6fc7" }
dropseed = { git = "https://github.com/MeadowlarkDAW/dropseed.git", rev = "0cfaf75efd9f09c029ce1ba8b82353c4d00cc025" }
#dropseed = { path = "../dropseed" }
pcm-loader = { git = "https://github.com/MeadowlarkDAW/pcm-loader.git", rev = "e5cbddb8d001f25424ef7c934c51d1997bc85aa4", features = ["aac", "alac", "flac", "isomp4", "mp3", "ogg", "pcm", "vorbis", "wav"] }
fern = { version = "0.6", features = ["colored"] }
Expand Down
1 change: 1 addition & 0 deletions src/backend/engine_handle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 104,7 @@ impl EngineHandle {
num_audio_in_channels: GRAPH_IN_CHANNELS,
num_audio_out_channels: GRAPH_OUT_CHANNELS,
transport_declick_seconds: Some(DEFAULT_DECLICK_SECONDS),
hard_clip_outputs: true,
..Default::default()
},
)
Expand Down
12 changes: 9 additions & 3 deletions src/backend/sample_browser_plug.rs
Original file line number Diff line number Diff line change
@@ -1,4 1,5 @@
use basedrop::{Owned, Shared};
use dropseed::plugin_api::buffer::BufferInner;
use dropseed::plugin_api::event::ParamValueEvent;
use dropseed::plugin_api::ext::params::{ParamID, ParamInfo, ParamInfoFlags};
use dropseed::plugin_api::param_helper::{
Expand Down Expand Up @@ -328,9 329,10 @@ impl PluginProcessor for SampleBrowserPlugProcessor {
self.poll(in_events);

let (mut buf_l, mut buf_r) = buffers.audio_out[0].stereo_f32_mut().unwrap();

let buf_l_part = &mut buf_l[0..proc_info.frames];
let buf_r_part = &mut buf_r[0..proc_info.frames];
let BufferInner { data: buf_l_data, is_constant: buf_l_is_constant } = &mut *buf_l;
let BufferInner { data: buf_r_data, is_constant: buf_r_is_constant } = &mut *buf_r;
let buf_l_part = &mut buf_l_data[0..proc_info.frames];
let buf_r_part = &mut buf_r_data[0..proc_info.frames];

let mut apply_gain = false;

Expand Down Expand Up @@ -361,12 363,16 @@ impl PluginProcessor for SampleBrowserPlugProcessor {
} else {
buf_l_part.fill(0.0);
buf_r_part.fill(0.0);
*buf_l_is_constant = true;
*buf_r_is_constant = true;

self.play_state = PlayState::Stopped;
}
} else {
buf_l_part.fill(0.0);
buf_r_part.fill(0.0);
*buf_l_is_constant = true;
*buf_r_is_constant = true;
}

if let FadeOutState::Running { mut old_playhead, mut current_gain, mut frames_left } =
Expand Down
9 changes: 4 additions & 5 deletions src/backend/timeline_track_plug.rs
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 117,9 @@ impl TimelineTrackPlugProcessor {
proc_info: &ProcInfo,
buffers: &mut ProcBuffers,
) -> bool {
let (mut out_l, mut out_r) = buffers.audio_out[0].stereo_f32_mut().unwrap();
let out_l = &mut out_l[0..proc_info.frames];
let out_r = &mut out_r[0..proc_info.frames];
let (mut out_l_buf, mut out_r_buf) = buffers.audio_out[0].stereo_f32_mut().unwrap();
let out_l = &mut out_l_buf.data[0..proc_info.frames];
let out_r = &mut out_r_buf.data[0..proc_info.frames];

// Clear the output buffers.
out_l.fill(0.0);
Expand Down Expand Up @@ -344,8 344,7 @@ impl PluginProcessor for TimelineTrackPlugProcessor {
let state = SharedCell::get(&*self.shared_state);
if state.audio_clip_renderers.is_empty() {
// This track has no audio clips, so fill the output with silence.
buffers.clear_all_outputs(proc_info);
buffers.set_constant_hint_on_all_outputs(true);
buffers.clear_all_outputs_and_set_constant_hint(proc_info);
} else {
let has_audio = self.process_audio_clips(&state, proc_info, buffers);
if !has_audio {
Expand Down