Free Patch Editor for GR-33 - Questions

Started by Chrismiami, April 07, 2023, 02:58:20 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Elantric

Quote from: Rolloq on April 26, 2023, 12:01:09 AMFound this Roland gr 33 editor on the net couple a years ago, the reason i did t published it here on the forum was that the programmer rented it by the hour.

URL LINK?

Chrismiami

Quote from: Rolloq on April 26, 2023, 12:01:09 AMFound this Roland gr 33 editor on the net couple a years ago, the reason i did t published it here on the forum was that the programmer rented it by the hour.
Yikes! That's... yellow! Thanks for the UI shot, @Rolloq! It's so interesting to see how people organize all the settings.

Rolloq

 URL LINK?
I was lookin for a url link today but i did t find one.

Rolloq

Chrismiami

@Elantric IDK what the heck that page is about! That UI does not seem to match what the GR-33 settings are, they have a GR-300B and then a shot of @gumtown's GR-55 editor! What a mashup!

Elantric

#29
I removed it, it was clearly a bot produced page with a link to malevolent software

Im just google image search for "GR-33 Edit" - but not all results are friendly

Gr-33 edit




Chrismiami

The results of that search really shows corporate/industrial programming at its best! Thank heavens for a low bar! LOL

Rolloq

I checked the Roland gr 33 picture.jpg  info and found this.

https://www.freelancer.com/

Rolloq

Chrismiami

Quote from: Rolloq on April 26, 2023, 07:09:22 AMI checked the Roland gr 33 picture.jpg  info and found this.

https://www.freelancer.com/

Rolloq

That's a pay-for-programming site, so I guess the developer is using that as an advertisement for his programming skills?  Hmm...

Chrismiami

#34
Today I bundled the Roland tone list into the app. It's in the Owner's Manual on page 122-123.

To work with them in the app, I created an object graph that sorta looks like

ToneFolio --contains--> ToneGroup(s) --contains--> Tone(s)

The default ToneFolio is named "Roland Tones", and is organized exactly as are the tone pages, with ToneGroups like Piano, E. Piano, Organ, Bell etc. Another ToneFolio is also provided with what I hope will be more useful groupings based on other characteristics.  Users are able to create and save their own Tone Folios and Groups, if they want to.  Of course, the only tones available are the built-ins; this is just organizational sugar.

In a future iteration, I hope to have audio samples of each. And maybe pics or Wikipedia links.

class Tone {
  let toneNumber: UInt16
  let toneName: String
 
  init(name: String, number: UInt16) {
    self.toneName = name
    self.toneNumber = number
  }
 
  func bytes() -> [UInt8] {
    let lsb = UInt8(toneNumber & 0xff)
    let msb = UInt8(toneNumber >> 8 )
    return [lsb, msb]
  }
}


(Every object that can be transmitted to the GR-33 has a bytes() method.)

Chrismiami

I'm going hands-off with the MIDI connection. MIDIKit's the answer, and it will be entirely up to the end-user to pre-configure their MIDI network properly for access by the app. Before sending anything to whatever device that's been identified as a GR-33, I'll transmit a SysEx message with

  let Identity: String = "7E 10 06 01"

and compare any response that comes back with

  let Identity: (String,String) = (cmd:"7E,10,06,02,41,30,01,00,00",rev:"00,00,00,00")

And only send/receive other stuff if it passes the test.

I've nailed the feature set down and how to present it too! Some super nice UI elements, but not using the built-in SwiftUI junk is making a bit of extra work. I'm still modeling the GR-33's MIDI Spec but that should be done soon.  I created one font and found a couple others that'll make things seem very familiar to GR-33 artists!

You cannot view this attachment.

Part of me thinks I'm going to need to provide users a choice between ugly UI and kick-ass UI because, let's face it, ugly can be efficient.  If you're copying a string of numbers, you just wanna type them in, not be forced to twiddle virtual knobs to get each setting right.  Then again, sometimes one wants to play around and knobs are fun. So, I'll be getting familiar with preference persistence and the best way to swap UI's around.

First version will be iPhone only, and no rotation.  Hopefully I don't have to release it that way, but if so, trust - you'll *want* an iPhone! haha!

And lastly, I have to tell you, I am REALLY excited about the Patch editor. As Balok said, "I hope you relish it as much as I!"

Elantric

Make it compatible with iPad - need screen real estate , and less paging vs constricted iPhone screen

Chrismiami

Quote from: Elantric on May 05, 2023, 08:55:06 AMMake it compatible with iPad - need screen real estate , and less paging vs constricted iPhone screen

Yeah, that'll be the 2nd platform I think! Gotta focus on one at a time or I'll go bonkers.

Chrismiami

I am going to provide 2 ways to edit a patch: a sort of quick-edit and the full details.

In the quick edit, you can change:

  • Name
  • Tone1, Tone2
  • Tone 1:2 balance

and you can view

  • Patch number or Grp/Bank/Num
  • Which external synths it's been saved to

But I have more real estate.  What other 2 or 3 parameters would you want to modify in quick-edit?  I'm thinking:

  • Har/Arp select / Key
  • Har/Arp on/off
  • Reverb, Chorus, Multi-FX on/off

Or maybe any of the CC options?

  • Modulation
  • Volume
  • Pan
  • Hold
  • Pitch Bend sensitivity
  • Exp pedal on/off

IDK, maybe I can just use the whitespace... :-)

Elantric

#39
Review the ballistic sliders and course/fine control of similar apps - look at 4 minutes here

Chrismiami

Yes, I like those ideas @Elantric.  I'll see about working them in. Thanks!

Elantric


Chrismiami

Yes, I saw the github link in the video's caption.

I tried a few things and I think I had less extra space than I thought.  In portrait mode it's a bit tiny to put a lotta stuff, so I'll retract the question for now. LOL

You cannot view this attachment.

Chrismiami

Well, development stalled a little. Swift is the worst possible language I can imagine. And it's so immature that its horribleness is made worse by inconsistent awfulness. Just a nightmare. Like trying to write a song in XML. Blecch!

But, I'll get back into it in the coming weeks. I should have the GK kit installed in my Steinberger and then I'll really want to use the app!

Happy 4th!