Ensoniq DP4 & DPPro and Eventide H3000

Home Forums General Using Ctrlr Ensoniq DP4 & DPPro and Eventide H3000

Tagged: , ,

Viewing 7 posts - 41 through 47 (of 47 total)
  • Author
    Posts
  • #91266
    tgermain
    Participant
      • Topics: 0
      • Replies: 1
      • Total: 1

      Any news about progress on developing an editor for the DP/4?

      • This reply was modified 5 years, 3 months ago by tgermain.
      #102151
      rectape
      Participant
        • Topics: 0
        • Replies: 2
        • Total: 2

        Bump,
        I have the dp2 and dp pro

        #117767
        damien
        Participant
          • Topics: 15
          • Replies: 62
          • Total: 77

          Hi just found the full sysex implementation for the Ensoniq DP/4.
          I worked today on a panel to control the DP/4 with Ctrlr like a remote.
          I downloaded the demo version of Midi Quest SoundQuest to monitor the messages between the APP and the Ensoniq.
          The Midi Quest is full of bugs and the edit of the different settings of Unit1 Unit2 Unit3 & Unit4 is not working. SOunddiver just dumps the programs without any way to control remotely the FX.

          So, here I come… with your help 😉 I’ll finally work on this Cntrlr Pannel and share with you my progress.

          * My first issue is : To emulate pressing a button, it requires 2 messages 1 Down then 1 UP.

          let’s say :

          SysEx,Direct,Direct,-1,-1,F0 0F 40 00 00 01 00 02 00 00 F7
          SysEx,Direct,Direct,-1,-1,F0 0F 40 00 00 01 00 02 08 00 F7

          The manual says that the unit requires a delay between sysex messages of at least 100ms.
          When I check the Mini Monitor log, both messages are sent without delay. This is why I get a sysex error message on the DP/4.

          Is there an easy way to separate all the sysex messages with a delay like 100ms, 200ms or so?

          SysEx,Direct,Direct,-1,-1,F0 0F 40 00 00 01 00 02 00 00 F7
          100ms
          SysEx,Direct,Direct,-1,-1,F0 0F 40 00 00 01 00 02 08 00 F7

          thanks a lot!
          Damien

          #117769
          dnaldoog
          Participant
            • Topics: 4
            • Replies: 480
            • Total: 484
            • ★★

            Hi Damien,

            Try this in a lua function: (See attached panel)

            os.execute(sleep(200)) -- 200 milliseconds

            An example lua function could be:

            
            myMethod = function(mod,value,source)
            local t={
            	{0xF0,0x0f,0x40,0x00,0x00,0x01,0x00,0x02,0x00,0x00,0xf7},
            	{0xF0,0x0f,0x40,0x00,0x00,0x01,0x00,0x02,0x08,0x00,0xf7}
            }
            for _,v in ipairs (t) do
            	panel:sendMidiMessageNow(CtrlrMidiMessage(v))
            	os.execute(sleep(200))
            end
            end
            

            Good luck,

            Attachments:
            You must be logged in to view attached files.
            #117771
            damien
            Participant
              • Topics: 15
              • Replies: 62
              • Total: 77

              Hi Damien,

              Try this in a lua function: (See attached panel)

              os.execute(sleep(200)) -- 200 milliseconds

              Good luck,

              Thanks a lot! This will help.
              I achieved a small delay between messages with blank messages inbetween :

              
              SysEx,Direct,Direct,-1,-1,F0 0F 40 00 00 01 00 02 00 00 F7
              --
              --
              --
              --
              --
              SysEx,Direct,Direct,-1,-1,F0 0F 40 00 00 01 00 02 08 00 F7

              The blanks instructions give me 1ms between the two hex messages which is enough for the unit to process the request without errors.
              I’ll implement your LUA delay method later on.

              Thanks!

              • This reply was modified 3 years, 11 months ago by damien.
              • This reply was modified 3 years, 11 months ago by damien.
              #117775
              damien
              Participant
                • Topics: 15
                • Replies: 62
                • Total: 77

                EDIT:
                Code fixed

                ViButComDelayRght = function(mod,value,source)
                local t={
                	{0xF0,0x0f,0x40,0x00,0x00,0x01,0x00,0x02,0x00,0x09,0xf7},
                	{0xF0,0x0f,0x40,0x00,0x00,0x01,0x00,0x02,0x08,0x09,0xf7}
                }
                for _,v in ipairs (t) do
                	panel:sendMidiMessageNow(CtrlrMidiMessage(v))
                	os.execute(sleep(200))
                end
                end

                Thanks !

                • This reply was modified 3 years, 11 months ago by damien. Reason: code fixed
                #119411
                prangis
                Participant
                  • Topics: 0
                  • Replies: 1
                  • Total: 1

                  Any further activity for the DP4?

                Viewing 7 posts - 41 through 47 (of 47 total)
                • The forum ‘Using Ctrlr’ is closed to new topics and replies.
                There is currently 0 users and 63 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