Copy Loopy's MIDI bindings
Good news: I found a way to transfer my Loopy MIDI bindings between devices.
My "Network Session" bindings in Loopy has over a total of 60 bindings with gain, pan, mute, overdub for all 12 tracks, plus transport controls and tempo. I finally figured out how to transfer this list of bindings over to other MIDI sources by editing the plist file on a laptop.
- Just browse Loopy's files by connecting your iPad to iFunbox on a PC or mac.
- Find the plist file.
- Save it to the computer.
- Load the file in a plist editor. This one is free on OSX. https://itunes.apple.com/us/app/textwrangler/id404010395?mt=12
- find the "Network Session" MIDI bindings and copy/ paste to a new location.
I was able to copy all my "Network Session" bindings for controlling Loopy from another iPad.
Then I pasted these bindings into "Virtual MIDI" for controlling Loopy from the same iPad under MIDI Designer (a MIDI controller app). Without editing the plist, this process of re-creating all the bindings would have taken forever.
Next I'm going to see if I can paste the bindings into my iPhone plist!
Thanks to the guys here for the info: http://forum.audiob.us/discussion/1029/lemur-template-for-loopy-and-turnado
and yes, this won't be an issue if saving and loading MIDI bindings is added as a feature within Loopy, but we all know Michael is busy and we don't want to distract him from other priorities. Just go vote for
"Import/export MIDI binding configuration" on Loopy's feature request poll on Facebook. We've already got 19 votes
awesome, it works to transfer it to iPhone! 60 + bindings added in just a few minutes with connecting the iPhone to my Mac.
This is excellent info, thanks! I've had to redo bindings a lot
Great suggestion! I downloaded iFunbox yesterday. It's such a time-saver for iPad and iPhone users (Using iTunes just to transfer a few files can really be tedious). I was going through some of my other iPad apps in iFunbox and it seems like the same process could be used to edit an app's Preferences, Global Settings, etc. just by editing a .plist file. Makes it easy to save and load different configurations. Thanks for sharing your advice.
Anybody get this to work? I can get the plist file from Loopy but if I make any changes to the file and upload it back to the app, the changes don't stick.
Nice one. I normally have all of the loopy's contents backed up using ifunbox.
If someone knows the protocol for editing a parameter in the plist file offline, specifically the MIDI bindings, and then successfully loading back into Loopy I'd love to know how. The OP seems like that is what they were doing by moving the bindings from one device to another.
WRpooley, what program are you using to edit the plist file? It won't work in a normal text editor.
I haven't messed with this in a long time, but it was tedious just making sure that the file was correctly replaced. If I made the wrong edits, and messed up the plist, loopy would just re-write the file.
If I recall, I had to make at least one "virtual MIDI "binding so I knew where to copy the bindings to in the plist.
I'm using TextWrangler and more or less just replacing the text that speaks to the MIDI bindings. I have not specifically create a virtual midi binding and instead have just changed the name of the binding from 'Network Session 1' to 'Set List Maker'. Spurred by your comment, I looked at the plist file and I do see a reference to a PGMIDI Virtual Destination which has an integer value of 812361745 although I don't know what it means.
Since it would appear you've been down this road before I'll explain my dilemma - I can't seem to be able to create any binding to Set List Maker using the MIDI Learn function in Loopy. A little background: Set List Maker can be set up to send a string of midi commands when you select a song from your setlist. These can be anything from Program changes to FX units, CC values or perhaps load a bank of samples. The app also permits you to assign tempos to the songs in your setlist and will generate MIDI clock for as long as you want or for a defined amount of time such as 1 or 2 bars. Unfortunately if Loopy has a some loops loaded and not muted it will react very erratically as it adjust to the new clock information coming from Set List Maker. However, if I 1) keep the tracks muted and 2) let Loopy play for a bar or so to the new tempo and 3) toggle pause/reset in Loopy, then when I unmute a track Loopy will beat match the drum loop really well right off the top. This lets me in effect fly a pre-recorded loop into the arrangement at a tempo that is fairly close. In my case I'm simply wanting to put Loopy in this state of readiness by automating the 3 events listed above with the selection of a song from our setlist. My set up would include a Note On to toggle a Loopy track to muted, a couple of bars of sync would come from Set List Maker and then stop. Then another Note would toggle a particular track in Loopy to 'On'. Finally at a particular point in the song I then step on a pedal to play Loopy and the right loop for that song at that moment comes in at pretty much tempo.
I can make all this happen pretty reliably if I set up a network session and set up the bindings over a network but I'd rather not have to have a laptop around to keep that network alive. I need a way to set up the bindings over a network and then re-assign them to Set List Maker's virtual ports.
Has anyone managed to copy regular midi bindings? I'm seeing a few plist files but when I try to copy them to my desktop nothing happens. Ideas?
Aha, got them!
got the file, copied it to another IPad but no bindings present.
Yuck. I'm sorry, guys I plan to make this exportable/sharable/importable in-app, but I had other things to do first.
yep this did work last I tried, but it was not so easy, you can't just grab the plist and drop it into another iPad. (sorry supadom!)
I had to open up the plist, copy just the right text relevant to MIDI bindings, paste it into the plist file from the other iPad, blah, blah.... I'm not even bothering with tfiguring this out again since it will likely be built into in Loopy ME.
... or are you saying Michael that it will be added to Loopy HD? That would be lovely.
You're right pasting doesn't work But also it seems like the bindings section in the playlist text looks different between loopy mini retina and loopy air 1 (when viewed with the ominibus (or something) viewer.. It should be as simple as matching the cc to the function/number but it wasn't. I will look at it when I have a bit more time.
I'm trying to copy bindings from air 1 where they were set before bindings change in the setting. I think I found a bug in the new version with beat step as a binding pad controller. It won't allow me to do some assignments but will honour the existing ones, if I'm making sense. Anyway I guess instead of changing the plist file I can just reinstall the old version of loopy, set the bindings and then update to new loopy. Thanks @Hmtx
Phew, it worked. For others with the same binding issues and in possession of Loopy HD v.1.4.10:
roll back to previous version of loopy hd using ifunbox
assign your bindings
assign the long press bindings (non existing in the previous version)
Man I feel you. Every time you sit down to work on ME you get an email notification about some bug or another. Maybe you could squash bugs in your lunch break?
Just messin with ya
@Michael it is definitely a bug, I've just tried assigning akai lpd8 and exactly the same thing happened.
It only seems to affect single track mute binding. It responds to the first mute but then won't unmute.
It's not so much a bug, as something that doesn't exist yet, I'm afraid..
Ok, gotcha. Actually, I didn't. This did not happen in the previous loopy version. I can remember myself in the past happily muting and unmuting tracks all the time.
Is this still possible? I can't find Loopy's plist file in iFunbox. I think the iOS 8 sandbox prevents this now? Is there any way around this? I have a TON of bindings I need to back up!
@gburks - I believe jailbreaking is the only way currently
That's right, for now, unfortunately. I thought iExplorer would be able to handle it, but it looks like the latest iOS 8 update has broken that permanently. With the latest version I've revised the user interface around the control input stuff, partly with the motivation of adding management of control presets soon after - these will be stored in the Documents folder (which can be accessed from your Mac/PC), and there'll be options to share and import presets via email/etc too.
Well, iExplorer got me part of the way there... I was able to export the plist through iExplorer's Backup Explorer. I don't think there is a way to do anything with it, like to replace the contents with a different set of bindings and push it back to the device.
This is good enough for me (for now). I just wanted to make sure I could save some bindings for a later date, overwrite them for now, and hopefully Michael's future update will let me put them back later.
Ah, good solution - I'd not thought of the backup route.
I'll sort out the rest soon
ok so my bindings are in the plist file in iExplorer's Backup Explorer... now... how to restore to a new iPad? Is this possible?
Ah, I just checked this out and - dammit! - nope, Apple've locked this down now. I'm going to be tweaking the control stuff shortly, so I'm going to see what I can do about import/export along the way. Until then, I'm afraid it's looking like a major PITA now =/
I bought a program called iMazing and... it worked!! https://imazing.com/ $35 but they give you a 10% off coupon if you like them on FB.
Using their program I was able to move ALL of my Loopy midi mappings and other settings, along with all of my Sessions, from my old iPad to my new one.
Their website says "To our knowledge, we're the only software on the market to allow backup / restore of app data on iOS 9." More details here: http://support.digidna.net/hc/en-us/articles/210869438-How-to-Store-Backup-and-Restore-Apps-and-App-Data
Can anyone let me know where the bindings are stored? Can't find this plist file. When I look at files in iFunbox / iMazing I only see this: