wir35 / marf

Source code for electronic music store MARF 248r
MIT License
19 stars 2 forks source link

When External is selected for time, Input A is directly output to Time out, instead of mix of ext in's or slider values. #19

Closed waldnzwrld closed 2 years ago

waldnzwrld commented 2 years ago

I'm testing things out,

Current configuration:

AFG2 is running a 4 step sequence, all time the same.

ref out from that sequence is driving a 12 step sequence with stops on every step.

All time slots are set to external.

Slow Saw wave input to EXT A

Random voltage 1 from 208 (leftmost) input to any other ext in

Set half of sliders to A half to other input, check voltage out of Time output it should be an exact copy of whatever is being input to A

Monosnap 2022-06-28 20-21-58

Monosnap 2022-06-28 20-23-58

Monosnap 2022-06-28 20-25-39

waldnzwrld commented 2 years ago

On closer inspection, it appears that only input A is being respected in EXTERNAL mode for time in either AFG and the time value (not just the time output) only respects input A

@maxl0rd

maxl0rd commented 2 years ago

Thanks for the report.

That PR won't be the relevant any longer since this commit changed the behavior. I think that method is actually dead code now. https://github.com/wir35/marf/commit/b1fb433b453c3aecece552bc35126009d521523b

The correct behavior for your patch is to see the time slider value on the time output, not the ext A signal.

I am going to leave this issue open since I think you might have identified a different problem.

maxl0rd commented 2 years ago

Also, it's kind of an interesting choice to use the ref out to the start pulse in. Do you find it somehow works better?

The pulse outputs actually have better timing and sharper edges. They should trigger the start interrupts more reliably.

waldnzwrld commented 2 years ago

it's kind of an interesting choice to use the ref out to the start pulse in.

I was just toying around with the timing from the ref out. I'll check for an updated build and let you know if the behavior is as expected, thanks @maxl0rd

waldnzwrld commented 2 years ago

Things still aren't behaving as expected with the latest release, but are better.

So the Time output now returns the slider values, but not the sampled value of the external input.

With a slow Ramp at input A

With time sliders set like this (all sliders set to external), Random into input B and a slow saw into input A

PXL_20220711_175033742.jpg

The time output returns this (Yellow trace Time out, Purple trace Input A)

PXL_20220711_175047607.jpg

@maxl0rd

maxl0rd commented 2 years ago

Excellent report, thanks.

I resolved the problem of not addressing the B-D inputs. That was another misplaced parens.

The time outputs though are working as intended. They are not supposed to relay the external input when set to external. It seems like they should, but that's not how the original works. It is always strictly the level of the time slider.

waldnzwrld commented 2 years ago

Thanks for the clarification, and for the fix!!!

You are truly gracing us with your phenomenal work.

maxl0rd commented 2 years ago

Resolved in beta 5 (marf-v2-66-2022-07-13.hex.zip)