DanT: Purfenator

Link to the manual returns a 404.

1 Like

That could be a nice option. It might be best with a horizontal gap threshold below which disjoint modules are still packaged within one skiff (assuming there is no vertical gap)

Yeah some type of threshold could work, X amount of HP gap for rows makes a new skiff and then if there is a row gap vertically - that is also a separate skiff.

Minor bug - it is not restoring the skiff depth upon patch load. It always defaults to 2 hp.

Feature request - It might be nice to specify the skiff interior color separate from the outside.

1 Like

I will consider multiple skiffs, but donā€™t get your hopes up on this feature.

It would require some significant code work. The issue is that right now it is very very easy to get the dimensions of all the modules in the patch just using getVisibleChildrenBoundingBox VCV Rack API: rack::widget::Widget Struct Reference

I think to do either multiple skiffs or to exclude certain modules from the main skiff, I would need to first track which modules were in which group, and these would need to be dynamic lists, and have some intuitive way of selecting them (although the horizontal distance threshold is a nice idea), and then I would have to recalculate the bounding boxes, possibly using each individual modules boxā€¦

Maybe when I look into it I will find a better solution, this is just off the top of my head

1 Like

Yes, errā€¦. Sorry I havent done the documentation yet, its my weak point

I will try to get it updated soon

Hmm, ok, Iā€™ll try to get that fixed in the next update, thanks for the bug report

Yes, I thought about this when making the module. But how far do I take it? Should the bezel also be able to be coloured differently from the sides and inside? Would anyone want to colour the shadow?

Iā€™ll try it out and see how it feels, I donā€™t want to overload the module with so many customisations that it becomes cumbersome, but I should think one extra colour selector will be fine.

1 Like

I agree - you shouldnā€™t go crazy with options. Having the bezel, side, and bottom all tied to the same color makes perfect sense. Your module adjusts the brightness of each component depending on how much light is hitting the surface. I view them all as part of the same thing. But the inside can easily be a different material, and I think it would look better if I could change the inside color independently.

1 Like

Random thoughts: What if the module could look at a folder and randomly pick an image from there, and change it at certain intervals like minutes etc - kind of like a rotating wallpaper setting.

And maybe taking things too far - what if there was clock input that controls this, so a clock trigger would cause it to change the image.

All nice to haves, but Iā€™m really enjoying this module! Perfect for fullscreen mode.

Wow! Really nice- thank you!

@dan.tilley Iā€™m having lots of fun with this. One feature request: an option to fix image background so as not to scale and tile. in other words, modules would scale, but the image would stay static.

1 Like

Not tiling the image could be added as an option, shouldnā€™t be to difficult.

For the scale, do you mean make the image ignore the Rack zoom?

Iā€™ll have to ponder it for awhile, canā€™t think of an easy way to implement that where the zoom would not affect the image, only a hacky way where I rescale the image inversely to the zoom levelā€¦

It should be easy however to simply add an image scale slider in the menu, so that you can set the image from 50% to 200% size, it just wouldnā€™t automatically change with the zoom.

I think both might be useful/nice, but definitely the option for image to ignore rack zoom. Thanks dan.

@dan.tilley

[19.508 fatal adapters/standalone.cpp:49 fatalSignalHandler] Fatal signal 11. Stack trace:
46:  0x0
45:  0x0
44: _C_specific_handler 0x7ffc660a7f60
43: _chkstk 0x7ffc67c52290
42: RtlRaiseException 0x7ffc67c01030
41: KiUserExceptionDispatcher 0x7ffc67c50e90
40: ZN4rack6widget6Widget13requestDeleteEv 0x7ffbe8217540
39: ZN16PurfenatorWidgetD0Ev 0x7ffbe213deb0
38: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
37: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
36: ZN4rack3app7browser21ModuleWidgetContainerD0Ev 0x7ffbe866f5e0
35: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
34: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
33: ZN4rack6widget17FramebufferWidgetD0Ev 0x7ffbe82158e0
32: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
31: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
30: ZN4rack6widget10ZoomWidgetD0Ev 0x7ffbe869a6e0
29: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
28: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
27: ZN4rack6widget17TransparentWidgetD0Ev 0x7ffbe869b160
26: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
25: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
24: ZN4rack3app7browser8ModelBoxD0Ev 0x7ffbe86725e0
23: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
22: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
21: ZN4rack2ui16SequentialLayoutD0Ev 0x7ffbe8667ed0
20: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
19: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
18: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
17: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
16: ZN4rack2ui12ScrollWidgetD0Ev 0x7ffbe82108e0
15: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
14: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
13: ZN4rack3app7browser7BrowserD0Ev 0x7ffbe8670f70
12: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
11: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
10: ZN4rack3app7browser14BrowserOverlayD0Ev 0x7ffbe866f0e0
9: ZN4rack6widget6Widget13clearChildrenEv 0x7ffbe8217ae0
8: ZN4rack6widget6WidgetD1Ev 0x7ffbe8217c40
7: ZN4rack3app5SceneD0Ev 0x7ffbe81f6d80
6: ZN4rack7ContextD1Ev 0x7ffbe8194040
5: ZN4rack7ContextD1Ev 0x7ffbe8194040
4: ZN4rack7ContextD1Ev 0x7ffbe8194040
3: ZN4rack7ContextD1Ev 0x7ffbe8194040
2: ZN4rack7ContextD1Ev 0x7ffbe8194040
1: BaseThreadInitThunk 0x7ffc67ac7330
0: RtlUserThreadStart 0x7ffc67c02690

Rack crashes, only thing I can read is line 39 purfenatorā€¦ any use to you ?

The old time of assemblerā€¦I retain a laugh Who code like this nowaday? Gcc?

Gcc is so low level and flexibleā€¦Gcc has no stress Gcc could be better vebosed for newcomerā€¦seriously

AI could do thatā€¦AI serve

What you will like in a person will be like a reflect

Yes, it is useful in the sense that it confirms I havenā€™t solved all the crashes, but sadly not useful in providing any info on the cause of the crash, or indeed how to reproduce it.

Can you reliably recreate the crash?

Iā€™ve seen one or two crashes on Rack shutdown, but then not been able to reproduce themā€¦

No, but it only crashes after I close Rack, so the next time I start Rack it tells me it crashed.

But AFAIK I have to have opened the browser during the session.

EDIT weird thing is Purfenator is not even in the patch.