Leaqio.com
colugomusic from patreon
colugomusic patreon

Dev Log #54 - Block management, MIDI thoughts, and block references

🕑 Added 2021-07-22 13:25:55 +0000 UTC
Dev Log #54 - Block management, MIDI thoughts, and block references

Comments

Colugo Music

Yea There might be a bit of a learning curve. I'm thinking the "most default" behavior should be to always copy rather than clone. i.e. on Windows CTRL+C to copy and CTRL+SHIFT+C to clone. So if someone tries the usual "copy" keyboard shortcut then it won't do anything too surprising and the "clone" operation might be something they find out about through documentation or tutorial videos. My hope is that as soon as a user makes an edit in one block and sees the changes automatically reflected in another, the visual feedback of that would help the concept click even if they are not familiar with the concept of references. Though this would only happen if they are editing a parameter which affects the waveform, or one that is currently visible in the other block. I think we are on the same wavelength wrt visual clutter. The block header/footer controls already automatically hide things when there's not enough room which is sort of nice because if a user is manipulating a particular block they will usually zoom in on it anyway. Probably what i will do for non-unique blocks is add a chain-link icon/button in the header with its own context menu with all the reference-management related operations and info for that block, similar to what I did for the sample channel selector.

Marek Bereza

yeah could be nice! one thought is that its difficult to imagine how easy to understand it would be to someone who's not familiar with c++ smart pointers and reference counting - maybe it's still really obvious. If every block in the workspace had a little number it it, it might become a bit cluttered for the sake of letting people know how many instances there are - e.g. a row of kick drums. Maybe they just need some simple signifier, like a chain link icon or even simpler like an italicised or underlined name. Just thinking of whatever would be the least visual clutter/cognitive load for the amount of information a user needs

Colugo Music

In the Godot editor most resources are copied by reference by default (makes sense for a game engine), with the option to "make unique". It has the same problem you describe where it can be unclear whether an object is unique or part of a group of references. My current thought is that blocks on the workspace will have a number in the corner indicating how many references belong to the same group, and probably some other visual distinctions around the edges. I could also highlight related blocks on the workspace when hovering

Marek Bereza

That all sounds great! Blender the 3d program has a similar paradigm where you can "duplicate" or "duplicate linked" (the latter being the reference version) - to me it all makes sense, but in blender at least, it's not massively clear to me whether an object is linked to others or not. You did mention that you would try to visually distinguish blocks that have a reference - maybe a simple one is to show the selected block as highlighted, and have a sort of ghost highlight for any linked blocks the user can see - idk if that would be too obtrusive or not obvious enough but it sounds good


More Creators