<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Stephen,<br>
    <br>
    I could not make your libportmidi.dylib work on my mac (MBP 2019
    Intel), but I did some experiments that may prove useful. Please
    read.<br>
    <br>
    1)<br>
    ExternalAddress loadSymbol: 'ffiTestFloats' module:
    'SqueakFFIPrims'.<br>
    Works, OK, same as for you.<br>
    <br>
    2) Copied your libportmidi.dylib to my main Cuis folder (where the
    VM is located)<br>
    ExternalAddress loadSymbol: 'pm_count_devices' module:
    'libportmidi.dylib'.<br>
    Didn't work. I get a Debugger with error 'loadSymbol:module:
    failed', same as you.<br>
    <br>
    3) Looked for some hopefully sane dylib in my system. Randomly
    picked HD/Library/Developer/CommandLineTools/usr/lib/libclang.dylib<br>
    Copied it to same folder. Googled a bit for some entry point. Then
    tried<br>
    ExternalAddress loadSymbol: 'clang_getCString' module:
    'libclang.dylib'.<br>
    This works OK, answering a non zero ExternalAddress!<br>
    <br>
    4) Googled a bit for libportmidi. Found <a class="moz-txt-link-freetext" href="http://zesty.ca/midi/">http://zesty.ca/midi/</a> .
    Downloaded libportmidi.dylib from there. Renamed it as
    libportmidi_1.dylib. Copied this to same folder. Searched in the
    file for something that looked like an entry point.<br>
    ExternalAddress loadSymbol: 'Pm_CountDevices' module:
    'libportmidi_1.dylib'.<br>
    Got an OSX error, warning me that the file is from an unidentified
    developer. Looks like it is not signed.<br>
    <br>
    5) On MacOSFinder, on this libportmidi_1.dylib did shift+right click
    and open. Get the warning from OSX about unidentified developer, but
    with the option to [open] anyway. Click on Open. This does nothing,
    but marks the file as "approved", apparently. Now, I do<br>
    ExternalAddress loadSymbol: 'Pm_CountDevices' module:
    'libportmidi_1.dylib'.<br>
    IT WORKS! I get a nonzero ExternalAddress!<br>
    <br>
    So, what does all this mean? I guess that one of the following:<br>
    - Your libportmidi.dylib is for some reason incompatible with my
    system<br>
    - Your libportmidi.dylib is not signed, and I couldn't "approve" it
    for running<br>
    - Your libportmidi.dylib file is broken/corrupted<br>
    <br>
    I hope this is of some use. I guess you could also ask in vm-dev,
    and someone who understands this stuff much better than me may
    answer. Please keep us posted.<br>
    <br>
    Good luck!<br>
    Cheers,<br>
    <br>
    On 4/21/2023 9:12 PM, Stephen Travis Pope via Cuis-dev wrote:
    <blockquote
      cite="mid:68E4109B-25A0-4DED-8652-E26B93E14AF1@heaveneverywhere.com"
      type="cite">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div><br>
      </div>
      Holà Juan et al.,
      <div><br>
      </div>
      <div>So, I put the attached dylib in the Resources folder of the
        Squeak-jit VM (like always), then I fired up a fresh 5772 image
        and loaded the FFI and FFI-Test packages, and filed in the
        attached ST code (PortMIDILibrary class).</div>
      <div><br>
      </div>
      <div>(I checked and the dylib exports a code token named
        “pm_count_devices” (try <b style="font-family: "Courier
          New"; font-size: 14px;">nm -ng libportmidi.dylib | grep
          pm_</b><b style="font-family: "Courier New";
          font-size: 13px;"> </b>))</div>
      <div><br>
      </div>
      <div>These tests worked:</div>
      <div>
        <div><br>
        </div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>FFITestLibrary
            ffiTestInt: $A asCharacter with: 65 with: 65.0 with: true.</font></div>
        <div><font face="Helvetica"><br>
          </font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>FFITestLibrary new
            ffiPrintString:'Hello World!!' asUtf8BytesOrByteString.</font></div>
        <div><font face="Helvetica"><br>
          </font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>FFIPluginTests new
            testBiggerStruct</font></div>
        <div><font face="Helvetica"><br>
          </font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>FFIPluginTests new
            testConstructedPrintString</font></div>
        <div><br>
        </div>
        <div>and this returned a nice string</div>
        <div><br>
        </div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>FFITestLibrary
            moduleName</font></div>
        <div><br>
        </div>
        <div>and this returned the expected lib name</div>
        <div><br>
        </div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>PortMIDILibrary
            moduleName</font></div>
        <div><br>
        </div>
        <div>But trying to call a simple prim like</div>
        <div><br>
        </div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>PortMIDILibrary
            pm_count_devices</font></div>
        <div><br>
        </div>
        <div>failed, not being able to locate the C fcn.  All that the
          method does is,</div>
        <div><br>
        </div>
        <div>
          <div><font face="Helvetica"><span class="Apple-tab-span"
                style="white-space: pre;"> </span>pm_count_devices</font></div>
          <div><font face="Helvetica"><span class="Apple-tab-span"
                style="white-space: pre;"> </span>"Answer the number of
              MIDI ports"</font></div>
          <div><font face="Helvetica"><span class="Apple-tab-span"
                style="white-space: pre;"> </span>"PortMIDILibrary
              pm_count_devices”</font></div>
          <div><font face="Helvetica"><br>
            </font></div>
          <div><font face="Helvetica"><span class="Apple-tab-span"
                style="white-space: pre;"> </span>< cdecl: long
              'pm_count_devices' (void) module: 'libportmidi.dylib' ></font></div>
          <div><font face="Helvetica"><span class="Apple-tab-span"
                style="white-space: pre;"> </span>^self
              externalCallFailed</font></div>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>So I tried the lower-level way, as in,</div>
        <div><br>
        </div>
        <div>Works</div>
        <div><br>
        </div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>[ExternalAddress
            loadSymbol: 'ffiTestFloats' asUtf8BytesOrByteString </font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>module: FFITestLibrary
            moduleName asUtf8BytesOrByteString]</font></div>
        <div><br>
        </div>
        <div>Doesn’t work</div>
        <div><br>
        </div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>[ExternalAddress
            loadSymbol: 'pm_count_devices' asUtf8BytesOrByteString </font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>module: PortMIDILibrary
            moduleName asUtf8BytesOrByteString]</font></div>
        <div><br>
        </div>
        <div>All variations of this return a function with address 0</div>
        <div><br>
        </div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>[ExternalLibraryFunction</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>name:
            'pm_count_devices' asUtf8BytesOrByteString</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>module:
            ‘libportmidi.dylib' asUtf8BytesOrByteString</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>callType: 0 </font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>returnType:
            ExternalType long</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>argumentTypes: ((1 to:
            1) collect: [ :i | ExternalType void])]</font></div>
        <div><br>
        </div>
        <div>And this fails, of course</div>
        <div><br>
        </div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>[ | meth |</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>meth :=
            ExternalLibraryFunction</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>name:
            'pm_count_devices' asUtf8BytesOrByteString</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>module: 'libportmidi'
            asUtf8BytesOrByteString</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>callType: 0 </font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>returnType:
            ExternalType long</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>argumentTypes: ((1 to:
            1) collect: [ :i | ExternalType void]).</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>result := meth invoke.</font></div>
        <div><font face="Helvetica"><span class="Apple-tab-span"
              style="white-space: pre;"> </span>result]</font></div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>Is there something obvious that I’m doing wrong?</div>
        <div>I’m running on an ARM-based MacStudio.</div>
        <div>The prims work fine with Squeak and the Squeak6.1alpha VM.</div>
        <div><br>
        </div>
        <div>…any reply MOST appreciated…</div>
        <div><br>
        </div>
        <div>stp</div>
        <div><br>
        </div>
        <div>——</div>
        <div><br>
        </div>
        <div>Attachments</div>
        <div><br>
        </div>
        <div>Minimal ST class w prim interface</div>
        <div><br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>
        <div><br>
        </div>
        <div>PortMIDI dylib</div>
        <div><br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>
        <div>
          <meta charset="UTF-8">
          <br class="Apple-interchange-newline" style="font-family:
            "Times New Roman"; font-style: normal;
            font-weight: 400; letter-spacing: normal; text-align: start;
            text-indent: 0px; text-transform: none; white-space: normal;
            word-spacing: 0px; text-decoration: none; font-size: 16px;
            color: rgb(0, 0, 0);">
          <span style="font-style: normal; font-weight: 400;
            letter-spacing: normal; text-align: start; text-indent: 0px;
            text-transform: none; white-space: normal; word-spacing:
            0px; text-decoration: none; color: rgb(0, 0, 0);
            font-family: HelveticaNeue; font-size: 12px; float: none;
            display: inline ! important;">--------</span><br
            style="font-style: normal; font-weight: 400; letter-spacing:
            normal; text-align: start; text-indent: 0px; text-transform:
            none; white-space: normal; word-spacing: 0px;
            text-decoration: none; color: rgb(0, 0, 0); font-family:
            HelveticaNeue; font-size: 12px;">
          <br style="font-style: normal; font-weight: 400;
            letter-spacing: normal; text-align: start; text-indent: 0px;
            text-transform: none; white-space: normal; word-spacing:
            0px; text-decoration: none; color: rgb(0, 0, 0);
            font-family: HelveticaNeue; font-size: 12px;">
          <span style="font-style: normal; font-weight: 400;
            letter-spacing: normal; text-align: start; text-indent: 0px;
            text-transform: none; white-space: normal; word-spacing:
            0px; text-decoration: none; color: rgb(0, 0, 0);
            font-family: HelveticaNeue; font-size: 12px; float: none;
            display: inline ! important;">Stephen Travis Pope    Ojai,</span><span
            style="font-style: normal; font-weight: 400; letter-spacing:
            normal; text-align: start; text-indent: 0px; text-transform:
            none; white-space: normal; word-spacing: 0px;
            text-decoration: none; color: rgb(0, 0, 0); font-family:
            HelveticaNeue; font-size: 12px; float: none; display: inline
            ! important;"> </span><span style="font-style: normal;
            font-weight: 400; letter-spacing: normal; text-align: start;
            text-indent: 0px; text-transform: none; white-space: normal;
            word-spacing: 0px; text-decoration: none; color: rgb(0, 0,
            0); font-family: HelveticaNeue; font-size: 12px; float:
            none; display: inline ! important;">California, USA</span><br
            style="font-style: normal; font-weight: 400; letter-spacing:
            normal; text-align: start; text-indent: 0px; text-transform:
            none; white-space: normal; word-spacing: 0px;
            text-decoration: none; color: rgb(0, 0, 0); font-family:
            HelveticaNeue; font-size: 12px;">
          <span style="font-style: normal; font-weight: 400;
            letter-spacing: normal; text-align: start; text-indent: 0px;
            text-transform: none; white-space: normal; word-spacing:
            0px; text-decoration: none; font-family: HelveticaNeue;
            font-size: 12px; color: rgb(0, 0, 0);">    </span><span
            style="font-style: normal; font-weight: 400; letter-spacing:
            normal; text-align: start; text-indent: 0px; text-transform:
            none; white-space: normal; word-spacing: 0px;
            text-decoration: none; font-family: HelveticaNeue;
            font-size: 12px; color: rgb(0, 0, 0);"></span><span
            style="font-style: normal; font-weight: 400; letter-spacing:
            normal; text-align: start; text-indent: 0px; text-transform:
            none; white-space: normal; word-spacing: 0px;
            text-decoration: none; color: rgb(0, 0, 0); font-family:
            HelveticaNeue; font-size: 12px;"></span><span
            style="font-family: "Times New Roman"; font-style:
            normal; font-weight: 400; letter-spacing: normal;
            text-align: start; text-indent: 0px; text-transform: none;
            white-space: normal; word-spacing: 0px; text-decoration:
            none; font-size: 16px; color: rgb(0, 0, 0);"></span><span
            style="font-family: "Times New Roman"; font-style:
            normal; font-weight: 400; letter-spacing: normal;
            text-align: start; text-indent: 0px; text-transform: none;
            white-space: normal; word-spacing: 0px; text-decoration:
            none; color: rgb(0, 0, 0); font-size: 16px;"></span><span
            style="color: rgb(0, 0, 0); font-family: "Times New
            Roman"; font-size: 18px; font-style: normal;
            font-weight: 400; letter-spacing: normal; text-align: start;
            text-indent: 0px; text-transform: none; white-space: normal;
            word-spacing: 0px; text-decoration: none;"></span><span></span></div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>
        <div><span></span>
          <meta charset="UTF-8">
          <font style="font-style: normal; font-weight: 400;
            letter-spacing: normal; text-align: start; text-indent: 0px;
            text-transform: none; white-space: normal; word-spacing:
            0px; text-decoration: none; font-size: 16px; color: rgb(0,
            0, 0);" face="HelveticaNeue"><span style="font-style:
              normal; font-size: 12px;"><br>
                   <a class="moz-txt-link-freetext" href="http://HeavenEverywhere.com">http://HeavenEverywhere.com</a></span></font>
          <div style="font-family: "Times New Roman";
            font-style: normal; font-weight: 400; letter-spacing:
            normal; text-align: start; text-indent: 0px; text-transform:
            none; white-space: normal; word-spacing: 0px;
            text-decoration: none; font-size: 16px; color: rgb(0, 0,
            0);"><font style="color: rgb(0, 0, 0); font-size: 16px;
              font-style: normal; font-weight: 400; letter-spacing:
              normal; text-align: start; text-indent: 0px;
              text-transform: none; white-space: normal; word-spacing:
              0px; text-decoration: none;" face="HelveticaNeue"><span
                style="font-style: normal; font-size: 12px;">   
                 <a class="moz-txt-link-freetext" href="http://FASTLabInc.com">http://FASTLabInc.com</a></span></font></div>
          <div style="font-family: "Times New Roman";
            font-style: normal; font-weight: 400; letter-spacing:
            normal; text-align: start; text-indent: 0px; text-transform:
            none; white-space: normal; word-spacing: 0px;
            text-decoration: none; font-size: 16px; color: rgb(0, 0,
            0);"><font style="color: rgb(0, 0, 0); font-size: 16px;
              font-style: normal; font-weight: 400; letter-spacing:
              normal; text-align: start; text-indent: 0px;
              text-transform: none; white-space: normal; word-spacing:
              0px; text-decoration: none;" face="HelveticaNeue"><span
                style="font-style: normal; font-size: 12px;">   
                 <a class="moz-txt-link-freetext" href="https://vimeo.com/user19434036/videos">https://vimeo.com/user19434036/videos</a></span></font></div>
          <div style="font-family: "Times New Roman";
            font-style: normal; font-weight: 400; letter-spacing:
            normal; text-align: start; text-indent: 0px; text-transform:
            none; white-space: normal; word-spacing: 0px;
            text-decoration: none; font-size: 16px; color: rgb(0, 0,
            0);"><font style="color: rgb(0, 0, 0); font-size: 16px;
              font-style: normal; font-weight: 400; letter-spacing:
              normal; text-align: start; text-indent: 0px;
              text-transform: none; white-space: normal; word-spacing:
              0px; text-decoration: none;" face="HelveticaNeue"><span
                style="font-style: normal; font-size: 12px;">     </span></font><span
              style="font-size: 12px; font-family: HelveticaNeue;"><a class="moz-txt-link-freetext" href="http://heaveneverywhere.com/Reflections">http://heaveneverywhere.com/Reflections</a></span></div>
          <div style="font-family: "Times New Roman";
            font-style: normal; font-weight: 400; letter-spacing:
            normal; text-align: start; text-indent: 0px; text-transform:
            none; white-space: normal; word-spacing: 0px;
            text-decoration: none; font-size: 16px; color: rgb(0, 0,
            0);"><font style="color: rgb(0, 0, 0); font-size: 16px;
              font-style: normal; font-weight: 400; letter-spacing:
              normal; text-align: start; text-indent: 0px;
              text-transform: none; white-space: normal; word-spacing:
              0px; text-decoration: none;" face="HelveticaNeue"><span
                style="font-style: normal; font-size: 12px;"><br>
              </span></font><br style="color: rgb(0, 0, 0); font-family:
              "Times New Roman"; font-size: 16px; font-style:
              normal; font-weight: 400; letter-spacing: normal;
              text-align: start; text-indent: 0px; text-transform: none;
              white-space: normal; word-spacing: 0px; text-decoration:
              none;">
          </div>
        </div>
        <div><br>
          <blockquote type="cite">
            <div>On Apr 20, 2023, at 4:35 AM, Juan Vuletich via Cuis-dev
              <a class="moz-txt-link-rfc2396E" href="mailto:cuis-dev@lists.cuis.st"><cuis-dev@lists.cuis.st></a> wrote:</div>
            <br class="Apple-interchange-newline">
            <div>
              <meta charset="UTF-8">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">Hi Stephen,</span><br style="font-family:
                TimesNewRomanPSMT; font-size: 18px; font-style: normal;
                font-weight: 400; letter-spacing: normal; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; word-spacing: 0px;
                background-color: rgb(255, 255, 255); text-decoration:
                none;">
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">On 4/19/2023 9:17 PM, Stephen Travis Pope
                via Cuis-dev wrote:</span>
              <blockquote
                cite="mid:72CFE622-3AD3-4EE5-B5A6-271C722CA16C@heaveneverywhere.com"
                type="cite" style="font-family: TimesNewRomanPSMT;
                font-size: 18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
                <div><br>
                </div>
                Hi all,
                <div><br>
                </div>
                <div>I’m porting Siren back from Squeak to Cuis, hoping
                  to be able to use the vector graphics extensively.</div>
              </blockquote>
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">That is great news! I believe that VG can
                simplify the UI and improve the looks and experience for
                any kind of apps, like it does for DrGeo.</span><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <blockquote
                cite="mid:72CFE622-3AD3-4EE5-B5A6-271C722CA16C@heaveneverywhere.com"
                type="cite" style="font-family: TimesNewRomanPSMT;
                font-size: 18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
                <div>One issue that has come up is that the FFI
                  interface to the PortMIDI library that worked a few
                  months ago stopped working.</div>
                <div><br>
                </div>
                <div>Has something changed in the VM FFI interface?</div>
              </blockquote>
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">In November 2022, I integrated
                UnicodeString. Since them, anywhere you may expect an
                instance of String, you may instead get an instance of
                UnicodeString. This hasn't brought much trouble, as they
                are polymorphic. But a few tweaks here and there were
                needed. Last commit to<span
                  class="Apple-converted-space"> </span></span><a
                moz-do-not-send="true" href="http://ffi.pck.st/"
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);">FFI.pck.st</a><span
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;"><span class="Apple-converted-space"> </span>is
                from Jan 6 and it was specifically for this.</span><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">On my Intel Mac, using an updated Cuis, and
                loading `Feature require: 'Tests-FFI'`, all the FFI test
                pass. Do they pass on your Apple Silicon Mac?</span><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <blockquote
                cite="mid:72CFE622-3AD3-4EE5-B5A6-271C722CA16C@heaveneverywhere.com"
                type="cite" style="font-family: TimesNewRomanPSMT;
                font-size: 18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
                <div>Can we still load dylibs (rather than only bundles)
                  on Macs?</div>
              </blockquote>
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">I believe we can. Not too long ago, before
                Apple dropped support for OpenCL, I used it extensively,
                and I believe it was a dylib. Nowadays, I'm not using
                FFI much.</span><br style="font-family:
                TimesNewRomanPSMT; font-size: 18px; font-style: normal;
                font-weight: 400; letter-spacing: normal; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; word-spacing: 0px;
                background-color: rgb(255, 255, 255); text-decoration:
                none;">
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">Can you help me reproduce what you are doing
                on my Mac? I'd like to see it running on a Cuis from the
                date it did work from you, and also reproduce your
                updated setup to see the failure.</span><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">Do you get a debugger? Error messages?
                Something on the Transcript or StdIO (in Terminal)?</span><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">If I can reproduce your setup and the
                problems you see, I'm sure we'll fix them.</span><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <blockquote
                cite="mid:72CFE622-3AD3-4EE5-B5A6-271C722CA16C@heaveneverywhere.com"
                type="cite" style="font-family: TimesNewRomanPSMT;
                font-size: 18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
                <div>…any reply appreciated…</div>
                <div><br>
                </div>
                <div>stp</div>
                <div>
                  <div><br class="Apple-interchange-newline"
                      style="font-family: "Times New Roman";
                      font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-size: 16px;">
                    <span style="font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-family: HelveticaNeue;
                      font-size: 12px; float: none; display: inline !
                      important;">--------</span><br style="font-style:
                      normal; font-weight: 400; letter-spacing: normal;
                      text-align: start; text-indent: 0px;
                      text-transform: none; white-space: normal;
                      word-spacing: 0px; text-decoration: none;
                      font-family: HelveticaNeue; font-size: 12px;">
                    <br style="font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-family: HelveticaNeue;
                      font-size: 12px;">
                    <span style="font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-family: HelveticaNeue;
                      font-size: 12px; float: none; display: inline !
                      important;">Stephen Travis Pope    Ojai,</span><span
                      style="font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-family: HelveticaNeue;
                      font-size: 12px; float: none; display: inline !
                      important;"> </span><span style="font-style:
                      normal; font-weight: 400; letter-spacing: normal;
                      text-align: start; text-indent: 0px;
                      text-transform: none; white-space: normal;
                      word-spacing: 0px; text-decoration: none;
                      font-family: HelveticaNeue; font-size: 12px;
                      float: none; display: inline ! important;">California,
                      USA</span><span style="font-style: normal;
                      font-weight: 400; letter-spacing: normal;
                      text-align: start; text-indent: 0px;
                      text-transform: none; white-space: normal;
                      word-spacing: 0px; text-decoration: none;
                      font-family: HelveticaNeue; font-size: 12px;"></span><font
                      style="font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-size: 16px;"
                      face="HelveticaNeue"><span style="font-style:
                        normal; font-size: 12px;"><br>
                             <a moz-do-not-send="true"
                          class="moz-txt-link-freetext"
                          href="http://heaveneverywhere.com/">http://HeavenEverywhere.com</a></span></font>
                    <div style="font-family: "Times New
                      Roman"; font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-size: 16px;"><font
                        style="font-size: 16px; font-style: normal;
                        font-weight: 400; letter-spacing: normal;
                        text-align: start; text-indent: 0px;
                        text-transform: none; white-space: normal;
                        word-spacing: 0px; text-decoration: none;"
                        face="HelveticaNeue"><span style="font-style:
                          normal; font-size: 12px;">     <a
                            moz-do-not-send="true"
                            class="moz-txt-link-freetext"
                            href="http://fastlabinc.com/">http://FASTLabInc.com</a></span></font></div>
                    <div style="font-family: "Times New
                      Roman"; font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-size: 16px;"><font
                        style="font-size: 16px; font-style: normal;
                        font-weight: 400; letter-spacing: normal;
                        text-align: start; text-indent: 0px;
                        text-transform: none; white-space: normal;
                        word-spacing: 0px; text-decoration: none;"
                        face="HelveticaNeue"><span style="font-style:
                          normal; font-size: 12px;">     <a
                            moz-do-not-send="true"
                            class="moz-txt-link-freetext"
                            href="https://vimeo.com/user19434036/videos">https://vimeo.com/user19434036/videos</a></span></font></div>
                    <div style="font-family: "Times New
                      Roman"; font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-size: 16px;"><font
                        style="font-size: 16px; font-style: normal;
                        font-weight: 400; letter-spacing: normal;
                        text-align: start; text-indent: 0px;
                        text-transform: none; white-space: normal;
                        word-spacing: 0px; text-decoration: none;"
                        face="HelveticaNeue"><span style="font-style:
                          normal; font-size: 12px;">     </span></font><span
                        style="font-size: 12px; font-family:
                        HelveticaNeue;"><a moz-do-not-send="true"
                          class="moz-txt-link-freetext"
                          href="http://heaveneverywhere.com/Reflections">http://heaveneverywhere.com/Reflections</a></span></div>
                    <div style="font-family: "Times New
                      Roman"; font-style: normal; font-weight: 400;
                      letter-spacing: normal; text-align: start;
                      text-indent: 0px; text-transform: none;
                      white-space: normal; word-spacing: 0px;
                      text-decoration: none; font-size: 16px;"><font
                        style="font-size: 16px; font-style: normal;
                        font-weight: 400; letter-spacing: normal;
                        text-align: start; text-indent: 0px;
                        text-transform: none; white-space: normal;
                        word-spacing: 0px; text-decoration: none;"
                        face="HelveticaNeue"><span style="font-style:
                          normal; font-size: 12px;"></span></font><br
                        style="letter-spacing: normal; text-align:
                        start; text-indent: 0px; text-transform: none;
                        white-space: normal; word-spacing: 0px;
                        text-decoration: none;">
                    </div>
                  </div>
                </div>
              </blockquote>
              <br style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">Thanks,</span><br style="font-family:
                TimesNewRomanPSMT; font-size: 18px; font-style: normal;
                font-weight: 400; letter-spacing: normal; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; word-spacing: 0px;
                background-color: rgb(255, 255, 255); text-decoration:
                none;">
              <pre class="moz-signature" style="font-size: 18px; font-style: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; background-color: rgb(255, 255, 255); text-decoration: none;" cols="72">-- 
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st/">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich">twitter.com/JuanVuletich</a></pre>
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">--<span class="Apple-converted-space"> </span></span><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <span style="font-family: TimesNewRomanPSMT; font-size:
                18px; font-style: normal; font-weight: 400;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; background-color: rgb(255, 255, 255);
                text-decoration: none; float: none; display: inline !
                important;">Cuis-dev mailing list</span><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <a moz-do-not-send="true"
                href="mailto:Cuis-dev@lists.cuis.st" style="font-family:
                TimesNewRomanPSMT; font-size: 18px; font-style: normal;
                font-weight: 400; letter-spacing: normal; text-align:
                start; text-indent: 0px; text-transform: none;
                white-space: normal; word-spacing: 0px;
                background-color: rgb(255, 255, 255);">Cuis-dev@lists.cuis.st</a><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
              <a moz-do-not-send="true"
                href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br
                style="font-family: TimesNewRomanPSMT; font-size: 18px;
                font-style: normal; font-weight: 400; letter-spacing:
                normal; text-align: start; text-indent: 0px;
                text-transform: none; white-space: normal; word-spacing:
                0px; background-color: rgb(255, 255, 255);
                text-decoration: none;">
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
  </body>
</html>