USB MIDI class-device oddities with more than 16 ports

Hi,
just playing around with programming an USB device stack for the AT91SAM7 MCUs. Because i do a lot in music electronics, i tried to implement a MIDI device (Audio/MIDISTREAMING) according to the specs:
http://www.usb.org/developers/devclass_docs/midi10.pdf
And, just for fun, i wanted to try if it works if i use 2 output endpoints to get (theoretically) 32 physical MIDI OUT connectors. According to the specs, this should be possible (page 9):
"The USB-MIDI Converter typically contains one or more MIDI IN and/or MIDI OUT endpoints."
"Each MIDI Endpoint in a USB-MIDI converter can be connected to up to 16 Embedded MIDI Jacks."
So. I can use "more" IN and/or OUT endpoints. I did so. I have 1 IN endpoint, 2 OUT endpoints. And on each endpoint, i have 16 embedded jacks connected to the external jacks (which in fact are currently just simulated
Now what is the reason why i write this?
On reception of data, everything works fine so far, but i didn't check with more than 1 endpoint so far. On transmission, i can address the first 16 jacks on the first endpoint without any problems, but the other 16 jacks (which are on the second endpoint) are routed to the first endpoint by OSX.
I can see this in the display i have on the MCU, and i also can see that everything goes to the other endpoint if i just exchange the endpoint numbers in the configuration descriptors. So i think my code on the MCU does the right things, but OSX doesn't seem to be able to handle more than one output endpoint.
This also might apply to the input endpoints, i don't know.
Did anyone observe similar problems? I don't talk about such things like those Emagic interfaces, they are not implemented according to the standard class device specs, they have some more features and need a proprietary implementation.
Not that this would be too important, but i think it might be a bug worth fixing.
...Michael

Either i'm asking in the wrong forum or you are posting on the wrong threads
I will virtualize the situation for you, the rest please stay with the initial post, as meanwhile, all the important details are lost.
Yes, this is a box with 32 MIDI-Out connectors and 16 MIDI-In connectors besides the USB connector. I can see this interface with exactly this configuration in Audio-MIDI-Setup (now this is real, not virtual , and if i configure any software to output on Port 1-16 (not channel!), the signal appears on Port 1-16, but when i configure Port 25, it appears on Port 9. So Instead of Ports 17-32, OSX sends the data to Ports 1-16 again.

Similar Messages

  • Document/literal style wsdl with more than one port

    Recently I have changed wsdl style from rpc/encoded to document/literal as BPEL does not handle soapenc:arrayType. The wsdl contains 2 operations and few complex type definitions.
    In BPEL Designer I have created a process that invokes all operations defined in the wsdl, but only one of them will have some data in the response message and the other one will have an empty message. On the other hand, when I use stub generation to invoke Web Service everything is working fine.
    If I provide separate wsdl for each operation (in BPEL process I would have two partnerLinks instead of one) than it works fine.
    Does this mean that BPEL does not handle document/literal style endpoints with more than one port (operation)?
    I have tested this with the orabpel_2.0_J1_win32.exe and orabpel_2.0rc9_win32.exe. Web Services, used for this test, are deployed in Jboss 3.2.3 and axis-1_2beta3.
    WSDL used as partnerLink:
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions targetNamespace="http://test" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://test" xmlns:intf="http://test" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <schema elementFormDefault="qualified" targetNamespace="http://test" xmlns="http://www.w3.org/2001/XMLSchema">
    <complexType name="CardId">
    <sequence>
    <element name="cardType" nillable="true" type="xsd:string" />
    <element name="number" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    <complexType name="CardIdArray">
    <sequence>
    <element maxOccurs="unbounded" name="item" nillable="true" type="impl:CardId" />
    </sequence>
    </complexType>
    <element name="getCardsReturn" type="impl:CardIdArray" />
    <complexType name="CardholderCards">
    <sequence>
    <element maxOccurs="unbounded" name="cards" nillable="true" type="impl:CardId" />
    <element name="serialNumber" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    <element name="retrieveChReturn" type="impl:CardholderCards" />
    </schema>
    </wsdl:types>
    <wsdl:message name="retrieveChRequest" />
    <wsdl:message name="getCardsRequest" />
    <wsdl:message name="retrieveChResponse">
    <wsdl:part element="impl:retrieveChReturn" name="retrieveChReturn" />
    </wsdl:message>
    <wsdl:message name="getCardsResponse">
    <wsdl:part element="impl:getCardsReturn" name="getCardsReturn" />
    </wsdl:message>
    <wsdl:portType name="TestService">
    <wsdl:operation name="getCards">
    <wsdl:input message="impl:getCardsRequest" name="getCardsRequest" />
    <wsdl:output message="impl:getCardsResponse" name="getCardsResponse" />
    </wsdl:operation>
    <wsdl:operation name="retrieveCh">
    <wsdl:input message="impl:retrieveChRequest" name="retrieveChRequest" />
    <wsdl:output message="impl:retrieveChResponse" name="retrieveChResponse" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="TestServiceSoapBinding" type="impl:TestService">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="getCards">
    <wsdlsoap:operation soapAction="" />
    <wsdl:input name="getCardsRequest">
    <wsdlsoap:body use="literal" />
    </wsdl:input>
    <wsdl:output name="getCardsResponse">
    <wsdlsoap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="retrieveCh">
    <wsdlsoap:operation soapAction="" />
    <wsdl:input name="retrieveChRequest">
    <wsdlsoap:body use="literal" />
    </wsdl:input>
    <wsdl:output name="retrieveChResponse">
    <wsdlsoap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="TestServiceService">
    <wsdl:port binding="impl:TestServiceSoapBinding" name="TestService">
    <wsdlsoap:address location="http://localhost:8080/axis/services/TestService" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

    Hi Dragana,
    We definitely support the ability to call a web service that exposes two operations (document/literal or not).
    Glancing through your WSDL, it looks good.
    Could you please try to tunnel the second request and see 1) what data is sent to the service and 2) what data is returned by the service?
    Can you please email us a reproduceable case so that we can help troubleshoot in parallel?
    Thank you,
    Edwin
    [email protected]
    please rename .zip to .zap

  • Is there a stereo bluetooth headset that can pair with more than one device at a time?

    Is there a stereo bluetooth headset that can pair, i.e. multipoint, with more than one device at a time?
    Are the MacBook and iPhone 4 capable of multipoint bluetooth technoloagy?
    The goal is for my wife to be able to watch her Korean TV soap operas on her MacBook and still receive a call on her iPhone 4 via a stereo bluetooth headset.
    I was looking at the Motorola S10-HD but after further review saw that it only pairs with one device at a time.
    Appreciate any and all input. My Googling has returned no results.
    Rick

    TeslasBB wrote:
    pairing my BB8330 with my blue tooth earphone(TM:jawbone) and my microsoft sync thats in my car simultaneously? if i pair with the car, will i have to pair my jawbone all over again?
    You can only pair one device at a time to your 8330, or any other phone for that matter.  The "pairings" are saved to the phone, you can use one or the other and you won't have to pair it again.  Once you turn your bluetooth device on and the phone is on, they will find each other again.
    Hope this helps,
    John
    Stevie Ray! 1954-1990
    ** Don't forget to resolve your post with the accepted solution.

  • Can you get an Apple ID for corporate use to associate with more than 10 devices?

    Can you get an Apple ID for corporate use to associate with more than 10 devices?

    I don't believe you can. The usual model for iOS app distribution is for each device to have a unique Apple ID and for apps to be acquired separately, either via codes from the Volume Purchase Program or individual purchase through the iTunes Store. The licensing from the iTunes Store doesn't allow an app to be installed on more than one device unless all the devices are being used by a single person, so you legally cannot install one app on multiple corporate devices in the circumstances most businesses use.
    Regards.

  • Freetext with more than 300 char show with function or class

    Hi all
    I search a function or a Class how could show freetext with more than 300 char like a popup.
    Now somebody one ?
    Thanks in advance

    Hi
    Try to use HELP_DOCULINES_SHOW
    Max

  • Packages with more than 1 class?

    Does anybody know of a good tutorial on how to  deal with packages, external classes?
    I almost have it, ( I think)  but whenever I try to use a package with more than one class in it -- even the standard ones supplied in the ActionScript references, they don't work.  And, if I have anything in the flash file other than an empty single frame, it breaks.  So this precludes the use of library objects, which, if you CAN use them, saves a lot of coding time....
    Any ideas would be appreciated.
    :<)

    Here is a package from the help files that I tried to implement in Flash 10. / AS3
    It has more than 1 class. I couldn't get it to run.  If you can show me how to get it to appear, I'll be a happy camper.
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/accessi bility/AccessibilityProperties.html
    :<)

  • Can a user facetime with more than one user at a time

    I can use facetime with Macbook and connect to another Macbook user on another WIFI network... I was wondering if one can facetime with more than one user at a time?

    ellis911 wrote:
    I can use facetime with Macbook and connect to another Macbook user on another WIFI network... I was wondering if one can facetime with more than one user at a time?
    Only if you have more than one device running FaceTime at your end.
    Mac Pro Quad Core (Early 2009) 2.93Ghz Mac OS X (10.6.5); MacBook Pro (13 inch, Mid 2009) 2.26GHz (10.6.5)
    LED Cinema Display; G4 PowerBook 1.67GHz (10.4.11); iBookSE 366MHz (10.3.9); External iSight; iPod4touch4.2.1

  • Looking for a way to get my Product ID and Vendor ID so I can enable my Radium 49 USB MIDI keyboard to work with Labview 7

    Looking for the Product ID and Vendor ID for my Radium 49 USB MIDI keyboard to work with Labview 7
    Is there a tool to find out the Vendor ID and Product ID for a USB device?
    Example: of what I'm looking for
    The Product ID for National Instruments DAQPad-6020E is 0x12C0. The
    USB vendor ID is 0x3923. This is a 16-bit hexadecimal number(1093)
    (that is decimal 4243).
    Thanks for all the fast responses this newsgroup RULES!!!!!!!!!!!!

    http://digital.ni.com/public.nsf/allkb/335A90747734097886257070006415B9
    How To Find The Vendor and Product ID for USB Devices?
    Primary Software: Driver Software>>NI-VISA
    Primary Software Version: 3.3.1
    Primary Software Fixed Version: N/A
    Secondary Software: N/A
    Problem:
    I want to make an NI-VISA driver that requires the vendor and product ID?
    Solution:
    There is a utility called USBView,
    free from Windows, attached below, which you can use to view what is
    connected to your computer's USB ports. It is necessary to load this
    program and connect the USB device in development. Upon selecting the
    device in USBView, one can then look on the right side of the
    application window to obtain the Product ID and Vendor ID. This will
    allow you to enter in the correct IDs when creating a driver .inf file
    when using the VISA Driver Development Wizard. For more information
    about how to use the VISA Driver Development Wizard see the related
    links below.
    Note: It is necessary to keep the hexadecimal
    (0x####) format. Do not remove the "0x" hexadecimal format preceding
    the ID number. 

  • How can i use my iphone with more than one itunes

    how can i use my iphone with more than one itunes

    Sync iPod/iPad/iPhone with two computers
    Although it isn't possible to sync an Apple device with two different libraries it is possible to sync with the same logical library from multiple computers. Each library has an internal ID and when iTunes connects to your iPod/iPad/iPhone it compares the local ID with the one the device normally syncs with. If they are the same you can go ahead and sync...
    I have my library cloned to a small 1Tb USB drive which I can take between home & work. At either location I use SyncToy 2.1 to update the local copy with the external drive. Mac users should be able to find similar tools. I can open either of the local libraries or the one on the external drive and update the media content of my iPhone. The slight exception is Photos which normally connects to a specific folder on a specific machine, although that can easily be remapped to the current library if you create a "Photos" folder inside the iTunes Media folder so that syncing the iTunes folders keeps this up to date as well. I periodically sweep my library for new files & orphans with iTunes Folder Watch just in case I make changes at one location but then overwrite the library with a newer copy from the other. Again Mac users should be able to find similar tools.
    As long as your media is organised within an iTunes Music or Tunes Media folder, in turn held inside the main iTunes folder that has your library files (whether or not you let iTunes keep the media folder organised) each library can access items at the same relative path from the library folder so the library can be at different drives/paths on different machines. This solution ensures I always have adequate backups of my library and I can update my devices whenever I can connect to the same build of iTunes.
    When working with an iPhone earlier builds of iTunes would remove any file not physically present in the local library, even if there was an entry for it, making manual management practically redundant on the iPhone. This behaviour has been changed but it will still only permit manual management with a library that has the correct internal ID. If you don't want to sync your library between machines on a regular basis just copy the iTunes Library.itl file from the current "home" machine to any other you want to use, then clean out the library entries and import the local content you have on that box.
    tt2

  • Can I use a magic trackpad with more than one Mac at a time?

    I am attempting to pair a MTP with a second MacBook Pro.  So far I can't get system preferences to find the MTP.
    I am wondering whether the MTP can be paired with only one Mac at a time, and that this is why my MBP won't find it.
    The reason I am thinking this is because the little booklet that comes with the MTP says 'after you pair your MTP with a Mac, you can pair it again with a different Mac.  To do this, you first remove the existing pairing and then pair the trackpad again'.
    Can anyone advise, please?
    If it can be paired with more than one MBP at a time, any suggestions why my system preferences search for the MTP is not producing any results?
    Thanks

    Yes, your keyboard, mouse or trackpad can be paired with multiple Macs.  You can even have multiple keyboards, mice or trackpads paired with one Mac.  The caveat is that the device can only be connected to one Mac at a time.  The device can't be paired or connected with a Mac while it's currently connected to another.
    Pairing a device with 2 Macs will be troublesome if the Macs are located within 33 ft of each other.  The device will connect with the first available paired Mac and then unavailable to the second.   If the Macs are located outside the 10meter range, it's quite easy to power off the keyboard (forcing a disconnect) then walking the keyboard to Mac 2 and powering the keyboard on.   I do this with a keyboard from my iMac to a Mac Mini in another room.
    Captfred

  • Can i use my ipod with more than one computer?

    i synched my ipod with one computer, hooked it up to another and it says i can't sync with more than one library? it says i have to restore it but i dont want to delete my music off of my ipod, i just want to add the music from this other library

    I have two different iPods and two computers. I regularly use either iPod on either computer.
    First set the preferences so itunes will not automatically sync when ipod is connected.
    Then connect the ipod and set itunes to manually manage music.
    Drag and drop whatever content you want to the device showing on the left.
    If this was the default setup, there wouldn't be all these posts about people losing all their music when they connect their ipod.

  • How do you get the integer of a number with more than 10 digits

    I can't seem to be able to get the integer of a number with more than 10 digits.
    ex:
    integer(12345678901.3) returns -539222987 when it should really return 12345678901
    Thanks for the help
    (I'm on director 11 at the moment)

    You can write a Parent script to represent Big Integers. I wrote some code to get you started. It consist of two classes - "BigInt" and "Digit".  At this point you can only add two "BigInts" and print out the value with a toString() function. Note that you pass a String to the "BigInt" constructor.
    In the message window you could enter something like:
    x = script("BigInt").new("999999999999")
    y = script("BigInt").new("100000000000000000004")
    z = x.add(y)
    put z.toString()
    And the output window will show:
    -- "100000001000000000003"
    Here are the two Parent scripts / Classes
    -- Digit
    property  val
    property  next
    on new me, anInt
      val = anInt
      next = 0
      return me
    end new
    -- BigInt
    property  Num
    property  StringRep
    on new me, aString
      Num =  script("Digit").new(Integer(aString.char[aString.length]))
      curNum = Num
      repeat with pos = aString.length - 1 down to 1
        curNum.next = script("Digit").new(Integer(aString.char[pos]))
        curNum = curNum.next
      end repeat
      return me
    end new
    on add me ,  Num2
      curNum = Num
      curNum2 = Num2.Num
      result = curNum.val + curNum2.val
      if result > 9 then
        carry = 1
      else
        carry = 0
      end if
      result = result mod 10
      sum = script("Digit").new(result)
      curSum = sum
      curNum = curNum.next
      curNum2 = curNum2.next
      repeat while curNum.ObjectP AND curNum2.ObjectP
        result = curNum.val + curNum2.val + carry
        if result > 9 then
          carry = 1
        else
          carry = 0
        end if
        result = result mod 10
        curSum.next = script("Digit").new(result)
        curSum = curSum.next
        curNum = curNum.next
        curNum2 = curNum2.next
      end repeat
      repeat while curNum.ObjectP
        result = curNum.val +  carry
        if result > 9 then
          carry = 1
        else
          carry = 0
        end if
        result = result mod 10
        curSum.next = script("Digit").new(result)
        curSum = curSum.next
        curNum = curNum.next
      end repeat
      repeat while curNum2.ObjectP
        result = curNum2.val +  carry
        if result > 9 then
          carry = 1
        else
          carry = 0
        end if
        result = result mod 10
        curSum.next = script("Digit").new(result)
        curSum = curSum.next
        curNum2 = curNum2.next
      end repeat
      StringRep = ""
      me.makeString(sum)
      return me.script.new(StringRep)
    end add
    on toString me
      StringRep = ""
      me.makeString(Num)
      return StringRep
    end toString
    on makeString me, digit
      if not digit then
        return
      end if
      me.makeString(digit.next)
      put String(digit.val) after StringRep
    end makeString

  • Slider with more than one thumb

    Hi,
    does anybody know a slider with more than one thumb?
    The JSlider-class only provides one thumb, but I need more thumbs to displace.
    That why I posted the last question: I found one in the web but when I call the constructor, I get that error.
    Thank you all
    Katharina

    Hi,
    I also tried MThumbSlider, a.k.a. CMThumbSlider (C for
    Cougaar?), the slider with more knobs. (keywords: slider,
    knob, knobs, thumb, thumbs, more, two, three.)
    I downloaded the code from the link mentioned below,
    run the example and it worked just fine. When I tried
    to subclass the slider to add tooltips I got an exception
    from the loader:
    UIDefaults.getUI() failed: no ComponentUI class for:...
    The slider has its own package. Its constructor
    (indirectly) calls the following utility function,
    passing itself as an argument, just before calling
    JSlider.updateUI. The latter then calls UIManager.getUI,
    which fails with the exception mentioned above.
      public static void setUIName(JComponent c) {
        String key = c.getUIClassID();
        String uiClassName = (String)UIManager.get(key);
        if (uiClassName == null) {
          String componentName   = c.getClass().getName();
          int index = componentName.lastIndexOf(".") +1;
          StringBuffer sb = new StringBuffer();
          sb.append( componentName.substring(0, index) );
          String lookAndFeelName = UIManager.getLookAndFeel().getName();
          if (lookAndFeelName.startsWith("CDE/")) {
            lookAndFeelName = lookAndFeelName.substring(4,lookAndFeelName.length());
          sb.append( lookAndFeelName );
          sb.append( key );
          UIManager.put(key, sb.toString());
      }When the slider is subclassed outside of the package,
    the above results, e.g., in
    UIManager.put("MThumbSliderUI", "MetalMThumbSliderUI");thus the package name is lost. To correct such behaviour
    I changed the substring with the package name, including
    the last dot. The same goes for function createUI.
    There is another thread on this subject:
    http://forum.java.sun.com/thread.jsp?forum=57&thread=348245
    The link were I found the code is
    http://www2.gol.com/users/tame/swing/examples/JSliderExamples1.html

  • Can i record with more than one audio interface

    I need to record 16 tracks, I have two different audio iterface, in GarageBand i can only find one of them, if i go to prefrenses-audio, I can set any of them as my audio interface, but only one at the time.
    Any tips to how I can use bouth simultanious? Cubase, Logic mabye, GarageBand no can do? :-)

    josteinfromoslo wrote:
     can i record with more than one audio interface
    yes, create an aggregate device:
    http://www.bulletsandbones.com/GB/Tutorials.html#allaboutaggregatedevices
    (Let the page FULLY load. The link to your answer is at the top of your screen)
    josteinfromoslo wrote:
    I need to record 16 tracks
    GB can only record 8 tracks at a time, however that is 16 channels, so with some extra effort you can get the outcome you desire, see the second tip here:
    http://www.bulletsandbones.com/GB/TricksHacks.html

  • Spool request with more than 255 columns

    Hi,
    Please let me know what formatting type has to be used to have spool output with more than 255 lines.
    X_24_80_JP        L      ANY           00024   00080   ABAP list HR Japan: At least 24 rows by 80 columns
    X_44_120          L      ANY           00044   00120   ABAP/4 list: At least 44 rows by 120 columns
    X_51_140_JP       L      ANY           00051   00140   ABAP list HR Japan: At least 51 rows by 140 columns
    X_58_170          L      ANY           00058   00170   ABAP/4 list: At least 58 rows by 170 columns
    X_60_80_JP        L      ANY           00060   00080   ABAP list HR Japan: At least 60 rows by 80 columns
    X_65_1024/4       L      ANY           00065   01024   ABAP List: At Least 65 Lines 4*256=1024 Columns Four-Sided (Only for SAPlpd)
    X_65_132          L      ANY           00065   00132   ABAP list: At least 65 rows by 132 columns
    X_65_132-2        L      ANY           00065   00132   ABAP List: 2-column 65 characters 132 columns (only for SAPLPD from 4.15)
    X_65_200          L      ANY           00065   00200   ABAP list: at least 65 lines with 200 columns (not for all device types)
    X_65_255          L      ANY           00065   00255   ABAP/4 list: At least 65 rows with a maximum number of columns
    X_65_256/2        L      ANY           00065   00256   ABAP list: At least 65 lines 2*128=256 double columns (SAPLPD only)
    X_65_512/2        L      ANY           00065   00512   ABAP List:  At least 65 Lines 2*256=512 Columns 2-sided (Only for SAPlpd)
    X_65_80           L      ANY           00065   00080   ABAP/4 list: At least 65 rows by 80 columns
    X_65_80-2         L      ANY           00065   00080   ABAP List: 2-column 65 characters 80 columns (only for SAPLPD from 4.15)
    X_65_80-4         L      ANY           00065   00080   ABAP List: 4-column 65 characters 80 columns (only for SAPLPD from 4.15)
    X_90_120          L      ANY           00090   00120   ABAP list: At least 90 rows by 120 columns
    X_PAPER           L      ANY           00010   00010   ABAP/4 list: Default list formatting
    X_PAPER_NT        L      ANY           00001   00001   ABAP/4 list: Obsolete (do not use)
    X_POSTSCRIPT      L      ANY           00001   00001   Pre-prepared PostScript
    X_SPOOLERR        L      ANY           00001   00001   ABAP list: Spooler problem report
    X_TELEX           L      TELEX         00001   00001   Telex: 69 characters wide, only as many lines as supported by TTU
    ZABC_SAP        L      ANY           00065   00550   LCM Report Page Type
    I have created a custom Format Type with 65*550 (ZABC_SAP) , but still the output gets truncated in the spool.
    In sp01 . For the spool request ... If it displayed in Graphical layoout ... Output is getting truncated but when we see in Raw format .. i can see the entire output. But it is not at all formatted.
    Thanks,
    Tanuj
    Message was edited by:
            Tanuj Kumar Bolisetty

    Hello Tanuj,
    You need to use a page format greater than 255 columns for sure. However still if it does not solve the issue then you may consider using the note 186603.
    PS: I guess you are on a higher release than 4.6 C . For this release this note íIt has a text attachment for a report tat allows to display such spool requests.
    Regards.
    Ruchit.

Maybe you are looking for