getPresetList operation?

Home Forums General Programming getPresetList operation?

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #73152
    human fly
    Participant
      • Topics: 124
      • Replies: 1070
      • Total: 1194
      • ★★★★

      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)
    • The forum ‘Programming’ is closed to new topics and replies.
    There is currently 0 users and 94 guests online
    No users are currently active
    Forum Statistics
    Threads: 2,495, Posts: 17,374, Members: 77,605
    Most users ever online was 12 on January 22, 2019 3:47 pm
    Ctrlr