<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/7a5a3dc5982908eadc2f611ab77c6d63f4adc351">https://github.com/macports/macports-ports/commit/7a5a3dc5982908eadc2f611ab77c6d63f4adc351</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 7a5a3dc5982908eadc2f611ab77c6d63f4adc351
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Tue May 24 09:16:04 2022 -0500
<span style='display:block; white-space:pre;color:#404040;'> portmidi: Fix timing on non-Intel processors
</span>---
audio/portmidi/Portfile | 3 +-
.../portmidi/files/patch-pm_mac-pmmacosxcm.c.diff | 33 ++++++++++++++++++++++
2 files changed, 35 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/portmidi/Portfile b/audio/portmidi/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 531ece672e0..d47cc3bb037 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/audio/portmidi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/portmidi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,7 +7,7 @@ PortGroup cmake 1.1
</span> epoch 1
github.setup PortMidi portmidi 2.0.3 v
github.tarball_from archive
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span>
categories audio devel
maintainers nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,6 +29,7 @@ patchfiles patch-CMakeLists.txt.diff \
</span>
if {[vercmp ${version} 2.0.4] < 0} {
patchfiles-append \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-pm_mac-pmmacosxcm.c.diff \
</span> patch-pm_test-CMakeLists.txt.diff
}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/portmidi/files/patch-pm_mac-pmmacosxcm.c.diff b/audio/portmidi/files/patch-pm_mac-pmmacosxcm.c.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..29da7ccd6fd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/portmidi/files/patch-pm_mac-pmmacosxcm.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix timing on non-Intel systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/PortMidi/portmidi/issues/25
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Includes relevant parts of:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/PortMidi/portmidi/commit/052e49bf305fc2016ca6f856397e742c1c7d0e61
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pm_mac/pmmacosxcm.c.orig 2022-02-21 19:54:37.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pm_mac/pmmacosxcm.c 2022-05-23 07:38:09.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -731,7 +731,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (info->packet != NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* out of space, send the buffer and start refilling it */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* update min_next_time each flush to support rate limit */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UInt64 now = AudioConvertHostTimeToNanos(AudioGetCurrentHostTime());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UInt64 now = AudioGetCurrentHostTime();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (now > info->min_next_time)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ info->min_next_time = now;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (info->is_virtual) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -818,7 +817,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * latency is zero. Both mean no timing and send immediately.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (when == 0 || midi->latency == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- timestamp = AudioConvertNanosToHostTime(AudioGetCurrentHostTime());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ timestamp = AudioGetCurrentHostTime();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else { /* translate PortMidi time + latency to CoreMIDI time */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ timestamp = ((UInt64) (when + midi->latency) * (UInt64) 1000000) +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ info->delta;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -867,7 +866,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (MIDITimeStamp) AudioConvertNanosToHostTime(when_ns);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UInt64 now; /* only make system time call when writing a virtual port */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (info->is_virtual && info->sysex_timestamp <
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (now = AudioConvertHostTimeToNanos(AudioGetCurrentHostTime()))) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (now = AudioGetCurrentHostTime())) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ info->sysex_timestamp = now;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>