Before posting, please read: When to use this forum, when to submit a help ticket

Author Topic: New Feature Request: Grouping of MIDI Presets within context of a song  (Read 4718 times)

apilz

  • Senior Member
  • ****
  • Posts: 66
  • Karma: +1/-0
Arlo,

One feature request I have (and mentioned in another thread) is to have the ability to created a sub group of MIDI presets within the context of a given song.

For examples, I have a song that has a number of patch changes for different sections such as verse chorus intro etc.. And I have three devices I need to switch together when these sections in the song are reached. I'd very much like the ability to structure something like this:-

Song A

Midi Presets
--- intro (<---- name given as free text field)
-------- Korg patch 1 (<---- existing midi presets)
-------- Roland patch 17
-------- mainstage patch 25

--- verse 1 (<---- name given as free text field, and perhaps every song can have a verse 1)
-------- Korg patch 4
-------- Roland patch 17 (no change)
-------- mainstage patch 30

Etc...

When a song is selected the first group of patches can be sent as send midi with song selection, and also provide the ability to use a foot switch or other remote device to advance forwards and backwards through these groups.

Hope this is clear enough?

Alan

Ps keep up the great work! You have an amazing product!!
Thanks, Alan

arlo

  • Administrator
  • Senior Member
  • *****
  • Posts: 4295
  • Karma: +104/-3
Instead of making three presets for the intro (one for each device), you should put the program changes for all three devices into the same preset. Then you would just have one preset for each section of the song.

apilz

  • Senior Member
  • ****
  • Posts: 66
  • Karma: +1/-0
Arlo

That would obviously work and have already considered that approach.

However the midi presets are 'global' in the application. So the example using this approach would look like this:-

Song A contains a midi preset

Song A - Verse 1 (midi preset) containing 3 program changes.
----Korg preset 1
----Roland preset 14
----Mainstage preset 20

Can't call it  verse 1 because every song has verses and they would need to be identified uniquely.

So I would be duplicating the song information in the midi preset name to create this unique key.

All I'm suggesting is that this functionality to be in context to the song. Meaning it could be a child of the song, and therefore only available within that song. So 'song a' has a verse 1 that contains midi presets 1,2 & 3. 'Song b' can also have verse 1 but with midi presets 3,6 and 7.

I've seen somewhere in the app you can create a midi preset that has multiple other midi presets. (Rather than one midi preset with multiple program changes) so you are almost there! Similar idea but this group of midi presets should be local to the song.


Not sure I'm doing a good enough job here in explaining??!?!
Thanks, Alan

arlo

  • Administrator
  • Senior Member
  • *****
  • Posts: 4295
  • Karma: +104/-3
Quote
Can't call it  verse 1 because every song has verses and they would need to be identified uniquely.

If the song is called "Freebird," what would be the problem with naming the preset "Freebird - verse 1" or "Freebird - v1"? That's the typical way to handle this situation.

apilz

  • Senior Member
  • ****
  • Posts: 66
  • Karma: +1/-0
Arlo,

In practical terms nothing would stop me creating a Freebird - Verse 1 Midi Preset.

In principle from a data model perspective I think it could be further optimized.

You have done a great job of defining each object in bandhelper to map the real world. Such as a song is its own object but can be added to a set.

If I use the midi preset name to associate the midi preset with a song then I feel I am somehow breaking the rules and creating duplicate information. If the song name changes I need to update the associated midi presets prefixed with this song name. It also clutters my bank of midi presets that currently represent one patch per instrument. Feels a bit messy.

Taking your approach further, I see there are two possibilities of acheiving the group in the current release.

1. Standalone midi preset with multiple device program changes.

2. Standalone midi preset with multiple other midi presets added.

Would both approaches work in the same way? what is the intended use case for each approach / design intent?
Thanks, Alan

arlo

  • Administrator
  • Senior Member
  • *****
  • Posts: 4295
  • Karma: +104/-3
Quote
If I use the midi preset name to associate the midi preset with a song then I feel I am somehow breaking the rules and creating duplicate information. If the song name changes I need to update the associated midi presets prefixed with this song name. It also clutters my bank of midi presets that currently represent one patch per instrument. Feels a bit messy.

MIDI presets are deliberately NOT tied to songs because you might want to use the same preset for multiple songs. In this case you would name your presets something like "church organ" or "80's synth" and then you could attach them to any number of songs, without the need to recreate the same MIDI presets over and over again.

Quote
Taking your approach further, I see there are two possibilities of acheiving the group in the current release.
1. Standalone midi preset with multiple device program changes.
2. Standalone midi preset with multiple other midi presets added.
Would both approaches work in the same way? what is the intended use case for each approach / design intent?

I would only recommend the second option if you want to mix and match the settings for different devices. For example, if you have two keyboards, and you always use a program on the first keyboard in conjunction with a program on the second keyboard, it would be more efficient to put both programs into the same preset. On the other hand, if you want to set up different combinations of the two keyboards' programs for different songs, then you could create a separate MIDI preset for each program on each keyboard, then create parent presets that combine them in different ways, and attach the parent presets to your song. Even then, it might still be more efficient to create a single preset for each song, if the MIDI data sent to each device is as simple as a program change. The ability to chain presets together is more useful if you need to send sysex or other more complicated messages and don't want to reenter the same data into different presets to create different combinations.

apilz

  • Senior Member
  • ****
  • Posts: 66
  • Karma: +1/-0
Arlo thanks for the reply. I totally agree with your first comment. One that is in keeping with what I mentioned about you keeping the solution in keeping with the real world. Perhaps what I'm more referring to is not a midi preset tied to a song, but a similar way you can chain midi presets together today but contextually in the song. Thus keeping the midi presets defined independent to any song as you state. Doesn't creating a Freebird - verse 1 midi preset violate this rule?


Sent from my iPhone using Tapatalk
Thanks, Alan

arlo

  • Administrator
  • Senior Member
  • *****
  • Posts: 4295
  • Karma: +104/-3
Quote
Doesn't creating a Freebird - verse 1 midi preset violate this rule?

Not if you will only use the preset in that song. If you want to use it in other songs, then you could give it a different name that is descriptive of the preset's contents. Or if you will use the individual programs in different combinations in different songs, but will only use this combination of programs in this song, then you can give the individual programs descriptive names and connect them with a parent preset that has a song-based name. The current structure allows you to organize your data in several different ways depending on what's best for your setup.

apilz

  • Senior Member
  • ****
  • Posts: 66
  • Karma: +1/-0
I'll have a go at experimenting with this approach. Thanks again for the quick response.


Sent from my iPhone using Tapatalk
Thanks, Alan