Hello,
I use Touch OSC with my Windows7 setup. (I'm not a Mac person, so I can't comment how it works with Mac/Apple products, although I expect it would be a bit easier with Mac/Apple). With Windows, it must be wired (it doesn't work on Wifi) to transmit Midi signals from the PC running Hauptwerk to the iPad and visa versa. (The both send signals back and forth, so the PC can turn on/off a stop on the iPad, and the iPad can turn on/off a stop on the PC/Hauptwerk). In order for it to work, you must also install the Touch OSC Bridge (which I have setup to run when the PC starts up). You can download the Touch OSC Editor, which will allow you to create your 'screens' on the PC, and then transfer them from the PC to your iPad. You can transfer the screens (from a PC to the iPad) via Wifi, or through iTunes. The App will not transmit midi signals to a PC over Wifi, though, so it's important that you have the Touch OSC Bridge running before you connect your iPad.
I took me a few attempts - experimenting with colors (there is a limited number of colors you can use for the controls - and the labels) and fonts to get it looking right, but I like being able to control the location and size of the stops. It also gives you a bit a flexibility if you're using multiple sample sets - for example, I chose to name my couplers consistently (Swell to Swell 4, instead of Swell Super, Swell Octave, etc). It also has allowed me to have consistency in layouts - for example, my couplers are always in the same place, regardless of which sampleset I'm using - and it allows me to use the master couplers with HW instead of the sampleset couplers seamlessly.
You can have multiple screens (or tabs) on each iPad - for example, on my left iPad, I have stops for the Pedal and Swell divisions on the main tab. On the alternate tab on the left hand side, I have some HW controls - transposer, recording options, registration sequencer, etc. Each control (stop, coupler or function) must have a unique midi channel and event number. (I use channels 13,14,15,16 as those channels aren't in use by the rest of my console). Each channel can have 127 events. If you decide to use this for multiple samplesets, it would be advisable to have some kind of numeric scheme, as to which stops/controls for which divisions correspond to a channel and/or group of events.
Touch OSC is not expensive - under $10. The main investment will be your time. I would suggest you start with a simple sampleset (St. Anne's is always a good starting point), and see what you can do with it. There's not alot of documentation on the hexler website (
https://hexler.net/products/touchosc), but once you see how a single button can be configured to control a stop, it's just a matter of repeating the same process throughout the entire sampleset (many, many times). Try putting just one stop on the screen, transfer the screen to you iPad, connect (using a USB cable) the ipad to HW (making sure Touch OSC Bridge is running) and try to auto detect the stop. You may have to modify your midi interface for both input and output to allow HW to 'see' your iPads. Just make sure you indicate TouchOSC Bridge as your midi interface for input and output (in addition to whatever midi you're already using, of course).
I tried launchpads first, but wanted something that didn't have a physical label component (just a personal preference). I enjoy being able to swap sample sets, and simply load the new screens while the sampleset loads on HW. It makes playing multiple samples during one practice session very easy and enjoyable.
There's also
http://www.organassist.com/. I've read about it on the forum, but haven't looked into it, as I'm happy with Touch OSC.
Hope this helps.
Kevin