umlaeute / Gem

Graphics Environment for Multimedia (official repository)
https://gem.iem.at
Other
103 stars 30 forks source link

gemhead abstraction is not used, and the compiled object behaviors changed. #408

Closed ch-nry closed 9 months ago

ch-nry commented 10 months ago

previously on Gem, when a gemhead received a bang, it outputed a "gemstate pointer pointer" I used a lot this feature to replace a gemstate + separator. It did not work any-more and lot's of pmpd example patch are broken (as example 52) Today git on ubuntu linux.

gemhead is not an abstraction, but a compiled object.

If I replace [gemhead] with the abstraction [/home/chnry/pd/Gem/abstractions/gemhead], it works better.

umlaeute commented 9 months ago

this is somewhat tricky.

banging a [gemhead] needs to ensure that we have "a" valid context, otherwise we have all kind of weird/undefined behaviour. now, [gemhead] also takes an argument to specify which context it is bound to (and not specifying a context is really binding to a context with an empty name). so stacking [gemhead]s with different contexts might yield unexpected results.

however, i understand that this is not the case here. i've checked the latest Gem from git and afaict, pmpd/examples/52_pmpd_string.pd is working correctly. could you check?

PS: in order to force using the gemhead-abstraction, you should use [./gemhead] rather than a full path.

ch-nry commented 9 months ago

It also working here with both gemhead as a compiled object or an abstraction. I'll check latter my other (and more complex) patch. Since they don't use multi context, I think (and hope) that everything will be OK. For now, you can close this Issue. Thanks a lot