Home Forums General Programming getPresetList operation?

This topic contains 0 replies, has 1 voice, and was last updated by  human fly 2 months ago.

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #73152

    human fly
    Participant

    sorry about the title – this is about a little idea i might
    like to implement for the D-110 panel:

    when they designed the D-series (and the mks-50), Roland, in
    their infinite wisdom, decided ‘Timbre’ was a good idea.

    a Timbre memory is like a container with a few performance-related parameters,
    and you call up the Tone (the ‘preset’) inside it.

    so each of the 128 Timbres (from A-11 to A-88 and B-11 to B-88) have a Tone
    assigned to them (user Tones are i01-i64). the default assignment might be,
    say: (this isn’t code, just using it for display)

    A-11[i01-myTone    ]
    A-12[i01-myTone    ]
    A-13[i01-myTone    ]
    A-14[i01-myTone    ]
    etc.

    note that they can all ‘contain'(or ‘wrap’) the same Tone.
    ie: you could use the same Tone more than once, at different
    root pitch, pan, or volume, etc.

    so what i want to do:
    1/ i need to populate a table with the current Tone names,
    as featured in internal memory (or from a specimen list, for
    the sake of building the method)
    -ie: ‘getToneNames’
    2/ then i need a Timbre list, where the numbering is fixed
    (A-11>B-88, ie: 0-127), with a ‘slot'(variable) where the
    item currently corresponding to that entry will appear
    -depending on what has been retrieved by (‘getToneNames’)
    3/ i now want to do my list selection with a popup menu,
    so that i can see all the names clearly at once, and see
    the entire list.
    > this is because this is a difficult and confusing part
    of using this unit. it is more useful to see which ‘Timbres’
    are used, and by what, because you cannot name Timbres, but
    you can end up editing them accidentally, when they are used
    elsewhere.
    >this is why updating this ‘assignment list’ is necessary
    any time a change is made ( so ‘getToneNames()’ could be
    called by all modulators that change Tone assignment for
    a Timbre.

    mm, so i suppose this involves knowing where the bytes in the
    main ‘all’ bulk dump are, and the addresses for the user Tone name bytes,
    then Timbre memories, getting their Tone and ToneGroup values.
    (Groups ‘a’ and ‘b’ are onboard factory presets that can be selected.
    ‘i’ is user memory, and ‘c’ is card memory, if present)

    if i know i have ‘factory’ namelists to work with already, these can be
    in one table… then have either a table or a macro(?) with indexed
    entries that are variables…

    unfortunately, what will make this a total nightmare to do, is the
    fact that each 10character name is 10 parameter values, and these
    must be assembled each into a string in order to be display, and
    this, 64 times .. so that means finding the start point in the
    bulk dump where Tone i01 parameters start, and then finding the
    number of bytes until the next Tone, i02, and so on.

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.

Comments are closed.