Jump to content

normen

Members
  • Posts

    32
  • Joined

  • Last visited

  • Days Won

    1

normen last won the day on January 19 2020

normen had the most liked content!

About normen

  • Birthday 01/01/1

Profile Information

  • Gender
    Not Telling

normen's Achievements

MIDIbox Newbie

MIDIbox Newbie (1/4)

3

Reputation

  1. Hey. Sorry but I didn't extend this further yet. I do use it at times and funnily I just thought about finishing it the other day but I guess it will still take some time until I can allocate time to it again. However I did put many comments in the code and the basic UI layout is set so everybody is very welcome to extend it further. Most of the "hard" coding work and logic layout is done and new device panels can basically be copy&pasted from the existing ones, adding the UI elements and changing the code respectively. Should not be too hard really. If somebody gets around to extend it just send me a mail with the Lemur file and I will upload it for everybody else and if needed finish it when I have time again.
  2. So, I haven't completely added all new features I wanted yet and some are still half-implemented. Ensemble send isn't done yet, so it cannot be configured, but the Ensemble settings can now be loaded and viewed via the button top right. I thought some might appreciate a small update nonetheless, also as a small sign of life so nobody thinks this won't be finished ;) I have added copy/paste for whole presets and added a way to send data in addition to the ensemble settings. Also the sequencer doesn't trigger a reload anymore so you can switch between patterns quickly. The local data is stored as well when it is sent to the MidiBox so it knows about the current settings of the midibox (not just the last dump). This caused some data corruption akin to the MidiSysEx send corruption that happened sometimes, mostly because of non-truncated data being converted to bytes. I fixed most of this but if you could test this by re-applying the local data to the faders (via the info window "i" button) every now and then I'd appreciate it :) Also, if somebody with a iPad 1 cares to test if 50 SysEx messages per frame work there as well that'd be cool, I wasn't quite sure but I didn't want the uploads to take too long (they already are slower than normal due to the separate sysex messages). Also theres been some severe code cleanups :) I updated the main post and file on DropBox. Cheers, Normen
  3. Just a short update so you don't think I've forgotten about this ;) I already implemented the changes for the latest MidiBox SID version when TK posted the update (see updated post above) but atm I don't have time to work on it further. In a few days I should have time again and I'll completely clean up the code first and then add some pages and panels I definitely still want for myself like the ensemble settings etc. Then I'll make it available in a more appropriate way than dropbox and write up some docs, e.g. on googlecode or so. Edit: One issue I still have to solve is changing complete patches and/or copy-pasting patches. I can't even store an array as big as the preset arrays in the Ctrlr interface, let alone send a SysEx message that long (its an array) :( Edit: d'oh, I guess I can just send single parameter commands.. Lets hope that many in succession won't confuse Lemur.. But I am getting good at workarounds for Lemur ;)
  4. @All: Thanks, I'll update the file in dropbox every now and then, when theres big changes I'll post here. @Antix: Yes, iOS. I guess you should regard it the "windows of the post-PC-era" in terms of market leader. Makes much more sense to have the closed but proper and working system as reference and the open systems as options anyway ;) @TK: Cool, you will make the best tester I can get :) Also @TK, some questions to work on issues I have: - Can I save the current SID memory to a bank directly or do I have to send a complete dump? I guess I'd have to send it as single PolyPressure messages then too but I didn't try that yet, maybe Lemur manages to sink the whole buffer in the iPads MIDI stack.. - I have problems calculating the checkSum, it happens in PatchDump.receivePoly(MIDI_ARGS), maybe you can take a look. It outputs the various tries in the debug window accessible with the "I" button on top. - Unrelated: Can the SID *output* a MIDI Sync signal somehow? Cheers, Normen
  5. Hey folks, as indicated in I started working on a patch for Lemur to edit my MidiBox SID v2. Few panels are working yet, the main work went into working around some serious limitations in Lemur, like a max size of 255 for arrays, max sizes for execution time, stack size and general method size and other niceties. As the Lemur is incapable of receiving big SysEx dumps, you need to have at least MidiBox SID V2.042 installed. Currently working panels: - Lead Oscillator + Filter - Bass Oscillator + Filter - Bass Sequencer - Bass LFO/ENV (ENV doesn't send data yet) - Knob assignment Known Issues / TODO - Implement all functions :smile: - Selecting an engine doesn't change the engine yet, you have to load a patch with that engine - Storing patches does not work (Is there no way to store memory->bank directly? I have to send a whole dump to store??) - Sequencer editing currently causes a dump and thus dropouts when switching the edited sequence due to workaround - Sequencer copy/paste/nudge doesn't work yet - Sequencer octave labels are wrong on all but one button row :smile: I intend to do it like its written on most but that requires some more work - When linking, values that change due to inertia are not synched due to a workaround - Possibly could optimize data sent and send less parameters at once (e.g. left filter params are always sent at once) - Fail to create proper checksum atm.. Sooo.. Currently some of the code is a bit messy still but its already becoming cleaner so it should be easy to extend, I'll write up some more documentation in addition to the existing code comments and README in the project. As the editor isn't really an IDE or code editor at all some things might not be obvious directly. As I guess it'll take me a lot of time until I really add all of the panels I don't use etc, maybe somebody wants to extend this further on his own when I added all I need ;) Download link to the current version Let me know if you have some issues with the current functions or see any strangeness. Especially look out for "entangled" parameters that cause changes in each other by reloading the memory after changing a setting (use the "apply local values to faders" button in the info panel for that). This is because I don't always math.floor() the bytes I send (imagine me with a beer in my hand) to save resources and sometimes I forgot values that can actually leak. Cheers, Normen
  6. Works exactly as advertised :) Would be great to have this in by default with its own dump command. Watch out for some post-christmas presents ;)
  7. Smart :D I actually meant just sending the single addresses of the patch, not really single parameters. Thanks a lot, I guess I should be able to hobble this together like this. Cheers, Normen
  8. It turns out to complete this I'll probably need some help. I can edit parameters fine but getting patch data turns out to be impossible. The Lemur flat out drops midi messages when they take too long until the final 0xF7... This means a patch dump always takes too long and gets truncated to 10-26 bytes :( I wrote a message to them and posted in their forum but I doubt we can hope for a quick fix. So I thought of the next best fix: Would it be possible to have the MidiBox SID send its patch data as separate sysex messages, one per parameter? As a separate dump mode? I guess it should be but as I am not very proficient in assembler (I prefer the MidiBox C api ;)) it would take me very long to get this working, so I am reaching out for help on this. Cheers, Normen
  9. Cool, I'm using your Ctrlr surface as a guideline (sorry for the frustration on that side) the code for that being LUA already helps a lot :) I'll try and comment and document it best as possible so it can be extended easily. I know I will miss some functions and probably leave out some panels I seldom use on the first release. Cheers, Normen
  10. I started work on a control surface for Lemur. As I currently have most fun with the Bassline module I started doing an UI for that but its written so that it can be extended to the whole SID. The panels will adapt automatically based on the engine used and you can select one SID and basically directly work on its patches. From what I read here I guess TK also looked into doing this but theres a few things to overcome. First of all the single scripts can only have like 40 lines or so, then lists can only take 33 items (because they cannot be scrolled anyway), finally the LUA interpreter bails when the stack gets too big. This made it a bit hard to display the values for 255 parameters :) But I managed to by chaining multiple methods that each have a portion of the list, effectively I now have 12 methods and the first one looks like this (No worries, I let other code write the code for these methods :D): if(param>=231){return getParameterName11(param);} else if(param>=126){return getParameterName6(param);} else if(param == 0){return '0 | --- None ---';} else if(param == 1){return '1 | Volume';} ..... else if(param == 20){return '20 | Ext5 Value';} else return getParameterName1(param); Then the parameter selection works with a knob for coarse selection and two small buttons for the fine selection (see below). So, I hope I can get this to a workable state during the rest of this year ;) Then I'll make it available to the MIOS community to tear apart, extend, beautify and complain about ;) Bassline Oscillators Bassline Step Sequencer Knob Assignment Cheers, Normen
  11. Found a solution, albeit a rather funny one.. I set the first box to MIDI_MERGER_MBLINK_FP and the second to MIDI_MERGER_ENABLED (instead of MIDI_MERGER_MBLINK_EP!) and that seems to work when chaining the two boxes :D I can use MIOS Studio as well as Ctrlr to edit patches on both boxes via the ID now and I get only the boxes' MIDI back, no SYSEX echo.. MIOS is still confused when trying to contact the core. When I set up FP/EP the cores crash directly on restart :-?
  12. I kind of planned that space to later add a transformer, lets see. For now I'll just use two USB-MIDI cables.
  13. Hm true, did people test if the MIDI voltage can sustain this thing? I mean else I'd need another external power box or I'd have to add another connector to one of the sids which totally wrecks my layout (and probably won't fit..) :( Also didn't have too much success with MIDI merge. It works in general but e.g. the Ctrlr-surface can't receive the data from box one.. Almost seems like box two drops the data with the wrong device id or something, idk..
  14. D'oh.. I enabled midi merging and now I can't upload code anymore cause MIOS studio gets confused due to its own echo.. Guess I'll have to use some external tool if I want to change something in the future ;)
×
×
  • Create New...