dumpClassSubtree, change the posts order

hi,

I want to get the list of classes in ABC order with dumpClassSubtree. Is there any option ?

// rund this
Filter.dumpClassSubtree;

// got this on postwindow.
// a bit hard to see, can I get in ABC order?
[
 MoogFF
  Median
  GlitchHPF
  Slew
  RedLbyl
  GlitchBPF
    [ GlitchBRF ]
  TwoPole
    [ TwoZero APF ]
  Friction
  DetectSilence
  Lag
    [ Lag2 Ramp Lag3 ]
.
.
.

I wanted this too and couldn’t find it.

I’m not sure if it’s hidden away somewhere, or you can write something like this:

var subclassTreeFromWithIndent = {
    arg class, indent;
    var subClasses = class.subclasses;
    (indent ++ class.name).postln;
    subClasses.notNil.if({
        var sortFunction = { arg i, j; i.name <= j.name };
        subClasses.copy.sort(sortFunction).do({
            arg k;
            subclassTreeFromWithIndent.value(k, indent ++ "  ")
        })
    });
};
subclassTreeFromWithIndent.value(Filter,"");

Ps. Or the actual tree…

var subclassTreeOf = {
    arg class;
    var subClasses = class.subclasses;
    var sortFunction = { arg i, j; i.name <= j.name };
    subClasses.isNil.if({
        class
    }, {
        class -> subClasses.copy.sort(sortFunction).collect({
            arg item;
            subclassTreeOf.value(item)
        })
    })
};
var numberTree = (Number -> [Complex, Polar, (SimpleNumber -> [Float, Integer]), Spherical]);
subclassTreeOf.value(Number) == numberTree;
2 Likes

I checked the classes but couldn’t find too.

This is beafutiful, thank you for share ing your code, it’s helpful !