Supernova II NRPN woes…

Home Forums General Programming Supernova II NRPN woes…

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #185
    crayolon
    Participant
      • Topics: 5
      • Replies: 41
      • Total: 46

      I’m pressing (slowly) ahead with my Supernova II Ctrlr, using the Xiosynth Ctrlr as my template. Problem is, I’m having a really difficult time getting the Supernova to respond to any NRPNs that are sent. I’ve spent all evening learning the conceptual ins and outs of NRPN – how to construct messages, calculate values, select parameters, etc – but while the Supernova picks up all regular CCs, it just ignores NRPNs. Even NRPNs which, in the Xiosynth, correspond to different parameters don’t have any effect (the Xiosynth and the Supernova II share maybe 30% of mappings due to their shared Novation heritage).

      Can anyone think of any obvious blunders I might be making, or gotchas that I’ve forgotten about? Should it be as simple as changing the number in the XML (which works for the CCs), or am I missing some special voodoo?

      Suggestions appreciated; this is driving me mad now <img decoding=” title=”Smile” />

      Edit: by the way, the Supernova II [i:izmlca7h]sends[/i:izmlca7h] NRPN instructions fine when operated via knobs/buttons. I’ve monitored the output in MidiOX and, between MidiOX and the ver2.0 Supernova manual, I’m confident that I’m using the right NRPN values for the stuff I want to adjust… But…no dice.

      Second edit: is it possible that it’s because more than 128 NRPNs are used, and so the MSB bank is required as well as just the LSB bank? Is that something that isn’t accommodated for by the current NRPN implementation? And, if so, should I be packing my NRPN instructions into SYSEX messages? (Well, I guess I can find that out by trying it <img decoding=” title=”Razz” />)

      #1882
      atom
      Keymaster
        • Topics: 159
        • Replies: 2945
        • Total: 3104
        • ★★★★★

        no, NRPN/RPN is fully implemented the MSB/LSB split is done automagicly, you can have a look at the Tetra/Mopho editors they use NRPNs.

        #1883
        atom
        Keymaster
          • Topics: 159
          • Replies: 2945
          • Total: 3104
          • ★★★★★

          however not all NRPNs are equal, for example KORG ms2000 uses NRPN in running mode and it don’t work in normal mode, if you have, post the manual to the supernova synth i’ll have a look and i’m sure we can figure something out.

          #1884
          crayolon
          Participant
            • Topics: 5
            • Replies: 41
            • Total: 46

            Cheers, here’s the Supernova manual: [url:1gl7wgly]http://uk.novationmusic.com/uk/support/download/supernova_ii_keyboard_user_guide/132[/url:1gl7wgly]

            So I can use Dashboard to send MIDI CC, anyway. A problem I’ve found with the Dashboard, by the way, is that it crashes the second/third time you edit an existing control (but I guess you’re still working on Dashboard). It’s good for testing, anyway.

            Okay, I was up all night struggling with Express 2010 and discovered a few things.

            Your Ctrlr sources use the dot operator for accessing members of some Image related stuff, which builds fine, but I’ve discovered that if you edit and save a <whatever>Editor.cpp with TheJucer, it saves ‘->’ in place of ‘.’ and does a few other weird things that break it. I’m using the prebuilt Jucer from ‘extras’ within the juce package – I thought it was the latest version, but maybe I actually need to build it myself, what do you think? Worth pointing out in case others come across this problem, though.

            Some other very weird and inconsistent build errors cropped up for no reason that I could tell, and if they happen again (I’m sure they will!) I’ll try to document them on here. Anyway, a real problem I’ve got now is that no matter what I try, the build process won’t parse my adjusted XML – every time I build, I check the standalone executable’s Preferences and see all the OLD (i.e. xio prefix) modulators listed, even though my XML contains all new ones (snv prefix – supernova). My prebuild process seems to contain the XML thingy that we discussed on IRC, so I don’t know what’s going wrong OR where the hell it gets the old data from! It shouldn’t exist any more! Any suggestions would help to stop me going bald with frustration <img decoding=” title=”Smile” />

            Edit: oh, by the way, do you have some secret and magical way of generating the XML files, or does it have to be all done by hand (like I’m doing now)?

            #1885
            crayolon
            Participant
              • Topics: 5
              • Replies: 41
              • Total: 46

              Update in case my experiences can help others:

              "crayolon":1j8rfpsk wrote:
              Cheers, here’s the Supernova manual: [url:1j8rfpsk]http://uk.novationmusic.com/uk/support/download/supernova_ii_keyboard_user_guide/132[/url:1j8rfpsk]

              Your Ctrlr sources use the dot operator for accessing members of some Image related stuff, which builds fine, but I’ve discovered that if you edit and save a <whatever>Editor.cpp with TheJucer, it saves ‘->’ in place of ‘.’ and does a few other weird things that break it. I’m using the prebuilt Jucer from ‘extras’ within the juce package – I thought it was the latest version, but maybe I actually need to build it myself, what do you think? Worth pointing out in case others come across this problem, though.
              [/quote:1j8rfpsk]

              atom told me how to fix this – I needed to build my own Jucer exe from the source, as the bundled pre-built exe is out of date. The current one lets you edit/generate cpp fine.

              [quote:1j8rfpsk]

              Some other very weird and inconsistent build errors cropped up for no reason that I could tell, and if they happen again (I’m sure they will!) I’ll try to document them on here. Anyway, a real problem I’ve got now is that no matter what I try, the build process won’t parse my adjusted XML – every time I build, I check the standalone executable’s Preferences and see all the OLD (i.e. xio prefix) modulators listed, even though my XML contains all new ones (snv prefix – supernova). My prebuild process seems to contain the XML thingy that we discussed on IRC, so I don’t know what’s going wrong OR where the hell it gets the old data from! It shouldn’t exist any more! Any suggestions would help to stop me going bald with frustration <img decoding=” title=”Smile” />
              [/quote:1j8rfpsk]

              Fixed too, as atom explained to me that the prebuild step in the VC project needs to be given explicit filename targets according to the Ctrlr nomenclature. This can be edited in Project Properties in VC++/etc. The binarybuilder uses the specified XML file to generate a .cpp and a .h file (called MycontrollerMapping.cpp/h), so if you keep getting the old values in your controller exe, try deleting those and making sure the pre-build command is doing what it’s supposed to.

              [quote:1j8rfpsk]
              Edit: oh, by the way, do you have some secret and magical way of generating the XML files, or does it have to be all done by hand (like I’m doing now)?[/quote:1j8rfpsk]

              Heh, I think this remains a job to be done by hand, but it’s not too arduous. It will be once I start on the NRPNs though <img decoding=” title=”Wink” />

              #1886
              crayolon
              Participant
                • Topics: 5
                • Replies: 41
                • Total: 46

                So I had a fully working CC-mapped Supernova Ctrlr last night, based on the Xio. Then I started changing the Xio template in The Jucer so I could have multiple tabbed areas on a single page and also broke out some of the groups into separate sections etc…and now, while I can build and run the Ctrl fine, none of the knobs or sliders send ANY messages to ANYWHERE! All component names and xml names are correct (same as before, but I double-checked them) and the only stuff that’s changed is UI layout. Can messing with this stop a Ctrlr from sending MIDI?

                #1887
                atom
                Keymaster
                  • Topics: 159
                  • Replies: 2945
                  • Total: 3104
                  • ★★★★★

                  well that depends, if you added new tabs/components you need to tell the Ctrlr engine where they are, theese are the few lines of code i was talking about.

                  1) register all your components with Manager->registerComponents()
                  2) make sure that every change of the componenet is registered with the Ctrlr engine, the jucer generates those methods for you you just need to paste one line per method on the end of each method, those methods are:
                  [code:qv0aogxy]
                  sliderValueChanged (Slider* sliderThatWasMoved);
                  and you must add Manager->controllerEvent (sliderThatWasMoved, sliderThatWasMoved->getValue());

                  comboBoxChanged (ComboBox* comboBoxThatHasChanged)
                  and you must add Manager->controllerEvent (comboBoxThatHasChanged, comboBoxThatHasChanged->getSelectedId()-1);

                  buttonClicked (Button* buttonThatWasClicked)
                  Manager->controllerEvent (buttonThatWasClicked, buttonThatWasClicked->getToggleState());

                  [/code:qv0aogxy]

                  that’s it, everything should work

                  #1888
                  crayolon
                  Participant
                    • Topics: 5
                    • Replies: 41
                    • Total: 46

                    Heh, I think I must just have made a total mess of the whole thing… Jucer isn’t generating those methods (unless I’m looking for them in the wrong place) and I’m not sure where to put the code. I might start fresh with a more basic ctrlr as a template and try to understand it.

                    (EDIT: Oh, I found the methods in the individual tabs’ cpp files, but adding the handlers manually hasn’t made any difference so I must have messed up somewhere else.)

                    #1889
                    atom
                    Keymaster
                      • Topics: 159
                      • Replies: 2945
                      • Total: 3104
                      • ★★★★★

                      when you start the ctrlr under a debugger, you will see a lot of messages look for any "can’t register component" stuff this means the XML names and the editor names don’t match.

                    Viewing 9 posts - 1 through 9 (of 9 total)
                    • The forum ‘Programming’ is closed to new topics and replies.
                    There is currently 0 users and 123 guests online
                    No users are currently active
                    Forum Statistics
                    Threads: 2,495, Posts: 17,374, Members: 77,605
                    Most users ever online was 12 on January 22, 2019 3:47 pm
                    Ctrlr