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

Sending 'set' messages with the same value create audio clicks (RENAMED) #35

Open
rconstanzo opened this issue Dec 8, 2017 · 7 comments

Comments

@rconstanzo
Copy link
Owner

Steps to reproduce:
Create a [buffer~]/[karma~] combo. Send a message of 'set basic 0.5 0.5'.

Actual results:
Phasor locks up (see comments below).

Expected results:
Not sure the best course of action here. Maybe it can default to a minimum 'initial loop' value. I like that a window can be set to be a single sample big (for use with modular/dc offset shit), but there's no use for a whole LOOP to be 1 sample long. So maybe the minimum value that can be sent is x amount of samples big?

Comments:
Of you send a jump message this ‘unsticks’ the phasor and somehow defaults to a previous buffer ‘set’ size.

@rconstanzo
Copy link
Owner Author

As detailed in #16, commit 103b4fb isn't working properly for multi-argument set messages, so not possible to test this at the moment.

steadykammer added a commit that referenced this issue Dec 15, 2017
#40 implemented, #16 implemented, #36 fixed?, #35 fixed?, #34 fixed, #33 fixed
@rconstanzo
Copy link
Owner Author

This is kind of working as of commit 3ee990b in that it throws up the following error when you try to set basic 100. 100.:
karma~: loop size (loop maximum minus loop minimum) cannot be this small, minimum is vectorsize internally (currently using 64 samples)

But, if I send a message that it is happy with (set basic 100. 104.) it doesn't define a 4ms initial loop, but instead defaults to what sounds like a 100ms default size.

Is there some internal clamping going on here?

Aside from the potential clamping issue, perhaps the better behavior here would be to throw up the yellow error as it currently does, but if the requested set loop size is < the current vector size, it sets the loop size to the current vector size AND throws up the error message.

steadykammer added a commit that referenced this issue Dec 19, 2017
….b. - bug still present: loop low point still always set to '0.' - set and setloop messages are setting correctly, so this issue is in older code, so more research required. also issue #41 fixed, issue #35 fixed, issue #33 fixed, fwiw.
@rconstanzo
Copy link
Owner Author

rconstanzo commented Dec 19, 2017

Commit 7cb20ca improves this but still some clamping type thing. Or this could be still related to #16.

Sending basic 100. 100. throws up the appropriate message:
karma~: loop size cannot be this small, minimum is vectorsize internally (currently using 64 samples)

But it sets the sample length to 100.725624.

If I set basic 100. 101. it gives me a new loop length of 101.723356, and basic 100. 102. gives 101.995465, so there's some funky remainder thing going on.

Like I said though, this could all be related to not being able to set a lower parameter.

@rconstanzo
Copy link
Owner Author

Reopening this one though this may very well be a different problem/bug.

When you send basic 100. 100. it throws up a message as it should, and then karma~ internally sets the phasor to 0.0.

The problem comes that when you then send basic 100. 200. it instantly jumps to whatever phasor position the new set message wants to jump to, but since the phase was set to 0.0 (as viewable by the new spiffy @syncout 1) there's a click.

Maybe the basic 100. 100. message should throw up an error, but remain frozen in it's current phase position. And also continue playing from there when a subsequent set message is sent.

@rconstanzo rconstanzo reopened this Jan 24, 2018
steadykammer added a commit that referenced this issue Jan 25, 2018
@steadykammer
Copy link
Collaborator

zero loop size now simply ignored, so playback not interrupted. the playhead functionality you want here may not be possible until version 2 rewrite. if you are ok with soft fix i'd be inclined to close this issue. if not, speak up :)

@rconstanzo rconstanzo changed the title Sending a 'set' message with the same arguments breaks the phasor Sending 'set' messages with the same value create audio clicks (RENAMED) Jan 28, 2018
@steadykammer
Copy link
Collaborator

i think this is related to #61

@rconstanzo
Copy link
Owner Author

Yeah this can get closed and revisited. I think the ideal behaviour is ignoring the message either way, since this wouldn't be the way to get a single frozen sample either way (ala window 0.0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants