plugdata-team / plugdata

Pure Data as a plugin, with a new GUI
https://plugdata.org
GNU General Public License v3.0
1.54k stars 66 forks source link

Standalone v0.3/v0.3.1 bug report #26

Closed 60-hz closed 2 years ago

60-hz commented 2 years ago

Here is some report with v0.3 (tested under OSX)

(edited by @timothyschoen)

timothyschoen commented 2 years ago

Thanks! These reports have been super helpful!

I'm going to create a v0.3.1 pretty soon just to fix all the issues the are already being found in v0.3.

60-hz commented 2 years ago

I'm not sure what you mean with "label like click selection"

It was about displaying label of all selected object when drawing a rectangle to select multiple object but it's not important since the mouse-over concept might be ditched as you said ;)

The reason for this is that you might want to type arguments after the object name, this behaviour is also identical to Max/MSP

Yes, that makes sense. But still a little remark to optimize the workflow: When user select an object name in the list, the box get filled with name and remaining letters are highlighted. So if user want to add arguments, hitting space key will replace the remaining objects letters with a space and object name will be cut in the middle. So user need to type Right arrow key (to place cursor after name), then space key, then argument. This scenario behavior could be shortened by placing the cursor at the end of object name after selection (hope it won't conflict with the object filling process...).

Example to create a "print test" object:

I used to have it at last mouse-position, and I found that was confusing because it always gets created close to the create object menu. Selecting new objects it is a great idea tho!

Ok, I understand. The best behavior should be like puredata then: the object "stick" (follow) to mouse position until you click somewhere to validate the final object position in the patch. This way is more natural and handy. Also adding object using shortcut might have the same behavior.

timothyschoen commented 2 years ago

I've uploaded a new release that has regular pd/max locking behaviour, and fixes most (though not all) of your issues, and generally should be a lot more stable, I think you'll like it :)

Let me know if you find any new problems, there's so much you can do with pd that it's tough for me to test everything before each release. There's always some blind spots you have when testing thing you wrote yourself. This ticket can stay open because I haven't fixed everything yet.

60-hz commented 2 years ago

As usual, great work! The interface is getting smoother and smoother and that’s nice that you choose to duplicate the regular pd/max locking behavior. After some tests, here is my report (as usual I am focusing on interface interaction rather than on object testing to stabilize the base):

timothyschoen commented 2 years ago

Thanks for the list! It's great that you focus on interface interaction, the base of PlugData just runs pd, so that means that as long as the interface behaves correctly, it should just do exactly what pd-vanilla does. And oh man, the keyboard looks whacked...

I agree with all your points as well, I find myself forgetting if I'm in run/edit mode all the time because the lack of visual feedback.

timothyschoen commented 2 years ago

@8ouble-r also reported some crucial problems, I think I'll create a quick release today just fixing those issues, the keyboard size and the array position bug. I'll take care of the rest in the release after that, but I feel like just these changes make the experience much better.

60-hz commented 2 years ago

Ok, I am updating my comment a little bit sometimes to be more clear as english is not my mother language.

timothyschoen commented 2 years ago

Thanks! And you English is fine, don't worry!

The blue bar is kinda useless and more there for aesthetics. I know someone who does GUI design for audio apps, and also has experience with Max/Pd so I was planning to ask him to do a nicer design pretty soon.

timothyschoen commented 2 years ago

I wonder about your opinion on the default bang interrupt time, which is 250 ms in Pd. That feels very long to me, it means that you basically can't see 16th notes on a bng... Do you agree that we can change the default to something like 100 ms?

60-hz commented 2 years ago

I know someone who does GUI design for audio apps, and also has experience with Max/Pd so I was planning to ask him to do a nicer design pretty soon.

Thats nice. One simple word: if something has no specific signification, then get rid of it :) Minimalism is always nice. Rules is no bevel, no drop shadow, no gradient if possible of course :)

I wonder about your opinion on the default bang interrupt time, which is 250 ms in Pd. That feels very long to me, it means that you basically can't see 16th notes on a bng... Do you agree that we can change the default to something like 100 ms?

I totally agree with that, but do you mean hold time or interrupt? because hold time is at 250 by default and interrupt at 50... I usually change interrupt to 30 and hold at 100 (because I am working with frames with ofelia / gem often and I need to display about 25fps which is 40ms) during some workshops. If the GUI has no performances issues, then why not lower the default values.

alfonso73 commented 2 years ago

hi all! thanks @timothyschoen for your ongoin' great work and thanks everybody helping. To keep things compact i'll make here some more report for 0.3.2

  1. Can't type tilde or any other ASCII character accessible with ALT+(ASCII code on numpad). I'm on Windows with italian keyboard and that's the only one way AFAIK to type a tilde.
  2. When i load multiple instances it takes four tries to actually instantiate any object (See attachments). Everything works fine with one PlugData instance only
  3. When i load multiple instances after goin' through point 2. i have PlugData working but all audio of both instances goes out from the first instance only (See attachments)
Several tries before an obnject can be instantiated Audio out from first instance only
timothyschoen commented 2 years ago

I believe the tilde problem is a problem with reaper. Make sure you select "FX->Send all keyboard input to plugin". This works for me but maybe it won't work for you, I don't have an Italian keyboard.

That other issue looks bad, I'm going to rewrite a part of the patch/instance code for the next version, I'll make sure to test this. Thanks for reporting!

timothyschoen commented 2 years ago

I can reproduce this problem, so it should be fixable

alfonso73 commented 2 years ago

I can reproduce this problem, so it should be fixable

do you mean the tilde problem or the multi-instance ones?

timothyschoen commented 2 years ago

I can reproduce the multi-instance problem, ~ works fine for me, did you try it with the "send all keyboard to plugin"? If that doesn't work I'll try it with an Italian screen keyboard.

alfonso73 commented 2 years ago

@timothyschoen yeah ~ works with "send all keyboard to plugin"

timothyschoen commented 2 years ago

@alfonso73 I think I've fixed these problems now, but I'm going to have to test this for a while to make sure everything works.

The problem is pretty complicated, pd has support for multiple instances, but it stores the current instance it in a global variable, which is shared between instances of PlugData. When two instances are running simultaneously, one instance can make itself the current instance while the other instance is busy with, for example, creating an object.

alfonso73 commented 2 years ago

@timothyschoen that's great. Let's see how the tests go and tell me if i can help.

timothyschoen commented 2 years ago

PlugData-Win64-2.zip

Here's a windows version with the fixed multi-instance support, if you could try it and let me know if it works, it would help me a lot!

alfonso73 commented 2 years ago

@timothyschoen object instantiation in multiple PlugData instances seems to work fine. But audio out of both PlugData instances still come out from first instance only. PS...would you think it's a good idea to open an "issue" or a discussion topic with future feature request for PlugData?

alfonso73 commented 2 years ago

oh..and even if i toggle dsp off in the second instance, it still reamains on and its audio still come out from first instance

timothyschoen commented 2 years ago

I've opened an issue for feature requests!

I've never had the audio problem myself, so I was afraid that it wouldn't be fixed yet... It's a very strange bug, especially because Camomile doesn't have this problem AFAIK, and we use the same system for this.

alfonso73 commented 2 years ago

Camomile doesn't suffer of the same thing. I did another test and with custom patches works ok...for some reason with the [osc~] help things about instances are strange...this time i have audio output "inverted" so instance on track 1 goes to instance on track 2 audio out and viceversa....probably there's some strange thing in the messages in those help patches? try this to little examples on two different instances and then open osc~ help file on both and check tests.zip

timothyschoen commented 2 years ago

Thanks, I'm able to reproduce it now! Knowing that it doesn't happen in Camomile also helps a lot!

timothyschoen commented 2 years ago

It's fixed! Turns out it wasn't that hard.

I do get a lot of crashes still when using PlugData in a DAW, I have to admit I tested the standalone a bit more thoroughly at this point, because debugging in the DAW is a bit of a hassle. I'll make sure it's better by the next release!

timothyschoen commented 2 years ago

I'm closing this issue, the only thing not implemented is the "object sticks to mouse" thing, I'll keep that one in my mind ;)