summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
Diffstat (limited to 'audio')
-rw-r--r--audio/baresip/Makefile5
-rw-r--r--audio/baresip/pkg-plist1
-rw-r--r--audio/cardinal/Makefile1
-rw-r--r--audio/chromaprint/Makefile27
-rw-r--r--audio/chromaprint/distinfo6
-rw-r--r--audio/chromaprint/files/patch-tests_CMakeLists.txt14
-rw-r--r--audio/chromaprint/pkg-plist6
-rw-r--r--audio/cmus/files/patch-fix-ffmpeg81841
-rw-r--r--audio/cyanrip/Makefile8
-rw-r--r--audio/cyanrip/distinfo10
-rw-r--r--audio/gonic/Makefile14
-rw-r--r--audio/gonic/distinfo10
-rw-r--r--audio/headsetcontrol/Makefile4
-rw-r--r--audio/headsetcontrol/distinfo6
-rw-r--r--audio/mac/Makefile2
-rw-r--r--audio/mac/distinfo6
-rw-r--r--audio/mac/files/patch-Source_Console_Console.cpp13
-rw-r--r--audio/minimp3/Makefile22
-rw-r--r--audio/minimp3/distinfo10
-rw-r--r--audio/opustags/Makefile3
-rw-r--r--audio/opustags/distinfo6
-rw-r--r--audio/pt2-clone/Makefile2
-rw-r--r--audio/pt2-clone/distinfo6
-rw-r--r--audio/py-torchaudio/Makefile4
-rw-r--r--audio/sayonara/Makefile3
-rw-r--r--audio/sayonara/distinfo6
-rw-r--r--audio/sayonara/files/patch-cpp-compile109
-rw-r--r--audio/sayonara/files/patch-python-compatible74
-rw-r--r--audio/sayonara/files/patch-src_Components_Covers_Fetcher_Audioscrobbler.cpp20
-rw-r--r--audio/sayonara/files/patch-src_Components_Lyrics_LyricWebpageParser.cpp11
-rw-r--r--audio/sayonara/files/patch-src_Components_Playlist_PlaylistModifiers.cpp11
-rw-r--r--audio/sayonara/files/patch-src_DBus_sayonara-ctl20
-rw-r--r--audio/sayonara/files/patch-src_DBus_sayonara-query20
-rw-r--r--audio/sayonara/files/patch-src_Gui_InfoDialog_GUI__InfoDialog.cpp11
-rw-r--r--audio/sayonara/files/patch-src_Utils_Tagging_MP4_PopularimeterFrame.cpp18
-rw-r--r--audio/sonicradio/Makefile3
-rw-r--r--audio/sonicradio/distinfo10
-rw-r--r--audio/spotify-tui/Makefile3
-rw-r--r--audio/strawberry/Makefile1
-rw-r--r--audio/supercollider/Makefile68
-rw-r--r--audio/supercollider/distinfo16
-rw-r--r--audio/supercollider/files/patch-common_SC__AppleEventLoop.mm83
-rw-r--r--audio/supercollider/files/patch-external__libraries_nova-simd_vec_vec__int__altivec.hpp6
-rw-r--r--audio/supercollider/files/patch-server_supernova_utilities_hardware__topology.cpp2
-rw-r--r--audio/supercollider/pkg-plist2478
-rw-r--r--audio/vsound/Makefile2
-rw-r--r--audio/vsound/files/patch-configure2
47 files changed, 3423 insertions, 1581 deletions
diff --git a/audio/baresip/Makefile b/audio/baresip/Makefile
index 29637451f2c7..c251d7258e3a 100644
--- a/audio/baresip/Makefile
+++ b/audio/baresip/Makefile
@@ -18,10 +18,9 @@ USE_GITHUB= yes
GH_ACCOUNT= baresip
OPTIONS_DEFINE= ALSA AV1 AVCODEC AVFILTER AVFORMAT CTRL_DBUS DOCS \
- EXAMPLES G711 G722 G726 GST MQTT OPUS OPUS_MS PLC \
+ EXAMPLES G711 G722 G726 GST GTK3 MQTT OPUS OPUS_MS PLC \
PORTAUDIO PULSEAUDIO SDL SNAPSHOT SNDFILE SWSCALE V4L2 \
VPX X11
-OPTIONS_DEFAULT= DOCS EXAMPLES
OPTIONS_SUB= yes
ALSA_DESC= ALSA audio driver
@@ -70,6 +69,8 @@ G726_LIB_DEPENDS= libspandsp.so:comms/spandsp
G726_VARS= _MODULES_LIST+=g726
GST_USES= gnome gstreamer:1
GST_VARS= USE_GNOME+=glib20
+GTK3_USES= gnome
+GTK3_VARS= USE_GNOME+=gtk30 _MODULES_LIST+=gtk
MQTT_LIB_DEPENDS= libmosquitto.so:net/mosquitto
MQTT_VARS= _MODULES_LIST+=mqtt
OPUS_LIB_DEPENDS= libopus.so:audio/opus
diff --git a/audio/baresip/pkg-plist b/audio/baresip/pkg-plist
index a62d9daa7574..6f97b2fa24d0 100644
--- a/audio/baresip/pkg-plist
+++ b/audio/baresip/pkg-plist
@@ -22,6 +22,7 @@ lib/baresip/modules/fakevideo.so
%%G711%%lib/baresip/modules/g711.so
%%G722%%lib/baresip/modules/g722.so
%%G726%%lib/baresip/modules/g726.so
+%%GTK3%%lib/baresip/modules/gtk.so
lib/baresip/modules/httpd.so
lib/baresip/modules/httpreq.so
lib/baresip/modules/ice.so
diff --git a/audio/cardinal/Makefile b/audio/cardinal/Makefile
index 48ea05529fd2..afb8670f373c 100644
--- a/audio/cardinal/Makefile
+++ b/audio/cardinal/Makefile
@@ -14,6 +14,7 @@ WWW= https://cardinal.kx.studio/ \
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
+BROKEN_FreeBSD_13= compilation fails, error: static assertion failed due to requirement 'is_arithmetic<rack::simd::Vector<float, 4>>::value', see https://github.com/DISTRHO/Cardinal/issues/726
BROKEN_FreeBSD_15= compilation fails, error: static assertion failed due to requirement 'is_arithmetic<rack::simd::Vector<float, 4>>::value', see https://github.com/DISTRHO/Cardinal/issues/726
BROKEN_armv7= compilation fails due to the variable name conflict with base header, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279134
diff --git a/audio/chromaprint/Makefile b/audio/chromaprint/Makefile
index eaaa25dd57c1..5d80a0100ab3 100644
--- a/audio/chromaprint/Makefile
+++ b/audio/chromaprint/Makefile
@@ -1,8 +1,7 @@
PORTNAME= chromaprint
-DISTVERSION= 1.5.1.20221217
-PORTREVISION= 1
+DISTVERSION= 1.6.0
CATEGORIES= audio
-#MASTER_SITES= https://github.com/acoustid/${PORTNAME}/releases/download/v${DISTVERSION}/
+MASTER_SITES= https://github.com/acoustid/${PORTNAME}/releases/download/v${DISTVERSION}/
MAINTAINER= jhale@FreeBSD.org
COMMENT= AcoustID audio fingerprinting library
@@ -14,27 +13,21 @@ LICENSE_FILE_MIT= ${WRKSRC}/LICENSE.md
LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-USES= cmake compiler:c++11-lib
-USE_GITHUB= yes
-GH_ACCOUNT= acoustid
-GH_TAGNAME= aa67c95
+USES= cmake:testing compiler:c++14-lang
USE_LDCONFIG= yes
-CMAKE_ARGS= -DBUILD_TOOLS:BOOL=true \
- -DAUDIO_PROCESSOR_LIB=swresample \
- -DFFT_LIB:STRING=avfft
+CMAKE_ARGS= -DAUDIO_PROCESSOR_LIB:STRING=swresample \
+ -DFFT_LIB:STRING=`if [ -f ${LOCALBASE}/include/libavcodec/avfft.h ]; then ${ECHO_CMD} avfft; else ${ECHO_CMD} avtx; fi`
+CMAKE_ON= BUILD_TOOLS
+CMAKE_OFF= BUILD_TESTS
+CMAKE_TESTING_ON= BUILD_TESTS
-OPTIONS_DEFINE= DOCS DOXYGEN TEST
+OPTIONS_DEFINE= DOCS DOXYGEN
+DOXYGEN_IMPLIES= DOCS
DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen \
dot:graphics/graphviz
DOXYGEN_PORTDOCS= *
-DOXYGEN_IMPLIES= DOCS
-
-TEST_BUILD_DEPENDS= ${NONEXISTENT}:devel/googletest:patch
-TEST_CMAKE_BOOL= BUILD_TESTS
-TEST_CMAKE_ON= -DGTEST_ROOT:PATH=`${MAKE} -C ${PORTSDIR}/devel/googletest -VWRKSRC`/googletest
-TEST_TARGET= check
do-build-DOXYGEN-on:
@(cd ${BUILD_WRKSRC}; ${DO_MAKE_BUILD} docs)
diff --git a/audio/chromaprint/distinfo b/audio/chromaprint/distinfo
index 5f20e3b6fde7..999772c88563 100644
--- a/audio/chromaprint/distinfo
+++ b/audio/chromaprint/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1682952377
-SHA256 (acoustid-chromaprint-1.5.1.20221217-aa67c95_GH0.tar.gz) = 0893b7198121dd2add81aa1233e5312cbc7446bdd6b6418a5af6ab24e82cb6b3
-SIZE (acoustid-chromaprint-1.5.1.20221217-aa67c95_GH0.tar.gz) = 1581151
+TIMESTAMP = 1756531467
+SHA256 (chromaprint-1.6.0.tar.gz) = 9d33482e56a1389a37a0d6742c376139fa43e3b8a63d29003222b93db2cb40da
+SIZE (chromaprint-1.6.0.tar.gz) = 1577695
diff --git a/audio/chromaprint/files/patch-tests_CMakeLists.txt b/audio/chromaprint/files/patch-tests_CMakeLists.txt
deleted file mode 100644
index a34c06840c6b..000000000000
--- a/audio/chromaprint/files/patch-tests_CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
---- tests/CMakeLists.txt.orig 2016-12-23 11:50:27 UTC
-+++ tests/CMakeLists.txt
-@@ -36,6 +36,11 @@ set(SRCS
- if(BUILD_TOOLS)
- set(SRCS ${SRCS} ../src/audio/ffmpeg_audio_reader_test.cpp)
- link_libraries(fpcalc_libs)
-+ include_directories(
-+ ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}
-+ ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
-+ ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}
-+ )
- endif()
-
- add_executable(all_tests ${SRCS} $<TARGET_OBJECTS:chromaprint_objs>)
diff --git a/audio/chromaprint/pkg-plist b/audio/chromaprint/pkg-plist
index 4c8e307b35f0..baf18c35b148 100644
--- a/audio/chromaprint/pkg-plist
+++ b/audio/chromaprint/pkg-plist
@@ -1,6 +1,10 @@
bin/fpcalc
include/chromaprint.h
+lib/cmake/Chromaprint/ChromaprintConfig.cmake
+lib/cmake/Chromaprint/ChromaprintConfigVersion.cmake
+lib/cmake/Chromaprint/ChromaprintTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Chromaprint/ChromaprintTargets.cmake
lib/libchromaprint.so
lib/libchromaprint.so.1
-lib/libchromaprint.so.1.5.1
+lib/libchromaprint.so.1.6.0
libdata/pkgconfig/libchromaprint.pc
diff --git a/audio/cmus/files/patch-fix-ffmpeg8 b/audio/cmus/files/patch-fix-ffmpeg8
new file mode 100644
index 000000000000..ff1407a55467
--- /dev/null
+++ b/audio/cmus/files/patch-fix-ffmpeg8
@@ -0,0 +1,1841 @@
+From 9f3b9efd8bd5508ffd069cbd0c228857ee11e1e5 Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Thu, 14 Aug 2025 12:44:10 +0300
+Subject: [PATCH 01/12] ip/ffmpeg: more precise seeking
+
+av_seek_frame() and avformat_seek_file() seek to nearest "keyframe". For
+codecs like, for example, ape this means that seeking will be very off
+(5 seconds or more). So what we do is:
+1. seek to nearest "keyframe" before the desired time,
+2. discard some frames to approach the desired time.
+---
+ ip/ffmpeg.c | 154 ++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 94 insertions(+), 60 deletions(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index 21b9a01f4..ecbf00582 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -44,6 +44,8 @@ struct ffmpeg_input {
+ AVPacket pkt;
+ int curr_pkt_size;
+ uint8_t *curr_pkt_buf;
++ int64_t seek_ts;
++ int64_t prev_frame_end;
+ int stream_index;
+
+ unsigned long curr_size;
+@@ -76,6 +78,8 @@ static struct ffmpeg_input *ffmpeg_input_create(void)
+ return NULL;
+ }
+ input->curr_pkt_size = 0;
++ input->seek_ts = -1;
++ input->prev_frame_end = -1;
+ input->curr_pkt_buf = input->pkt.data;
+ return input;
+ }
+@@ -314,10 +318,7 @@ static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data, AVFormatContext
+ #else
+ AVFrame *frame = avcodec_alloc_frame();
+ #endif
+- int got_frame;
+ while (1) {
+- int len;
+-
+ if (input->curr_pkt_size <= 0) {
+ #if LIBAVCODEC_VERSION_MAJOR >= 56
+ av_packet_unref(&input->pkt);
+@@ -333,78 +334,108 @@ static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data, AVFormatContext
+ #endif
+ return 0;
+ }
+- if (input->pkt.stream_index == input->stream_index) {
+- input->curr_pkt_size = input->pkt.size;
+- input->curr_pkt_buf = input->pkt.data;
+- input->curr_size += input->pkt.size;
+- input->curr_duration += input->pkt.duration;
+- }
+- continue;
+- }
+
+- {
+- AVPacket avpkt;
+- av_new_packet(&avpkt, input->curr_pkt_size);
+- memcpy(avpkt.data, input->curr_pkt_buf, input->curr_pkt_size);
++ if (input->pkt.stream_index != input->stream_index)
++ continue;
++ input->curr_pkt_size = input->pkt.size;
++ input->curr_pkt_buf = input->pkt.data;
++ input->curr_size += input->pkt.size;
++ input->curr_duration += input->pkt.duration;
++
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
+- int send_result = avcodec_send_packet(cc, &avpkt);
+- if (send_result != 0) {
+- if (send_result != AVERROR(EAGAIN)) {
+- d_print("avcodec_send_packet() returned %d\n", send_result);
+- char errstr[AV_ERROR_MAX_STRING_SIZE];
+- if (!av_strerror(send_result, errstr, AV_ERROR_MAX_STRING_SIZE ))
+- {
+- d_print("av_strerror(): %s\n", errstr);
+- } else {
+- d_print("av_strerror(): Description for error cannot be found\n");
+- }
+- av_packet_unref(&avpkt);
+- return -IP_ERROR_INTERNAL;
++ int send_result = avcodec_send_packet(cc, &input->pkt);
++ if (send_result != 0 && send_result != AVERROR(EAGAIN)) {
++ d_print("avcodec_send_packet() returned %d\n", send_result);
++ char errstr[AV_ERROR_MAX_STRING_SIZE];
++ if (!av_strerror(send_result, errstr, AV_ERROR_MAX_STRING_SIZE ))
++ {
++ d_print("av_strerror(): %s\n", errstr);
++ } else {
++ d_print("av_strerror(): Description for error cannot be found\n");
+ }
+- len = 0;
+- } else {
+- len = input->curr_pkt_size;
++ return -IP_ERROR_INTERNAL;
+ }
+-
+- int recv_result = avcodec_receive_frame(cc, frame);
+- got_frame = (recv_result == 0) ? 1 : 0;
+-#else
+- len = avcodec_decode_audio4(cc, frame, &got_frame, &avpkt);
+-#endif
+-#if LIBAVCODEC_VERSION_MAJOR >= 56
+- av_packet_unref(&avpkt);
+-#else
+- av_free_packet(&avpkt);
+ #endif
+ }
++
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++ int recv_result = avcodec_receive_frame(cc, frame);
++ if (recv_result < 0) {
++ input->curr_pkt_size = 0;
++ continue;
++ }
++#else
++ int got_frame;
++ int len = avcodec_decode_audio4(cc, frame, &got_frame, &input->pkt);
+ if (len < 0) {
+ /* this is often reached when seeking, not sure why */
+ input->curr_pkt_size = 0;
+ continue;
+ }
+- input->curr_pkt_size -= len;
+- input->curr_pkt_buf += len;
+- if (got_frame) {
+- int res = swr_convert(swr,
+- &output->buffer,
+- frame->nb_samples,
+- (const uint8_t **)frame->extended_data,
+- frame->nb_samples);
+- if (res < 0)
+- res = 0;
+- output->buffer_pos = output->buffer;
++ if (!got_frame)
++ continue;
++#endif
++
++ int64_t frame_ts = -1;
++ if (frame->pts)
++ frame_ts = frame->pts;
++ else if (frame->pkt_pts)
++ frame_ts = frame->pkt_pts;
++ else if (frame->pkt_dts)
++ frame_ts = frame->pkt_dts;
++
++ const uint8_t **in = (const uint8_t **)frame->extended_data;
++ int in_count = frame->nb_samples;
++ if (input->seek_ts > 0 && (frame_ts >= 0 || input->prev_frame_end >= 0)) {
++ struct ffmpeg_private *priv = ip_data->private;
++ AVStream *st = priv->input_context->streams[priv->input->stream_index];
++ if (frame_ts >= 0)
++ frame_ts = av_rescale_q(frame_ts, st->time_base, AV_TIME_BASE_Q);
++ else
++ frame_ts = input->prev_frame_end;
++ int64_t frame_dur = av_rescale(frame->nb_samples, AV_TIME_BASE, sf_get_rate(ip_data->sf));
++ int64_t frame_end = frame_ts + frame_dur;
++ input->prev_frame_end = frame_end;
++ d_print("seek_ts: %ld, frame_ts: %ld, frame_end: %ld\n", input->seek_ts, frame_ts, frame_end);
++ if (frame_end <= input->seek_ts)
++ continue;
++
++ /* skip part of this frame */
++ int64_t skip_samples = av_rescale(input->seek_ts - frame_ts, sf_get_rate(ip_data->sf), AV_TIME_BASE);
++ in_count -= skip_samples;
++ if (av_sample_fmt_is_planar(frame->format)) {
++ for (int i = 0; i < cc->channels; i++) {
++ in[i] += skip_samples * sf_get_sample_size(ip_data->sf);
++ }
++ } else {
++ *in += skip_samples * cc->channels * sf_get_sample_size(ip_data->sf);
++ }
++
++ input->seek_ts = -1;
++ input->prev_frame_end = -1;
++ }
++
++ int res = swr_convert(swr,
++ &output->buffer,
++ frame->nb_samples,
++ in,
++ in_count);
++ if (res < 0)
++ res = 0;
++
++ output->buffer_pos = output->buffer;
+ #if LIBAVCODEC_VERSION_MAJOR >= 60
+- output->buffer_used_len = res * cc->ch_layout.nb_channels * sf_get_sample_size(ip_data->sf);
++ output->buffer_used_len = res * cc->ch_layout.nb_channels * sf_get_sample_size(ip_data->sf);
+ #else
+- output->buffer_used_len = res * cc->channels * sf_get_sample_size(ip_data->sf);
++ output->buffer_used_len = res * cc->channels * sf_get_sample_size(ip_data->sf);
+ #endif
++
+ #if LIBAVCODEC_VERSION_MAJOR >= 56
+- av_frame_free(&frame);
++ av_frame_free(&frame);
+ #else
+- avcodec_free_frame(&frame);
++ avcodec_free_frame(&frame);
+ #endif
+- return output->buffer_used_len;
+- }
++ return output->buffer_used_len;
+ }
+ /* This should never get here. */
+ return -IP_ERROR_INTERNAL;
+@@ -437,13 +468,16 @@ static int ffmpeg_seek(struct input_plugin_data *ip_data, double offset)
+ AVStream *st = priv->input_context->streams[priv->input->stream_index];
+ int ret;
+
+- int64_t pts = av_rescale_q(offset * AV_TIME_BASE, AV_TIME_BASE_Q, st->time_base);
++ priv->input->seek_ts = offset * AV_TIME_BASE;
++ priv->input->prev_frame_end = -1;
++ int64_t ts = av_rescale(offset, st->time_base.den, st->time_base.num);
+
+ avcodec_flush_buffers(priv->codec_context);
+ /* Force reading a new packet in next ffmpeg_fill_buffer(). */
+ priv->input->curr_pkt_size = 0;
+
+- ret = av_seek_frame(priv->input_context, priv->input->stream_index, pts, 0);
++ ret = avformat_seek_file(priv->input_context,
++ priv->input->stream_index, 0, ts, ts, 0);
+
+ if (ret < 0) {
+ return -IP_ERROR_FUNCTION_NOT_SUPPORTED;
+
+From ec84fa7b4b4a72c19e2ab04eac864c99df6d2e4e Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Fri, 15 Aug 2025 21:42:19 +0300
+Subject: [PATCH 02/12] ip/ffmpeg: skip samples only when needed
+
+---
+ ip/ffmpeg.c | 32 ++++++++++++++++++--------------
+ 1 file changed, 18 insertions(+), 14 deletions(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index ecbf00582..5f5a4f37b 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -393,22 +393,26 @@ static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data, AVFormatContext
+ frame_ts = av_rescale_q(frame_ts, st->time_base, AV_TIME_BASE_Q);
+ else
+ frame_ts = input->prev_frame_end;
+- int64_t frame_dur = av_rescale(frame->nb_samples, AV_TIME_BASE, sf_get_rate(ip_data->sf));
+- int64_t frame_end = frame_ts + frame_dur;
+- input->prev_frame_end = frame_end;
+- d_print("seek_ts: %ld, frame_ts: %ld, frame_end: %ld\n", input->seek_ts, frame_ts, frame_end);
+- if (frame_end <= input->seek_ts)
+- continue;
+
+- /* skip part of this frame */
+- int64_t skip_samples = av_rescale(input->seek_ts - frame_ts, sf_get_rate(ip_data->sf), AV_TIME_BASE);
+- in_count -= skip_samples;
+- if (av_sample_fmt_is_planar(frame->format)) {
+- for (int i = 0; i < cc->channels; i++) {
+- in[i] += skip_samples * sf_get_sample_size(ip_data->sf);
++ if (frame_ts < input->seek_ts) {
++ int64_t frame_dur = av_rescale(frame->nb_samples, AV_TIME_BASE, sf_get_rate(ip_data->sf));
++ int64_t frame_end = frame_ts + frame_dur;
++ input->prev_frame_end = frame_end;
++ d_print("seek_ts: %ld, frame_ts: %ld, frame_end: %ld\n", input->seek_ts, frame_ts, frame_end);
++ if (frame_end <= input->seek_ts)
++ continue;
++
++ /* skip part of this frame */
++ int64_t skip_samples = av_rescale(input->seek_ts - frame_ts, sf_get_rate(ip_data->sf), AV_TIME_BASE);
++ in_count -= skip_samples;
++ if (av_sample_fmt_is_planar(frame->format)) {
++ for (int i = 0; i < cc->channels; i++) {
++ in[i] += skip_samples * sf_get_sample_size(ip_data->sf);
++ }
++ } else {
++ *in += skip_samples * cc->channels * sf_get_sample_size(ip_data->sf);
+ }
+- } else {
+- *in += skip_samples * cc->channels * sf_get_sample_size(ip_data->sf);
++ d_print("skipping %ld samples\n", skip_samples);
+ }
+
+ input->seek_ts = -1;
+
+From 70a8761fc1d30bfa302332d0807b89c3776d3f31 Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Sat, 16 Aug 2025 02:43:55 +0300
+Subject: [PATCH 03/12] ip/ffmpeg: remove excessive version checks
+
+ffmpeg download page states that v4.0.6 has
+- libavutil 56.14.100
+- libavcodec 58.18.100
+- libavformat 58.12.100
+(https://ffmpeg.org/olddownload.html)
+
+After removing all checks for versions lower than these, the plugin
+still compiles with v3.3.9 headers.
+
+After all, why be better with compatibility than developers themselves?
+---
+ ip/ffmpeg.c | 109 +++++++++++-----------------------------------------
+ 1 file changed, 23 insertions(+), 86 deletions(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index 5f5a4f37b..f6a11f450 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -25,7 +25,6 @@
+ #include "../config/ffmpeg.h"
+ #endif
+
+-#include <stdio.h>
+ #include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+ #include <libavformat/avio.h>
+@@ -43,7 +42,6 @@
+ struct ffmpeg_input {
+ AVPacket pkt;
+ int curr_pkt_size;
+- uint8_t *curr_pkt_buf;
+ int64_t seek_ts;
+ int64_t prev_frame_end;
+ int stream_index;
+@@ -80,17 +78,12 @@ static struct ffmpeg_input *ffmpeg_input_create(void)
+ input->curr_pkt_size = 0;
+ input->seek_ts = -1;
+ input->prev_frame_end = -1;
+- input->curr_pkt_buf = input->pkt.data;
+ return input;
+ }
+
+ static void ffmpeg_input_free(struct ffmpeg_input *input)
+ {
+-#if LIBAVCODEC_VERSION_MAJOR >= 56
+ av_packet_unref(&input->pkt);
+-#else
+- av_free_packet(&input->pkt);
+-#endif
+ free(input);
+ }
+
+@@ -132,7 +125,7 @@ static void ffmpeg_init(void)
+
+ av_log_set_level(AV_LOG_QUIET);
+
+-#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 18, 100)
++#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(58, 9, 100)
+ /* We could register decoders explicitly to save memory, but we have to
+ * be careful about compatibility. */
+ av_register_all();
+@@ -149,9 +142,7 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ AVCodec const *codec;
+ AVCodecContext *cc = NULL;
+ AVFormatContext *ic = NULL;
+-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
+ AVCodecParameters *cp = NULL;
+-#endif
+ SwrContext *swr = NULL;
+
+ ffmpeg_init();
+@@ -171,20 +162,11 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ }
+
+ for (i = 0; i < ic->nb_streams; i++) {
+-
+-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
+ cp = ic->streams[i]->codecpar;
+ if (cp->codec_type == AVMEDIA_TYPE_AUDIO) {
+ stream_index = i;
+ break;
+ }
+-#else
+- cc = ic->streams[i]->codec;
+- if (cc->codec_type == AVMEDIA_TYPE_AUDIO) {
+- stream_index = i;
+- break;
+- }
+-#endif
+ }
+
+ if (stream_index == -1) {
+@@ -193,13 +175,9 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ break;
+ }
+
+-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
+ codec = avcodec_find_decoder(cp->codec_id);
+ cc = avcodec_alloc_context3(codec);
+ avcodec_parameters_to_context(cc, cp);
+-#else
+- codec = avcodec_find_decoder(cc->codec_id);
+-#endif
+ if (!codec) {
+ d_print("codec not found: %d, %s\n", cc->codec_id, avcodec_get_name(cc->codec_id));
+ err = -IP_ERROR_UNSUPPORTED_FILE_TYPE;
+@@ -217,9 +195,7 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+
+ if (err < 0) {
+ /* Clean up. cc is never opened at this point. (See above assumption.) */
+-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
+ avcodec_free_context(&cc);
+-#endif
+ avformat_close_input(&ic);
+ return err;
+ }
+@@ -231,9 +207,7 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ priv->input = ffmpeg_input_create();
+ if (priv->input == NULL) {
+ avcodec_close(cc);
+-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
+ avcodec_free_context(&cc);
+-#endif
+ avformat_close_input(&ic);
+ free(priv);
+ return -IP_ERROR_INTERNAL;
+@@ -244,7 +218,7 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ /* Prepare for resampling. */
+ out_sample_rate = min_u(cc->sample_rate, 384000);
+ swr = swr_alloc();
+-#if LIBAVCODEC_VERSION_MAJOR >= 60
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59, 24, 100)
+ if (cc->ch_layout.order == AV_CHANNEL_ORDER_UNSPEC)
+ av_channel_layout_default(&cc->ch_layout, cc->ch_layout.nb_channels);
+ av_opt_set_chlayout(swr, "in_chlayout", &cc->ch_layout, 0);
+@@ -259,7 +233,7 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ priv->swr = swr;
+
+ ip_data->private = priv;
+-#if LIBAVCODEC_VERSION_MAJOR >= 60
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59, 24, 100)
+ ip_data->sf = sf_rate(out_sample_rate) | sf_channels(cc->ch_layout.nb_channels);
+ #else
+ ip_data->sf = sf_rate(out_sample_rate) | sf_channels(cc->channels);
+@@ -281,10 +255,12 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ }
+ swr_init(swr);
+ ip_data->sf |= sf_host_endian();
+-#if LIBAVCODEC_VERSION_MAJOR >= 60
+- channel_map_init_waveex(cc->ch_layout.nb_channels, cc->ch_layout.u.mask, ip_data->channel_map);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59, 24, 100)
++ channel_map_init_waveex(cc->ch_layout.nb_channels,
++ cc->ch_layout.u.mask, ip_data->channel_map);
+ #else
+- channel_map_init_waveex(cc->channels, cc->channel_layout, ip_data->channel_map);
++ channel_map_init_waveex(cc->channels,
++ cc->channel_layout, ip_data->channel_map);
+ #endif
+ return 0;
+ }
+@@ -294,9 +270,7 @@ static int ffmpeg_close(struct input_plugin_data *ip_data)
+ struct ffmpeg_private *priv = ip_data->private;
+
+ avcodec_close(priv->codec_context);
+-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
+ avcodec_free_context(&priv->codec_context);
+-#endif
+ avformat_close_input(&priv->input_context);
+ swr_free(&priv->swr);
+ ffmpeg_input_free(priv->input);
+@@ -310,39 +284,27 @@ static int ffmpeg_close(struct input_plugin_data *ip_data)
+ * This returns the number of bytes added to the buffer.
+ * It returns < 0 on error. 0 on EOF.
+ */
+-static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data, AVFormatContext *ic, AVCodecContext *cc,
+- struct ffmpeg_input *input, struct ffmpeg_output *output, SwrContext *swr)
++static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data,
++ AVFormatContext *ic, AVCodecContext *cc,
++ struct ffmpeg_input *input, struct ffmpeg_output *output,
++ SwrContext *swr)
+ {
+-#if LIBAVCODEC_VERSION_MAJOR >= 56
+ AVFrame *frame = av_frame_alloc();
+-#else
+- AVFrame *frame = avcodec_alloc_frame();
+-#endif
+ while (1) {
+ if (input->curr_pkt_size <= 0) {
+-#if LIBAVCODEC_VERSION_MAJOR >= 56
+ av_packet_unref(&input->pkt);
+-#else
+- av_free_packet(&input->pkt);
+-#endif
+ if (av_read_frame(ic, &input->pkt) < 0) {
+ /* Force EOF once we can read no longer. */
+-#if LIBAVCODEC_VERSION_MAJOR >= 56
+ av_frame_free(&frame);
+-#else
+- avcodec_free_frame(&frame);
+-#endif
+ return 0;
+ }
+
+ if (input->pkt.stream_index != input->stream_index)
+ continue;
+ input->curr_pkt_size = input->pkt.size;
+- input->curr_pkt_buf = input->pkt.data;
+ input->curr_size += input->pkt.size;
+ input->curr_duration += input->pkt.duration;
+
+-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
+ int send_result = avcodec_send_packet(cc, &input->pkt);
+ if (send_result != 0 && send_result != AVERROR(EAGAIN)) {
+ d_print("avcodec_send_packet() returned %d\n", send_result);
+@@ -355,32 +317,17 @@ static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data, AVFormatContext
+ }
+ return -IP_ERROR_INTERNAL;
+ }
+-#endif
+ }
+
+-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
+ int recv_result = avcodec_receive_frame(cc, frame);
+ if (recv_result < 0) {
+ input->curr_pkt_size = 0;
+ continue;
+ }
+-#else
+- int got_frame;
+- int len = avcodec_decode_audio4(cc, frame, &got_frame, &input->pkt);
+- if (len < 0) {
+- /* this is often reached when seeking, not sure why */
+- input->curr_pkt_size = 0;
+- continue;
+- }
+- if (!got_frame)
+- continue;
+-#endif
+
+ int64_t frame_ts = -1;
+ if (frame->pts)
+ frame_ts = frame->pts;
+- else if (frame->pkt_pts)
+- frame_ts = frame->pkt_pts;
+ else if (frame->pkt_dts)
+ frame_ts = frame->pkt_dts;
+
+@@ -395,7 +342,7 @@ static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data, AVFormatContext
+ frame_ts = input->prev_frame_end;
+
+ if (frame_ts < input->seek_ts) {
+- int64_t frame_dur = av_rescale(frame->nb_samples, AV_TIME_BASE, sf_get_rate(ip_data->sf));
++ int64_t frame_dur = av_rescale(frame->nb_samples, AV_TIME_BASE, frame->sample_rate);
+ int64_t frame_end = frame_ts + frame_dur;
+ input->prev_frame_end = frame_end;
+ d_print("seek_ts: %ld, frame_ts: %ld, frame_end: %ld\n", input->seek_ts, frame_ts, frame_end);
+@@ -403,14 +350,14 @@ static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data, AVFormatContext
+ continue;
+
+ /* skip part of this frame */
+- int64_t skip_samples = av_rescale(input->seek_ts - frame_ts, sf_get_rate(ip_data->sf), AV_TIME_BASE);
++ int64_t skip_samples = av_rescale(input->seek_ts - frame_ts, frame->sample_rate, AV_TIME_BASE);
+ in_count -= skip_samples;
+ if (av_sample_fmt_is_planar(frame->format)) {
+- for (int i = 0; i < cc->channels; i++) {
++ for (int i = 0; i < sf_get_channels(ip_data->sf); i++) {
+ in[i] += skip_samples * sf_get_sample_size(ip_data->sf);
+ }
+ } else {
+- *in += skip_samples * cc->channels * sf_get_sample_size(ip_data->sf);
++ *in += skip_samples * sf_get_frame_size(ip_data->sf);
+ }
+ d_print("skipping %ld samples\n", skip_samples);
+ }
+@@ -428,17 +375,9 @@ static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data, AVFormatContext
+ res = 0;
+
+ output->buffer_pos = output->buffer;
+-#if LIBAVCODEC_VERSION_MAJOR >= 60
+- output->buffer_used_len = res * cc->ch_layout.nb_channels * sf_get_sample_size(ip_data->sf);
+-#else
+- output->buffer_used_len = res * cc->channels * sf_get_sample_size(ip_data->sf);
+-#endif
++ output->buffer_used_len = res * sf_get_frame_size(ip_data->sf);
+
+-#if LIBAVCODEC_VERSION_MAJOR >= 56
+ av_frame_free(&frame);
+-#else
+- avcodec_free_frame(&frame);
+-#endif
+ return output->buffer_used_len;
+ }
+ /* This should never get here. */
+@@ -453,11 +392,11 @@ static int ffmpeg_read(struct input_plugin_data *ip_data, char *buffer, int coun
+ int out_size;
+
+ if (output->buffer_used_len == 0) {
+- rc = ffmpeg_fill_buffer(ip_data, priv->input_context, priv->codec_context,
++ rc = ffmpeg_fill_buffer(ip_data,
++ priv->input_context, priv->codec_context,
+ priv->input, priv->output, priv->swr);
+- if (rc <= 0) {
++ if (rc <= 0)
+ return rc;
+- }
+ }
+ out_size = min_i(output->buffer_used_len, count);
+ memcpy(buffer, output->buffer_pos, out_size);
+@@ -477,6 +416,7 @@ static int ffmpeg_seek(struct input_plugin_data *ip_data, double offset)
+ int64_t ts = av_rescale(offset, st->time_base.den, st->time_base.num);
+
+ avcodec_flush_buffers(priv->codec_context);
++ /* TODO: also flush swresample buffers */
+ /* Force reading a new packet in next ffmpeg_fill_buffer(). */
+ priv->input->curr_pkt_size = 0;
+
+@@ -501,7 +441,8 @@ static void ffmpeg_read_metadata(struct growing_keyvals *c, AVDictionary *metada
+ }
+ }
+
+-static int ffmpeg_read_comments(struct input_plugin_data *ip_data, struct keyval **comments)
++static int ffmpeg_read_comments(struct input_plugin_data *ip_data,
++ struct keyval **comments)
+ {
+ struct ffmpeg_private *priv = ip_data->private;
+ AVFormatContext *ic = priv->input_context;
+@@ -538,11 +479,7 @@ static long ffmpeg_current_bitrate(struct input_plugin_data *ip_data)
+ AVStream *st = priv->input_context->streams[priv->input->stream_index];
+ long bitrate = -1;
+ /* ape codec returns silly numbers */
+-#if LIBAVCODEC_VERSION_MAJOR >= 55
+ if (priv->codec->id == AV_CODEC_ID_APE)
+-#else
+- if (priv->codec->id == CODEC_ID_APE)
+-#endif
+ return -1;
+ if (priv->input->curr_duration > 0) {
+ double seconds = priv->input->curr_duration * av_q2d(st->time_base);
+
+From e1a2374a60a41987f95c7d892ebc1b150df7acb1 Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Sun, 17 Aug 2025 04:05:36 +0300
+Subject: [PATCH 04/12] ip/ffmpeg: major refactor
+
+---
+ ip/ffmpeg.c | 643 +++++++++++++++++++++++++++-------------------------
+ 1 file changed, 330 insertions(+), 313 deletions(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index f6a11f450..42f630ee7 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -35,84 +35,32 @@
+ #include <libavutil/mathematics.h>
+ #endif
+
+-#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
+-#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
+-#endif
++struct ffmpeg_private {
++ AVCodecContext *codec_ctx;
++ AVFormatContext *format_ctx;
++ AVCodec const *codec;
++ SwrContext *swr;
++ int stream_index;
+
+-struct ffmpeg_input {
+- AVPacket pkt;
+- int curr_pkt_size;
++ AVPacket *pkt;
++ AVFrame *frame;
+ int64_t seek_ts;
+ int64_t prev_frame_end;
+- int stream_index;
+
++ /* A buffer to hold swr_convert()-ed samples */
++ AVFrame *swr_frame;
++ int swr_frame_start;
++
++ /* Bitrate estimation */
+ unsigned long curr_size;
+ unsigned long curr_duration;
+ };
+
+-struct ffmpeg_output {
+- uint8_t *buffer;
+- uint8_t *buffer_malloc;
+- uint8_t *buffer_pos; /* current buffer position */
+- int buffer_used_len;
+-};
+-
+-struct ffmpeg_private {
+- AVCodecContext *codec_context;
+- AVFormatContext *input_context;
+- AVCodec const *codec;
+- SwrContext *swr;
+-
+- struct ffmpeg_input *input;
+- struct ffmpeg_output *output;
+-};
+-
+-static struct ffmpeg_input *ffmpeg_input_create(void)
+-{
+- struct ffmpeg_input *input = xnew(struct ffmpeg_input, 1);
+-
+- if (av_new_packet(&input->pkt, 0) != 0) {
+- free(input);
+- return NULL;
+- }
+- input->curr_pkt_size = 0;
+- input->seek_ts = -1;
+- input->prev_frame_end = -1;
+- return input;
+-}
+-
+-static void ffmpeg_input_free(struct ffmpeg_input *input)
+-{
+- av_packet_unref(&input->pkt);
+- free(input);
+-}
+-
+-static struct ffmpeg_output *ffmpeg_output_create(void)
+-{
+- struct ffmpeg_output *output = xnew(struct ffmpeg_output, 1);
+-
+- output->buffer_malloc = xnew(uint8_t, AVCODEC_MAX_AUDIO_FRAME_SIZE + 15);
+- output->buffer = output->buffer_malloc;
+- /* align to 16 bytes so avcodec can SSE/Altivec/etc */
+- while ((intptr_t) output->buffer % 16)
+- output->buffer += 1;
+- output->buffer_pos = output->buffer;
+- output->buffer_used_len = 0;
+- return output;
+-}
+-
+-static void ffmpeg_output_free(struct ffmpeg_output *output)
+-{
+- free(output->buffer_malloc);
+- output->buffer_malloc = NULL;
+- output->buffer = NULL;
+- free(output);
+-}
+-
+-static inline void ffmpeg_buffer_flush(struct ffmpeg_output *output)
++static const char *ffmpeg_errmsg(int err)
+ {
+- output->buffer_pos = output->buffer;
+- output->buffer_used_len = 0;
++ static char errstr[AV_ERROR_MAX_STRING_SIZE];
++ av_strerror(err, errstr, AV_ERROR_MAX_STRING_SIZE);
++ return errstr;
+ }
+
+ static void ffmpeg_init(void)
+@@ -132,303 +80,372 @@ static void ffmpeg_init(void)
+ #endif
+ }
+
+-static int ffmpeg_open(struct input_plugin_data *ip_data)
++static int ffmpeg_open_input(struct input_plugin_data *ip_data,
++ struct ffmpeg_private *priv)
+ {
+- struct ffmpeg_private *priv;
+- int err = 0;
+- int i;
+- int stream_index = -1;
+- int out_sample_rate;
+- AVCodec const *codec;
+- AVCodecContext *cc = NULL;
+ AVFormatContext *ic = NULL;
++ AVCodecContext *cc = NULL;
+ AVCodecParameters *cp = NULL;
+- SwrContext *swr = NULL;
+-
+- ffmpeg_init();
++ AVCodec const *codec = NULL;
++ int stream_index = -1;
+
+- err = avformat_open_input(&ic, ip_data->filename, NULL, NULL);
+- if (err < 0) {
+- d_print("av_open failed: %d\n", err);
+- return -IP_ERROR_FILE_FORMAT;
++ int err;
++ int res = avformat_open_input(&ic, ip_data->filename, NULL, NULL);
++ if (res < 0) {
++ err = -IP_ERROR_FILE_FORMAT;
++ goto err;
+ }
+
+- do {
+- err = avformat_find_stream_info(ic, NULL);
+- if (err < 0) {
+- d_print("unable to find stream info: %d\n", err);
+- err = -IP_ERROR_FILE_FORMAT;
+- break;
+- }
+-
+- for (i = 0; i < ic->nb_streams; i++) {
+- cp = ic->streams[i]->codecpar;
+- if (cp->codec_type == AVMEDIA_TYPE_AUDIO) {
+- stream_index = i;
+- break;
+- }
+- }
+-
+- if (stream_index == -1) {
+- d_print("could not find audio stream\n");
+- err = -IP_ERROR_FILE_FORMAT;
+- break;
+- }
+-
+- codec = avcodec_find_decoder(cp->codec_id);
+- cc = avcodec_alloc_context3(codec);
+- avcodec_parameters_to_context(cc, cp);
+- if (!codec) {
+- d_print("codec not found: %d, %s\n", cc->codec_id, avcodec_get_name(cc->codec_id));
+- err = -IP_ERROR_UNSUPPORTED_FILE_TYPE;
+- break;
+- }
++ res = avformat_find_stream_info(ic, NULL);
++ if (res < 0) {
++ d_print("unable to find stream info\n");
++ err = -IP_ERROR_FILE_FORMAT;
++ goto err;
++ }
+
+- if (avcodec_open2(cc, codec, NULL) < 0) {
+- d_print("could not open codec: %d, %s\n", cc->codec_id, avcodec_get_name(cc->codec_id));
+- err = -IP_ERROR_UNSUPPORTED_FILE_TYPE;
++ for (int i = 0; i < ic->nb_streams; i++) {
++ cp = ic->streams[i]->codecpar;
++ if (cp->codec_type == AVMEDIA_TYPE_AUDIO) {
++ stream_index = i;
+ break;
+ }
++ }
+
+- /* We assume below that no more errors follow. */
+- } while (0);
++ if (stream_index == -1) {
++ d_print("could not find audio stream\n");
++ err = -IP_ERROR_FILE_FORMAT;
++ goto err_silent;
++ }
+
+- if (err < 0) {
+- /* Clean up. cc is never opened at this point. (See above assumption.) */
+- avcodec_free_context(&cc);
+- avformat_close_input(&ic);
+- return err;
++ codec = avcodec_find_decoder(cp->codec_id);
++ if (!codec) {
++ d_print("codec (id: %d, name: %s) not found\n",
++ cc->codec_id, avcodec_get_name(cc->codec_id));
++ err = -IP_ERROR_UNSUPPORTED_FILE_TYPE;
++ goto err_silent;
++ }
++ cc = avcodec_alloc_context3(codec);
++ avcodec_parameters_to_context(cc, cp);
++
++ res = avcodec_open2(cc, codec, NULL);
++ if (res < 0) {
++ d_print("could not open codec (id: %d, name: %s)\n",
++ cc->codec_id, avcodec_get_name(cc->codec_id));
++ err = -IP_ERROR_UNSUPPORTED_FILE_TYPE;
++ goto err;
+ }
+
+- priv = xnew(struct ffmpeg_private, 1);
+- priv->codec_context = cc;
+- priv->input_context = ic;
++ priv->format_ctx = ic;
++ priv->codec_ctx = cc;
+ priv->codec = codec;
+- priv->input = ffmpeg_input_create();
+- if (priv->input == NULL) {
+- avcodec_close(cc);
+- avcodec_free_context(&cc);
+- avformat_close_input(&ic);
+- free(priv);
+- return -IP_ERROR_INTERNAL;
++ priv->stream_index = stream_index;
++ return 0;
++err:
++ d_print("%s\n", ffmpeg_errmsg(res));
++err_silent:
++ avcodec_free_context(&cc);
++ avformat_close_input(&ic);
++ return err;
++}
++
++static void ffmpeg_set_sf_and_swr_opts(SwrContext *swr, AVCodecContext *cc,
++ sample_format_t *sf_out, enum AVSampleFormat *out_sample_fmt)
++{
++ int out_sample_rate = min_u(cc->sample_rate, 384000);
++ sample_format_t sf = sf_rate(out_sample_rate) | sf_host_endian();
++ av_opt_set_int(swr, "in_sample_rate", cc->sample_rate, 0);
++ av_opt_set_int(swr, "out_sample_rate", out_sample_rate, 0);
++
++ *out_sample_fmt = cc->sample_fmt;
++ switch (*out_sample_fmt) {
++ case AV_SAMPLE_FMT_U8:
++ sf |= sf_bits(8) | sf_signed(0);
++ break;
++ case AV_SAMPLE_FMT_S32:
++ sf |= sf_bits(32) | sf_signed(1);
++ break;
++ default:
++ sf |= sf_bits(16) | sf_signed(1);
++ *out_sample_fmt = AV_SAMPLE_FMT_S16;
+ }
+- priv->input->stream_index = stream_index;
+- priv->output = ffmpeg_output_create();
++ av_opt_set_sample_fmt(swr, "in_sample_fmt", cc->sample_fmt, 0);
++ av_opt_set_sample_fmt(swr, "out_sample_fmt", *out_sample_fmt, 0);
+
+- /* Prepare for resampling. */
+- out_sample_rate = min_u(cc->sample_rate, 384000);
+- swr = swr_alloc();
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59, 24, 100)
++ sf |= sf_channels(cc->ch_layout.nb_channels);
++
+ if (cc->ch_layout.order == AV_CHANNEL_ORDER_UNSPEC)
+ av_channel_layout_default(&cc->ch_layout, cc->ch_layout.nb_channels);
+- av_opt_set_chlayout(swr, "in_chlayout", &cc->ch_layout, 0);
+- av_opt_set_chlayout(swr, "out_chlayout", &cc->ch_layout, 0);
++ av_opt_set_chlayout(swr, "in_chlayout", &cc->ch_layout, 0);
++ av_opt_set_chlayout(swr, "out_chlayout", &cc->ch_layout, 0);
+ #else
+- av_opt_set_int(swr, "in_channel_layout", av_get_default_channel_layout(cc->channels), 0);
+- av_opt_set_int(swr, "out_channel_layout", av_get_default_channel_layout(cc->channels), 0);
++ sf |= sf_channels(cc->channels);
++
++ av_opt_set_int(swr, "in_channel_layout",
++ av_get_default_channel_layout(cc->channels), 0);
++ av_opt_set_int(swr, "out_channel_layout",
++ av_get_default_channel_layout(cc->channels), 0);
+ #endif
+- av_opt_set_int(swr, "in_sample_rate", cc->sample_rate, 0);
+- av_opt_set_int(swr, "out_sample_rate", out_sample_rate, 0);
+- av_opt_set_sample_fmt(swr, "in_sample_fmt", cc->sample_fmt, 0);
+- priv->swr = swr;
+
+- ip_data->private = priv;
++ *sf_out = sf;
++}
++
++static int ffmpeg_init_swr_frame(struct ffmpeg_private *priv,
++ sample_format_t sf, enum AVSampleFormat out_sample_fmt)
++{
++ AVCodecContext *cc = priv->codec_ctx;
++ AVFrame *frame = av_frame_alloc();
++
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59, 24, 100)
+- ip_data->sf = sf_rate(out_sample_rate) | sf_channels(cc->ch_layout.nb_channels);
++ av_channel_layout_copy(&frame->ch_layout, &cc->ch_layout);
+ #else
+- ip_data->sf = sf_rate(out_sample_rate) | sf_channels(cc->channels);
++ frame->channel_layout = av_get_default_channel_layout(cc->channels);
+ #endif
+- switch (cc->sample_fmt) {
+- case AV_SAMPLE_FMT_U8:
+- ip_data->sf |= sf_bits(8) | sf_signed(0);
+- av_opt_set_sample_fmt(swr, "out_sample_fmt", AV_SAMPLE_FMT_U8, 0);
+- break;
+- case AV_SAMPLE_FMT_S32:
+- ip_data->sf |= sf_bits(32) | sf_signed(1);
+- av_opt_set_sample_fmt(swr, "out_sample_fmt", AV_SAMPLE_FMT_S32, 0);
+- break;
+- /* AV_SAMPLE_FMT_S16 */
+- default:
+- ip_data->sf |= sf_bits(16) | sf_signed(1);
+- av_opt_set_sample_fmt(swr, "out_sample_fmt", AV_SAMPLE_FMT_S16, 0);
+- break;
++
++ frame->sample_rate = sf_get_rate(sf);
++ frame->format = out_sample_fmt;
++
++ /* NOTE: 10 sec is probably too much, but the amount of space
++ * needed for swr_convert() is unpredictable */
++ frame->nb_samples = 10 * sf_get_rate(sf);
++ int res = av_frame_get_buffer(frame, 0);
++ if (res < 0) {
++ d_print("av_frame_get_buffer(): %s\n", ffmpeg_errmsg(res));
++ return -IP_ERROR_INTERNAL;
+ }
+- swr_init(swr);
+- ip_data->sf |= sf_host_endian();
++ frame->nb_samples = 0;
++
++ priv->swr_frame = frame;
++ return 0;
++}
++
++static void ffmpeg_free(struct ffmpeg_private *priv)
++{
++ avcodec_close(priv->codec_ctx);
++ avcodec_free_context(&priv->codec_ctx);
++ avformat_close_input(&priv->format_ctx);
++
++ swr_free(&priv->swr);
++
++ av_frame_free(&priv->frame);
++ av_packet_free(&priv->pkt);
++ av_frame_free(&priv->swr_frame);
++}
++
++static int ffmpeg_open(struct input_plugin_data *ip_data)
++{
++ struct ffmpeg_private priv;
++ enum AVSampleFormat out_sample_fmt;
++ memset(&priv, 0, sizeof(struct ffmpeg_private));
++
++ ffmpeg_init();
++
++ int err = ffmpeg_open_input(ip_data, &priv);
++ if (err < 0)
++ return err;
++
++ priv.pkt = av_packet_alloc();
++ priv.frame = av_frame_alloc();
++ priv.seek_ts = -1;
++ priv.prev_frame_end = -1;
++
++ priv.swr = swr_alloc();
++ ffmpeg_set_sf_and_swr_opts(priv.swr, priv.codec_ctx,
++ &ip_data->sf, &out_sample_fmt);
++ swr_init(priv.swr);
++
++ err = ffmpeg_init_swr_frame(&priv, ip_data->sf, out_sample_fmt);
++ if (err < 0) {
++ ffmpeg_free(&priv);
++ return err;
++ }
++
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59, 24, 100)
+- channel_map_init_waveex(cc->ch_layout.nb_channels,
+- cc->ch_layout.u.mask, ip_data->channel_map);
++ channel_map_init_waveex(priv.codec_ctx->ch_layout.nb_channels,
++ priv.codec_ctx->ch_layout.u.mask, ip_data->channel_map);
+ #else
+- channel_map_init_waveex(cc->channels,
+- cc->channel_layout, ip_data->channel_map);
++ channel_map_init_waveex(priv.codec_ctx->channels,
++ priv.codec_ctx->channel_layout, ip_data->channel_map);
+ #endif
++
++ ip_data->private = xnew(struct ffmpeg_private, 1);
++ memcpy(ip_data->private, &priv, sizeof(struct ffmpeg_private));
+ return 0;
+ }
+
+ static int ffmpeg_close(struct input_plugin_data *ip_data)
+ {
+- struct ffmpeg_private *priv = ip_data->private;
+-
+- avcodec_close(priv->codec_context);
+- avcodec_free_context(&priv->codec_context);
+- avformat_close_input(&priv->input_context);
+- swr_free(&priv->swr);
+- ffmpeg_input_free(priv->input);
+- ffmpeg_output_free(priv->output);
+- free(priv);
++ ffmpeg_free(ip_data->private);
++ free(ip_data->private);
+ ip_data->private = NULL;
+ return 0;
+ }
+
+ /*
+- * This returns the number of bytes added to the buffer.
+- * It returns < 0 on error. 0 on EOF.
++ * return:
++ * 0 - retry
++ * >0 - ok
+ */
+-static int ffmpeg_fill_buffer(struct input_plugin_data *ip_data,
+- AVFormatContext *ic, AVCodecContext *cc,
+- struct ffmpeg_input *input, struct ffmpeg_output *output,
+- SwrContext *swr)
++static int ffmpeg_seek_into_frame(struct ffmpeg_private *priv, int64_t frame_ts)
+ {
+- AVFrame *frame = av_frame_alloc();
+- while (1) {
+- if (input->curr_pkt_size <= 0) {
+- av_packet_unref(&input->pkt);
+- if (av_read_frame(ic, &input->pkt) < 0) {
+- /* Force EOF once we can read no longer. */
+- av_frame_free(&frame);
+- return 0;
+- }
+-
+- if (input->pkt.stream_index != input->stream_index)
+- continue;
+- input->curr_pkt_size = input->pkt.size;
+- input->curr_size += input->pkt.size;
+- input->curr_duration += input->pkt.duration;
+-
+- int send_result = avcodec_send_packet(cc, &input->pkt);
+- if (send_result != 0 && send_result != AVERROR(EAGAIN)) {
+- d_print("avcodec_send_packet() returned %d\n", send_result);
+- char errstr[AV_ERROR_MAX_STRING_SIZE];
+- if (!av_strerror(send_result, errstr, AV_ERROR_MAX_STRING_SIZE ))
+- {
+- d_print("av_strerror(): %s\n", errstr);
+- } else {
+- d_print("av_strerror(): Description for error cannot be found\n");
+- }
+- return -IP_ERROR_INTERNAL;
+- }
+- }
++ if (frame_ts >= 0) {
++ AVStream *s = priv->format_ctx->streams[priv->stream_index];
++ frame_ts = av_rescale_q(frame_ts, s->time_base, AV_TIME_BASE_Q);
++ } else {
++ frame_ts = priv->prev_frame_end;
++ }
+
+- int recv_result = avcodec_receive_frame(cc, frame);
+- if (recv_result < 0) {
+- input->curr_pkt_size = 0;
+- continue;
+- }
++ if (frame_ts >= priv->seek_ts)
++ return 1;
+
+- int64_t frame_ts = -1;
+- if (frame->pts)
+- frame_ts = frame->pts;
+- else if (frame->pkt_dts)
+- frame_ts = frame->pkt_dts;
+-
+- const uint8_t **in = (const uint8_t **)frame->extended_data;
+- int in_count = frame->nb_samples;
+- if (input->seek_ts > 0 && (frame_ts >= 0 || input->prev_frame_end >= 0)) {
+- struct ffmpeg_private *priv = ip_data->private;
+- AVStream *st = priv->input_context->streams[priv->input->stream_index];
+- if (frame_ts >= 0)
+- frame_ts = av_rescale_q(frame_ts, st->time_base, AV_TIME_BASE_Q);
+- else
+- frame_ts = input->prev_frame_end;
+-
+- if (frame_ts < input->seek_ts) {
+- int64_t frame_dur = av_rescale(frame->nb_samples, AV_TIME_BASE, frame->sample_rate);
+- int64_t frame_end = frame_ts + frame_dur;
+- input->prev_frame_end = frame_end;
+- d_print("seek_ts: %ld, frame_ts: %ld, frame_end: %ld\n", input->seek_ts, frame_ts, frame_end);
+- if (frame_end <= input->seek_ts)
+- continue;
+-
+- /* skip part of this frame */
+- int64_t skip_samples = av_rescale(input->seek_ts - frame_ts, frame->sample_rate, AV_TIME_BASE);
+- in_count -= skip_samples;
+- if (av_sample_fmt_is_planar(frame->format)) {
+- for (int i = 0; i < sf_get_channels(ip_data->sf); i++) {
+- in[i] += skip_samples * sf_get_sample_size(ip_data->sf);
+- }
+- } else {
+- *in += skip_samples * sf_get_frame_size(ip_data->sf);
+- }
+- d_print("skipping %ld samples\n", skip_samples);
+- }
+-
+- input->seek_ts = -1;
+- input->prev_frame_end = -1;
+- }
++ int64_t frame_dur = av_rescale(priv->frame->nb_samples,
++ AV_TIME_BASE, priv->frame->sample_rate);
++ int64_t frame_end = frame_ts + frame_dur;
++ priv->prev_frame_end = frame_end;
++
++ d_print("seek_ts: %ld, frame_ts: %ld, frame_end: %ld\n",
++ priv->seek_ts, frame_ts, frame_end);
++
++ if (frame_end <= priv->seek_ts)
++ return 0;
++
++ int64_t skip_samples = av_rescale(priv->seek_ts - frame_ts,
++ priv->frame->sample_rate, AV_TIME_BASE);
++ priv->frame->nb_samples -= skip_samples;
++
++ int bps = av_get_bytes_per_sample(priv->frame->format);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59, 24, 100)
++ int channels = priv->codec_ctx->ch_layout.nb_channels;
++#else
++ int channels = priv->codec_ctx->channels;
++#endif
++
++ /* Just modify frame's data pointer because it's throw-away */
++ if (av_sample_fmt_is_planar(priv->frame->format)) {
++ for (int i = 0; i < channels; i++)
++ priv->frame->extended_data[i] += skip_samples * bps;
++ } else {
++ priv->frame->extended_data[0] += skip_samples * channels * bps;
++ }
++ d_print("skipping %ld samples\n", skip_samples);
++ return 1;
++}
+
+- int res = swr_convert(swr,
+- &output->buffer,
+- frame->nb_samples,
+- in,
+- in_count);
++/*
++ * return:
++ * <0 - error
++ * 0 - retry
++ * >0 - ok
++ */
++static int ffmpeg_get_frame(struct ffmpeg_private *priv)
++{
++ int res = avcodec_receive_frame(priv->codec_ctx, priv->frame);
++ if (res == AVERROR(EAGAIN)) {
++ av_packet_unref(priv->pkt);
++ res = av_read_frame(priv->format_ctx, priv->pkt);
+ if (res < 0)
+- res = 0;
++ return res;
++
++ if (priv->pkt->stream_index != priv->stream_index)
++ return 0;
+
+- output->buffer_pos = output->buffer;
+- output->buffer_used_len = res * sf_get_frame_size(ip_data->sf);
++ priv->curr_size += priv->pkt->size;
++ priv->curr_duration += priv->pkt->duration;
+
+- av_frame_free(&frame);
+- return output->buffer_used_len;
++ res = avcodec_send_packet(priv->codec_ctx, priv->pkt);
++ if (res == AVERROR(EAGAIN))
++ return 0;
+ }
+- /* This should never get here. */
+- return -IP_ERROR_INTERNAL;
++ if (res < 0)
++ return res;
++
++ int64_t frame_ts = -1;
++ if (priv->frame->pts >= 0)
++ frame_ts = priv->frame->pts;
++ else if (priv->frame->pkt_dts >= 0)
++ frame_ts = priv->frame->pkt_dts;
++
++ if (priv->seek_ts > 0 && (frame_ts >= 0 || priv->prev_frame_end >= 0)) {
++ if (ffmpeg_seek_into_frame(priv, frame_ts) == 0)
++ return 0;
++ priv->seek_ts = -1;
++ priv->prev_frame_end = -1;
++ }
++ return 1;
++}
++
++static int ffmpeg_convert_frame(struct ffmpeg_private *priv)
++{
++ int res = swr_convert(priv->swr,
++ priv->swr_frame->extended_data,
++ /* TODO: proper buffer capacity */
++ priv->frame->nb_samples,
++ (const uint8_t **)priv->frame->extended_data,
++ priv->frame->nb_samples);
++ if (res >= 0) {
++ priv->swr_frame->nb_samples = res;
++ priv->swr_frame_start = 0;
++ }
++ return res;
+ }
+
+ static int ffmpeg_read(struct input_plugin_data *ip_data, char *buffer, int count)
+ {
+ struct ffmpeg_private *priv = ip_data->private;
+- struct ffmpeg_output *output = priv->output;
+- int rc;
+- int out_size;
+-
+- if (output->buffer_used_len == 0) {
+- rc = ffmpeg_fill_buffer(ip_data,
+- priv->input_context, priv->codec_context,
+- priv->input, priv->output, priv->swr);
+- if (rc <= 0)
+- return rc;
++ int written = 0;
++ int res;
++
++ count /= sf_get_frame_size(ip_data->sf);
++
++ while (count) {
++ if (priv->swr_frame->nb_samples == 0) {
++ res = ffmpeg_get_frame(priv);
++ if (res == AVERROR_EOF)
++ break;
++ else if (res == 0)
++ continue;
++ else if (res < 0)
++ goto err;
++
++ res = ffmpeg_convert_frame(priv);
++ if (res < 0)
++ goto err;
++ }
++
++ int copy_frames = min_i(count, priv->swr_frame->nb_samples);
++ int copy_bytes = copy_frames * sf_get_frame_size(ip_data->sf);
++ void *dst = priv->swr_frame->extended_data[0] + priv->swr_frame_start;
++ memcpy(buffer + written, dst, copy_bytes);
++
++ priv->swr_frame->nb_samples -= copy_frames;
++ priv->swr_frame_start += copy_bytes;
++ count -= copy_frames;
++ written += copy_bytes;
+ }
+- out_size = min_i(output->buffer_used_len, count);
+- memcpy(buffer, output->buffer_pos, out_size);
+- output->buffer_used_len -= out_size;
+- output->buffer_pos += out_size;
+- return out_size;
++ return written;
++err:
++ d_print("%s\n", ffmpeg_errmsg(res));
++ return -IP_ERROR_INTERNAL;
+ }
+
+ static int ffmpeg_seek(struct input_plugin_data *ip_data, double offset)
+ {
+ struct ffmpeg_private *priv = ip_data->private;
+- AVStream *st = priv->input_context->streams[priv->input->stream_index];
+- int ret;
++ AVStream *st = priv->format_ctx->streams[priv->stream_index];
+
+- priv->input->seek_ts = offset * AV_TIME_BASE;
+- priv->input->prev_frame_end = -1;
++ priv->seek_ts = offset * AV_TIME_BASE;
++ priv->prev_frame_end = -1;
+ int64_t ts = av_rescale(offset, st->time_base.den, st->time_base.num);
+
+- avcodec_flush_buffers(priv->codec_context);
+- /* TODO: also flush swresample buffers */
+- /* Force reading a new packet in next ffmpeg_fill_buffer(). */
+- priv->input->curr_pkt_size = 0;
+-
+- ret = avformat_seek_file(priv->input_context,
+- priv->input->stream_index, 0, ts, ts, 0);
+-
+- if (ret < 0) {
++ int ret = avformat_seek_file(priv->format_ctx,
++ priv->stream_index, 0, ts, ts, 0);
++ if (ret < 0)
+ return -IP_ERROR_FUNCTION_NOT_SUPPORTED;
+- } else {
+- ffmpeg_buffer_flush(priv->output);
+- return 0;
+- }
++
++ priv->swr_frame->nb_samples = 0;
++ avcodec_flush_buffers(priv->codec_ctx);
++ /* also flush swresample buffers? */
++ return 0;
+ }
+
+ static void ffmpeg_read_metadata(struct growing_keyvals *c, AVDictionary *metadata)
+@@ -445,7 +462,7 @@ static int ffmpeg_read_comments(struct input_plugin_data *ip_data,
+ struct keyval **comments)
+ {
+ struct ffmpeg_private *priv = ip_data->private;
+- AVFormatContext *ic = priv->input_context;
++ AVFormatContext *ic = priv->format_ctx;
+
+ GROWING_KEYVALS(c);
+
+@@ -463,29 +480,29 @@ static int ffmpeg_read_comments(struct input_plugin_data *ip_data,
+ static int ffmpeg_duration(struct input_plugin_data *ip_data)
+ {
+ struct ffmpeg_private *priv = ip_data->private;
+- return priv->input_context->duration / AV_TIME_BASE;
++ return priv->format_ctx->duration / AV_TIME_BASE;
+ }
+
+ static long ffmpeg_bitrate(struct input_plugin_data *ip_data)
+ {
+ struct ffmpeg_private *priv = ip_data->private;
+- long bitrate = priv->input_context->bit_rate;
++ long bitrate = priv->format_ctx->bit_rate;
+ return bitrate ? bitrate : -IP_ERROR_FUNCTION_NOT_SUPPORTED;
+ }
+
+ static long ffmpeg_current_bitrate(struct input_plugin_data *ip_data)
+ {
+ struct ffmpeg_private *priv = ip_data->private;
+- AVStream *st = priv->input_context->streams[priv->input->stream_index];
++ AVStream *st = priv->format_ctx->streams[priv->stream_index];
+ long bitrate = -1;
+ /* ape codec returns silly numbers */
+ if (priv->codec->id == AV_CODEC_ID_APE)
+ return -1;
+- if (priv->input->curr_duration > 0) {
+- double seconds = priv->input->curr_duration * av_q2d(st->time_base);
+- bitrate = (8 * priv->input->curr_size) / seconds;
+- priv->input->curr_size = 0;
+- priv->input->curr_duration = 0;
++ if (priv->curr_duration > 0) {
++ double seconds = priv->curr_duration * av_q2d(st->time_base);
++ bitrate = (8 * priv->curr_size) / seconds;
++ priv->curr_size = 0;
++ priv->curr_duration = 0;
+ }
+ return bitrate;
+ }
+@@ -500,7 +517,7 @@ static char *ffmpeg_codec_profile(struct input_plugin_data *ip_data)
+ {
+ struct ffmpeg_private *priv = ip_data->private;
+ const char *profile;
+- profile = av_get_profile_name(priv->codec, priv->codec_context->profile);
++ profile = av_get_profile_name(priv->codec, priv->codec_ctx->profile);
+ return profile ? xstrdup(profile) : NULL;
+ }
+
+
+From 59dca8686f52a4d4909c815d2af713539ad6fdc2 Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Sun, 17 Aug 2025 14:28:46 +0300
+Subject: [PATCH 05/12] Validate sample format in ip_open()
+
+To prevent segfault in ip_setup() because channels=0, validate ip_data->sf
+after opening ip.
+---
+ input.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git input.c input.c
+index c20cb3f6a..f5c5b3c24 100644
+--- input.c
++++ input.c
+@@ -605,6 +605,16 @@ int ip_open(struct input_plugin *ip)
+ ip_reset(ip, 1);
+ return rc;
+ }
++
++ unsigned bits = sf_get_bits(ip->data.sf);
++ unsigned channels = sf_get_channels(ip->data.sf);
++ unsigned rate = sf_get_rate(ip->data.sf);
++ if (!bits || !channels || !rate) {
++ d_print("corrupt file: bits = %u, channels = %u, rate = %u\n",
++ bits, channels, rate);
++ return -IP_ERROR_FILE_FORMAT;
++ }
++
+ ip->open = 1;
+ return 0;
+ }
+
+From dcc3e425275a1c2e3e2a669b13374bb9b1a67e0d Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Sun, 17 Aug 2025 14:53:52 +0300
+Subject: [PATCH 06/12] ip/ffmpeg: flush swresample buffer when seeking
+
+---
+ ip/ffmpeg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index 42f630ee7..775e7de1d 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -444,7 +444,7 @@ static int ffmpeg_seek(struct input_plugin_data *ip_data, double offset)
+
+ priv->swr_frame->nb_samples = 0;
+ avcodec_flush_buffers(priv->codec_ctx);
+- /* also flush swresample buffers? */
++ swr_convert(priv->swr, NULL, 0, NULL, 0); /* flush swr buffer */
+ return 0;
+ }
+
+
+From 99a4e2f67857205e1e1cb4fb7a095819b298c0bc Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Sun, 17 Aug 2025 15:02:34 +0300
+Subject: [PATCH 07/12] ip/ffmpeg: remember swr_frame's capacity
+
+---
+ ip/ffmpeg.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index 775e7de1d..c659c1330 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -49,6 +49,7 @@ struct ffmpeg_private {
+
+ /* A buffer to hold swr_convert()-ed samples */
+ AVFrame *swr_frame;
++ int swr_frame_samples_cap;
+ int swr_frame_start;
+
+ /* Bitrate estimation */
+@@ -213,6 +214,7 @@ static int ffmpeg_init_swr_frame(struct ffmpeg_private *priv,
+ d_print("av_frame_get_buffer(): %s\n", ffmpeg_errmsg(res));
+ return -IP_ERROR_INTERNAL;
+ }
++ priv->swr_frame_samples_cap = frame->nb_samples;
+ frame->nb_samples = 0;
+
+ priv->swr_frame = frame;
+@@ -378,8 +380,7 @@ static int ffmpeg_convert_frame(struct ffmpeg_private *priv)
+ {
+ int res = swr_convert(priv->swr,
+ priv->swr_frame->extended_data,
+- /* TODO: proper buffer capacity */
+- priv->frame->nb_samples,
++ priv->swr_frame_samples_cap,
+ (const uint8_t **)priv->frame->extended_data,
+ priv->frame->nb_samples);
+ if (res >= 0) {
+
+From fabf6bcf4fd3f24dafedeefd7e9daf4215c7066a Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Sun, 17 Aug 2025 15:54:19 +0300
+Subject: [PATCH 08/12] ip/ffmpeg: reset swr_frame_start when seeking
+
+---
+ ip/ffmpeg.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index c659c1330..71cc51116 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -444,6 +444,7 @@ static int ffmpeg_seek(struct input_plugin_data *ip_data, double offset)
+ return -IP_ERROR_FUNCTION_NOT_SUPPORTED;
+
+ priv->swr_frame->nb_samples = 0;
++ priv->swr_frame_start = 0;
+ avcodec_flush_buffers(priv->codec_ctx);
+ swr_convert(priv->swr, NULL, 0, NULL, 0); /* flush swr buffer */
+ return 0;
+
+From 265b893d78891362386fd406af308c5be73c36c2 Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Sun, 17 Aug 2025 17:27:20 +0300
+Subject: [PATCH 09/12] ip/ffmpeg: better frame skipping logic
+
+---
+ ip/ffmpeg.c | 82 ++++++++++++++++++++++++++---------------------------
+ 1 file changed, 41 insertions(+), 41 deletions(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index 71cc51116..af6ecfb8d 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -44,8 +44,8 @@ struct ffmpeg_private {
+
+ AVPacket *pkt;
+ AVFrame *frame;
+- int64_t seek_ts;
+- int64_t prev_frame_end;
++ double seek_ts;
++ int64_t skip_samples;
+
+ /* A buffer to hold swr_convert()-ed samples */
+ AVFrame *swr_frame;
+@@ -249,7 +249,6 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ priv.pkt = av_packet_alloc();
+ priv.frame = av_frame_alloc();
+ priv.seek_ts = -1;
+- priv.prev_frame_end = -1;
+
+ priv.swr = swr_alloc();
+ ffmpeg_set_sf_and_swr_opts(priv.swr, priv.codec_ctx,
+@@ -283,37 +282,37 @@ static int ffmpeg_close(struct input_plugin_data *ip_data)
+ return 0;
+ }
+
+-/*
+- * return:
+- * 0 - retry
+- * >0 - ok
+- */
+-static int ffmpeg_seek_into_frame(struct ffmpeg_private *priv, int64_t frame_ts)
++static int64_t ffmpeg_calc_skip_samples(struct ffmpeg_private *priv)
+ {
+- if (frame_ts >= 0) {
+- AVStream *s = priv->format_ctx->streams[priv->stream_index];
+- frame_ts = av_rescale_q(frame_ts, s->time_base, AV_TIME_BASE_Q);
++ int64_t ts;
++ if (priv->frame->pts >= 0) {
++ ts = priv->frame->pts;
++ } else if (priv->frame->pkt_dts >= 0) {
++ ts = priv->frame->pkt_dts;
+ } else {
+- frame_ts = priv->prev_frame_end;
++ d_print("AVFrame.pts and AVFrame.pkt_dts are unset\n");
++ return -1;
+ }
+
+- if (frame_ts >= priv->seek_ts)
+- return 1;
+-
+- int64_t frame_dur = av_rescale(priv->frame->nb_samples,
+- AV_TIME_BASE, priv->frame->sample_rate);
+- int64_t frame_end = frame_ts + frame_dur;
+- priv->prev_frame_end = frame_end;
++ AVStream *s = priv->format_ctx->streams[priv->stream_index];
++ double frame_ts = ts * av_q2d(s->time_base);
+
+- d_print("seek_ts: %ld, frame_ts: %ld, frame_end: %ld\n",
+- priv->seek_ts, frame_ts, frame_end);
++ d_print("seek_ts: %.6fs, frame_ts: %.6fs\n", priv->seek_ts, frame_ts);
+
+- if (frame_end <= priv->seek_ts)
++ if (frame_ts >= priv->seek_ts)
+ return 0;
++ return (priv->seek_ts - frame_ts) * priv->frame->sample_rate;
++}
+
+- int64_t skip_samples = av_rescale(priv->seek_ts - frame_ts,
+- priv->frame->sample_rate, AV_TIME_BASE);
+- priv->frame->nb_samples -= skip_samples;
++static void ffmpeg_skip_frame_part(struct ffmpeg_private *priv)
++{
++ if (priv->skip_samples >= priv->frame->nb_samples) {
++ d_print("skipping frame: %d samples\n",
++ priv->frame->nb_samples);
++ priv->skip_samples -= priv->frame->nb_samples;
++ priv->frame->nb_samples = 0;
++ return;
++ }
+
+ int bps = av_get_bytes_per_sample(priv->frame->format);
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59, 24, 100)
+@@ -322,15 +321,17 @@ static int ffmpeg_seek_into_frame(struct ffmpeg_private *priv, int64_t frame_ts)
+ int channels = priv->codec_ctx->channels;
+ #endif
+
++ priv->frame->nb_samples -= priv->skip_samples;
++
+ /* Just modify frame's data pointer because it's throw-away */
+ if (av_sample_fmt_is_planar(priv->frame->format)) {
+ for (int i = 0; i < channels; i++)
+- priv->frame->extended_data[i] += skip_samples * bps;
++ priv->frame->extended_data[i] += priv->skip_samples * bps;
+ } else {
+- priv->frame->extended_data[0] += skip_samples * channels * bps;
++ priv->frame->extended_data[0] += priv->skip_samples * channels * bps;
+ }
+- d_print("skipping %ld samples\n", skip_samples);
+- return 1;
++ d_print("skipping %ld samples\n", priv->skip_samples);
++ priv->skip_samples = 0;
+ }
+
+ /*
+@@ -361,17 +362,16 @@ static int ffmpeg_get_frame(struct ffmpeg_private *priv)
+ if (res < 0)
+ return res;
+
+- int64_t frame_ts = -1;
+- if (priv->frame->pts >= 0)
+- frame_ts = priv->frame->pts;
+- else if (priv->frame->pkt_dts >= 0)
+- frame_ts = priv->frame->pkt_dts;
++ if (priv->seek_ts > 0) {
++ priv->skip_samples = ffmpeg_calc_skip_samples(priv);
++ if (priv->skip_samples >= 0)
++ priv->seek_ts = -1;
++ }
+
+- if (priv->seek_ts > 0 && (frame_ts >= 0 || priv->prev_frame_end >= 0)) {
+- if (ffmpeg_seek_into_frame(priv, frame_ts) == 0)
++ if (priv->skip_samples > 0) {
++ ffmpeg_skip_frame_part(priv);
++ if (priv->frame->nb_samples == 0)
+ return 0;
+- priv->seek_ts = -1;
+- priv->prev_frame_end = -1;
+ }
+ return 1;
+ }
+@@ -434,8 +434,8 @@ static int ffmpeg_seek(struct input_plugin_data *ip_data, double offset)
+ struct ffmpeg_private *priv = ip_data->private;
+ AVStream *st = priv->format_ctx->streams[priv->stream_index];
+
+- priv->seek_ts = offset * AV_TIME_BASE;
+- priv->prev_frame_end = -1;
++ priv->seek_ts = offset;
++ priv->skip_samples = 0;
+ int64_t ts = av_rescale(offset, st->time_base.den, st->time_base.num);
+
+ int ret = avformat_seek_file(priv->format_ctx,
+
+From d2c07d224c879de9a707d999423b8f814a23f765 Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Sun, 17 Aug 2025 19:22:50 +0300
+Subject: [PATCH 10/12] ip/ffmpeg: don't process empty frames
+
+---
+ ip/ffmpeg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index af6ecfb8d..dd9061aba 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -356,7 +356,7 @@ static int ffmpeg_get_frame(struct ffmpeg_private *priv)
+ priv->curr_duration += priv->pkt->duration;
+
+ res = avcodec_send_packet(priv->codec_ctx, priv->pkt);
+- if (res == AVERROR(EAGAIN))
++ if (res == 0 || res == AVERROR(EAGAIN))
+ return 0;
+ }
+ if (res < 0)
+
+From 2ded02613f79bc228d0bb1569e52dba14c358f23 Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Mon, 18 Aug 2025 03:32:22 +0300
+Subject: [PATCH 11/12] ip/ffmpeg: improve readability
+
+Previously ffmpeg_read()'s while loop was kinda leaking into
+ffmpeg_get_frame(), now it doesn't.
+---
+ ip/ffmpeg.c | 36 ++++++++++++++++++++----------------
+ 1 file changed, 20 insertions(+), 16 deletions(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index dd9061aba..fc748951f 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -337,30 +337,32 @@ static void ffmpeg_skip_frame_part(struct ffmpeg_private *priv)
+ /*
+ * return:
+ * <0 - error
+- * 0 - retry
++ * 0 - eof
+ * >0 - ok
+ */
+ static int ffmpeg_get_frame(struct ffmpeg_private *priv)
+ {
+- int res = avcodec_receive_frame(priv->codec_ctx, priv->frame);
++ int res;
++retry:
++ res = avcodec_receive_frame(priv->codec_ctx, priv->frame);
+ if (res == AVERROR(EAGAIN)) {
+ av_packet_unref(priv->pkt);
+ res = av_read_frame(priv->format_ctx, priv->pkt);
+ if (res < 0)
+- return res;
++ goto err;
+
+ if (priv->pkt->stream_index != priv->stream_index)
+- return 0;
++ goto retry;
+
+ priv->curr_size += priv->pkt->size;
+ priv->curr_duration += priv->pkt->duration;
+
+ res = avcodec_send_packet(priv->codec_ctx, priv->pkt);
+ if (res == 0 || res == AVERROR(EAGAIN))
+- return 0;
++ goto retry;
+ }
+ if (res < 0)
+- return res;
++ goto err;
+
+ if (priv->seek_ts > 0) {
+ priv->skip_samples = ffmpeg_calc_skip_samples(priv);
+@@ -371,9 +373,14 @@ static int ffmpeg_get_frame(struct ffmpeg_private *priv)
+ if (priv->skip_samples > 0) {
+ ffmpeg_skip_frame_part(priv);
+ if (priv->frame->nb_samples == 0)
+- return 0;
++ goto retry;
+ }
+ return 1;
++err:
++ if (res == AVERROR_EOF)
++ return 0;
++ d_print("%s\n", ffmpeg_errmsg(res));
++ return -IP_ERROR_INTERNAL;
+ }
+
+ static int ffmpeg_convert_frame(struct ffmpeg_private *priv)
+@@ -386,8 +393,10 @@ static int ffmpeg_convert_frame(struct ffmpeg_private *priv)
+ if (res >= 0) {
+ priv->swr_frame->nb_samples = res;
+ priv->swr_frame_start = 0;
++ return res;
+ }
+- return res;
++ d_print("%s\n", ffmpeg_errmsg(res));
++ return -IP_ERROR_INTERNAL;
+ }
+
+ static int ffmpeg_read(struct input_plugin_data *ip_data, char *buffer, int count)
+@@ -401,16 +410,14 @@ static int ffmpeg_read(struct input_plugin_data *ip_data, char *buffer, int coun
+ while (count) {
+ if (priv->swr_frame->nb_samples == 0) {
+ res = ffmpeg_get_frame(priv);
+- if (res == AVERROR_EOF)
++ if (res == 0)
+ break;
+- else if (res == 0)
+- continue;
+ else if (res < 0)
+- goto err;
++ return res;
+
+ res = ffmpeg_convert_frame(priv);
+ if (res < 0)
+- goto err;
++ return res;
+ }
+
+ int copy_frames = min_i(count, priv->swr_frame->nb_samples);
+@@ -424,9 +431,6 @@ static int ffmpeg_read(struct input_plugin_data *ip_data, char *buffer, int coun
+ written += copy_bytes;
+ }
+ return written;
+-err:
+- d_print("%s\n", ffmpeg_errmsg(res));
+- return -IP_ERROR_INTERNAL;
+ }
+
+ static int ffmpeg_seek(struct input_plugin_data *ip_data, double offset)
+
+From c541b39903aa57612501ee65770ef30d0954d22e Mon Sep 17 00:00:00 2001
+From: ihy123 <aladinandreyy@gmail.com>
+Date: Sun, 24 Aug 2025 19:16:57 +0300
+Subject: [PATCH 12/12] ip/ffmpeg: fix building for ffmpeg 8.0
+
+avcodec_close() can be safely removed because avcodec_free_context()
+is its replacement since 2016. See ffmpeg commit 2ef6dab0a79
+
+Builds with v3.3.9 v4.0.6 v6.1.3 v7.1.1 v8.0
+---
+ ip/ffmpeg.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git ip/ffmpeg.c ip/ffmpeg.c
+index fc748951f..2cb07671c 100644
+--- ip/ffmpeg.c
++++ ip/ffmpeg.c
+@@ -223,7 +223,6 @@ static int ffmpeg_init_swr_frame(struct ffmpeg_private *priv,
+
+ static void ffmpeg_free(struct ffmpeg_private *priv)
+ {
+- avcodec_close(priv->codec_ctx);
+ avcodec_free_context(&priv->codec_ctx);
+ avformat_close_input(&priv->format_ctx);
+
diff --git a/audio/cyanrip/Makefile b/audio/cyanrip/Makefile
index 8455bca2b960..6e1e8278ea49 100644
--- a/audio/cyanrip/Makefile
+++ b/audio/cyanrip/Makefile
@@ -1,11 +1,17 @@
PORTNAME= cyanrip
DISTVERSIONPREFIX= v
DISTVERSION= 0.9.3.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= audio
MASTER_SITES= https://github.com/cyanreg/${PORTNAME}/releases/download/${DISTVERSIONFULL}/
DISTNAME= ${PORTNAME}-src-${DISTVERSIONFULL}
+PATCH_SITES= https://github.com/cyanreg/cyanrip/commit/
+PATCHFILES= 70c0a4c04d5ce74135719cf8afc1309b29679395.patch:-p1 \
+ 8cae5f548a606bfd723fbcfccabcd5da189063cb.patch:-p1 \
+ 462a71c75b4d326c0ce787cd13f7048e7f5da630.patch:-p1 \
+ 7f74e52f278fd9d8474b1afb5979b9ecd525285e.patch:-p1
+
MAINTAINER= diizzy@FreeBSD.org
COMMENT= Audio CD ripper with command-line interface and focus on accuracy
WWW= https://github.com/cyanreg/cyanrip
diff --git a/audio/cyanrip/distinfo b/audio/cyanrip/distinfo
index aa98146fb3b7..4702781816f4 100644
--- a/audio/cyanrip/distinfo
+++ b/audio/cyanrip/distinfo
@@ -1,3 +1,11 @@
-TIMESTAMP = 1717656733
+TIMESTAMP = 1755935295
SHA256 (cyanrip-src-v0.9.3.1.tar.gz) = fa7bc916ff91a17992b1695fa40dcb17eeeb840cd65c0cf26c1f1ddbc11f42eb
SIZE (cyanrip-src-v0.9.3.1.tar.gz) = 66339
+SHA256 (70c0a4c04d5ce74135719cf8afc1309b29679395.patch) = 427a068b6ff44f844eda78136a131259261ce23630b5bf770f7d08051339c729
+SIZE (70c0a4c04d5ce74135719cf8afc1309b29679395.patch) = 2072
+SHA256 (8cae5f548a606bfd723fbcfccabcd5da189063cb.patch) = e6045c6fd3d0b09cd26b21655276dfe81bf5ed4bff8ef965174f101fd25f2fc6
+SIZE (8cae5f548a606bfd723fbcfccabcd5da189063cb.patch) = 3486
+SHA256 (462a71c75b4d326c0ce787cd13f7048e7f5da630.patch) = ad973febf87284d24a4b3d51b4592be86384b7b79fc090c34b0827a126daf000
+SIZE (462a71c75b4d326c0ce787cd13f7048e7f5da630.patch) = 3206
+SHA256 (7f74e52f278fd9d8474b1afb5979b9ecd525285e.patch) = 77cae197fa1a3e67485d82961113d36773d619b7a7a69a95afbdb5fed6f3202b
+SIZE (7f74e52f278fd9d8474b1afb5979b9ecd525285e.patch) = 3792
diff --git a/audio/gonic/Makefile b/audio/gonic/Makefile
index 1edb42c2c597..3ac72e39f862 100644
--- a/audio/gonic/Makefile
+++ b/audio/gonic/Makefile
@@ -1,7 +1,6 @@
PORTNAME= gonic
DISTVERSIONPREFIX= v
-DISTVERSION= 0.16.4
-PORTREVISION= 8
+DISTVERSION= 0.17.0
CATEGORIES= audio net
MAINTAINER= tagattie@FreeBSD.org
@@ -15,7 +14,7 @@ LIB_DEPENDS= libtag.so:audio/taglib
RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \
mpv:multimedia/mpv
-USES= go:modules,1.21 pkgconfig sqlite
+USES= go:modules pkgconfig sqlite
USE_RC_SUBR= ${PORTNAME}
@@ -25,6 +24,13 @@ GO_TARGET= ./cmd/gonic
USERS= ${PORTNAME}
GROUPS= ${PORTNAME}
-PLIST_FILES= bin/gonic
+PLIST_FILES= bin/${PORTNAME}
+PORTDOCS= CHANGELOG.md README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/audio/gonic/distinfo b/audio/gonic/distinfo
index 266bff74b2d0..a8be12c98e82 100644
--- a/audio/gonic/distinfo
+++ b/audio/gonic/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1711442810
-SHA256 (go/audio_gonic/gonic-v0.16.4/v0.16.4.mod) = c0fbac2ec2b3a98b3db8053ecd11d26de347983f019b15b309f02a45e4a1b74d
-SIZE (go/audio_gonic/gonic-v0.16.4/v0.16.4.mod) = 2903
-SHA256 (go/audio_gonic/gonic-v0.16.4/v0.16.4.zip) = 785878ee33a80190f422f1ba35897b0ba34093781003b5c957c5d58a54ef075b
-SIZE (go/audio_gonic/gonic-v0.16.4/v0.16.4.zip) = 2064840
+TIMESTAMP = 1756111748
+SHA256 (go/audio_gonic/gonic-v0.17.0/v0.17.0.mod) = 9b2765d13fd49f5b4c8c21f08b49314604e6d82adeceb48e55f9b004ed0c2fc9
+SIZE (go/audio_gonic/gonic-v0.17.0/v0.17.0.mod) = 3054
+SHA256 (go/audio_gonic/gonic-v0.17.0/v0.17.0.zip) = 0ac23d66dc16648b36b9f0651459ff0d1500c675e7ebc3e0a828ad6bfe8ff3c7
+SIZE (go/audio_gonic/gonic-v0.17.0/v0.17.0.zip) = 2071276
diff --git a/audio/headsetcontrol/Makefile b/audio/headsetcontrol/Makefile
index b8aaff70326b..8e1bc5f3a090 100644
--- a/audio/headsetcontrol/Makefile
+++ b/audio/headsetcontrol/Makefile
@@ -1,5 +1,5 @@
PORTNAME= headsetcontrol
-DISTVERSION= 3.0.0
+DISTVERSION= 3.1.0
CATEGORIES= audio
MAINTAINER= Alexander88207@protonmail.com
@@ -18,6 +18,6 @@ USE_GITHUB= yes
GH_ACCOUNT= Sapd
GH_PROJECT= HeadsetControl
-PLIST_FILES= ${LOCALBASE}/bin/headsetcontrol
+PLIST_FILES= bin/headsetcontrol
.include <bsd.port.mk>
diff --git a/audio/headsetcontrol/distinfo b/audio/headsetcontrol/distinfo
index 34fa4d14ab90..48fabcd4949d 100644
--- a/audio/headsetcontrol/distinfo
+++ b/audio/headsetcontrol/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1714237536
-SHA256 (Sapd-HeadsetControl-3.0.0_GH0.tar.gz) = 63bfd147c82277bfcf2314ad2b01ca4e4bf06e1d5516e01ee39232661f4d5144
-SIZE (Sapd-HeadsetControl-3.0.0_GH0.tar.gz) = 64565
+TIMESTAMP = 1756041005
+SHA256 (Sapd-HeadsetControl-3.1.0_GH0.tar.gz) = caba01afa69477f0a4fce1f8608a0c5e85e7032c350c1239bb4e1ecdfb171359
+SIZE (Sapd-HeadsetControl-3.1.0_GH0.tar.gz) = 76475
diff --git a/audio/mac/Makefile b/audio/mac/Makefile
index 2d9729dc35ba..50138efd93c6 100644
--- a/audio/mac/Makefile
+++ b/audio/mac/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mac
-PORTVERSION= 11.37
+PORTVERSION= 11.38
CATEGORIES= audio
MASTER_SITES= https://www.monkeysaudio.com/files/
DISTNAME= ${PORTNAME:tu}_${PORTVERSION:S|.||}_SDK
diff --git a/audio/mac/distinfo b/audio/mac/distinfo
index 80410af68f23..f579cb43ad28 100644
--- a/audio/mac/distinfo
+++ b/audio/mac/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755237529
-SHA256 (MAC_1137_SDK.zip) = d578e193ca882474dba256d5d1f44d463a9f5cfa6a2191b741babbb1e8b026a2
-SIZE (MAC_1137_SDK.zip) = 1710217
+TIMESTAMP = 1756358910
+SHA256 (MAC_1138_SDK.zip) = 50fb286ef83fe739427610b7658d5d3422d0b5b636e1aa52ae14277c635ffcad
+SIZE (MAC_1138_SDK.zip) = 1710212
diff --git a/audio/mac/files/patch-Source_Console_Console.cpp b/audio/mac/files/patch-Source_Console_Console.cpp
index eb2f53fcb881..0033ecb30d5a 100644
--- a/audio/mac/files/patch-Source_Console_Console.cpp
+++ b/audio/mac/files/patch-Source_Console_Console.cpp
@@ -2,19 +2,6 @@ Unixify built-in help.
--- Source/Console/Console.cpp.orig 2025-08-15 06:11:17 UTC
+++ Source/Console/Console.cpp
-@@ -61,10 +61,10 @@ class CArguments (public)
- #ifdef _UNICODE
- rspString.Assign(m_argv[nArgument], true, false);
- #else
-- rspString.Assign(CAPECharacterHelper::GetUTF16FromANSI(m_argv[nArgument]), true);
-+ rspString.Assign(CAPECharacterHelper::GetUTFNFromANSI(m_argv[nArgument]), true);
- #endif
- #else
-- rspString.Assign(CAPECharacterHelper::GetUTF16FromUTF8((str_utf8 *) m_argv[nArgument]), true);
-+ rspString.Assign(CAPECharacterHelper::GetUTFNFromUTF8((str_utf8 *) m_argv[nArgument]), true);
- #endif
- }
- else
@@ -135,7 +135,7 @@ static void DisplayProperUsage(FILE * pFile)
**************************************************************************************************/
static void DisplayProperUsage(FILE * pFile)
diff --git a/audio/minimp3/Makefile b/audio/minimp3/Makefile
index 7ba47f6ee289..b13158ef1045 100644
--- a/audio/minimp3/Makefile
+++ b/audio/minimp3/Makefile
@@ -1,7 +1,13 @@
PORTNAME= minimp3
-PORTVERSION= g20211130
+DISTVERSION= g20211130
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= audio
+# Use direct link to 126KB files instead of 19+MB tarball:
+# https://github.com/${GH_ACCOUNT}/${PORTNAME}/tar.gz/${GH_TAGNAME}?dummy=/${GH_ACCOUNT}-${PORTNAME}-${DISTVERSION}-${GH_TAGNAME}_GH0.tar.gz
+MASTER_SITES= https://raw.githubusercontent.com/${GH_ACCOUNT}/${PORTNAME}/${GH_TAGNAME}/
+DISTFILES= LICENSE minimp3.h minimp3_ex.h
+DIST_SUBDIR= ${PORTNAME}-${DISTVERSION}
MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ single-header, minimalistic library for decoding MP3
@@ -10,16 +16,22 @@ WWW= https://github.com/lieff/minimp3
LICENSE= CC0-1.0
LICENSE_FILE= ${WRKSRC}/LICENSE
-USE_GITHUB= yes
+USE_GITHUB= nodefault
GH_ACCOUNT= lieff
GH_TAGNAME= afb604c06bc8beb145fecd42c0ceb5bda8795144
-NO_BUILD= yes
+EXTRACT_CMD= ${CP}
+EXTRACT_BEFORE_ARGS= #
+EXTRACT_AFTER_ARGS= ${WRKSRC}
+
NO_ARCH= yes
+NO_BUILD= yes
+NO_WRKSUBDIR= yes
-PLIST_FILES= include/minimp3.h
+PLIST_FILES= ${DISTFILES:M*.h:C|^|include/|}
do-install:
- ${INSTALL_DATA} ${WRKSRC}/minimp3.h ${STAGEDIR}${PREFIX}/include
+ ${INSTALL_DATA} ${DISTFILES:M*.h:C|^|${WRKSRC}/|} \
+ ${STAGEDIR}${PREFIX}/include
.include <bsd.port.mk>
diff --git a/audio/minimp3/distinfo b/audio/minimp3/distinfo
index 54ff4607f8f2..131e3139c940 100644
--- a/audio/minimp3/distinfo
+++ b/audio/minimp3/distinfo
@@ -1,3 +1,7 @@
-TIMESTAMP = 1653982911
-SHA256 (lieff-minimp3-g20211130-afb604c06bc8beb145fecd42c0ceb5bda8795144_GH0.tar.gz) = 21672c32aaac29cf4b7e6f8e0154767080ae87faa79c682498453e5a9bc5e0d3
-SIZE (lieff-minimp3-g20211130-afb604c06bc8beb145fecd42c0ceb5bda8795144_GH0.tar.gz) = 19743923
+TIMESTAMP = 1755080808
+SHA256 (minimp3-g20211130/LICENSE) = 6a1ee543e5282cd9061881edf462e6fdab181f328da71fc2c9a6950a80e94d01
+SIZE (minimp3-g20211130/LICENSE) = 6556
+SHA256 (minimp3-g20211130/minimp3.h) = 5fb296a790734772b65a5514438cc06d14f24e539c13475ff2a7f737681c82c0
+SIZE (minimp3-g20211130/minimp3.h) = 76802
+SHA256 (minimp3-g20211130/minimp3_ex.h) = bb001301b8666ea7a45ae057b62b17074483213b0d410555d97cc4d076e110df
+SIZE (minimp3-g20211130/minimp3_ex.h) = 49511
diff --git a/audio/opustags/Makefile b/audio/opustags/Makefile
index ff6c0d4f63d1..c685a0af6bf4 100644
--- a/audio/opustags/Makefile
+++ b/audio/opustags/Makefile
@@ -1,5 +1,6 @@
PORTNAME= opustags
-DISTVERSION= 1.10.1
+DISTVERSION= 1.10.1-13
+DISTVERSIONSUFFIX= -g37deeb3
CATEGORIES= audio
MAINTAINER= yuri@FreeBSD.org
diff --git a/audio/opustags/distinfo b/audio/opustags/distinfo
index 93f1dc45553d..bcacf1327bdd 100644
--- a/audio/opustags/distinfo
+++ b/audio/opustags/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1716103247
-SHA256 (fmang-opustags-1.10.1_GH0.tar.gz) = 703096e9c41481e30ab90eefdd8fafc4c3a138998b3f8281aa4f023e7058bc86
-SIZE (fmang-opustags-1.10.1_GH0.tar.gz) = 41061
+TIMESTAMP = 1755938458
+SHA256 (fmang-opustags-1.10.1-13-g37deeb3_GH0.tar.gz) = eae0699a0baf6c86af09dae7f0c3741b287bf7371dc45c2527afe22688f38eea
+SIZE (fmang-opustags-1.10.1-13-g37deeb3_GH0.tar.gz) = 42449
diff --git a/audio/pt2-clone/Makefile b/audio/pt2-clone/Makefile
index 33a37e38c70f..2273ebea82b4 100644
--- a/audio/pt2-clone/Makefile
+++ b/audio/pt2-clone/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pt2-clone
-PORTVERSION= 1.75
+PORTVERSION= 1.76
DISTVERSIONPREFIX= v
CATEGORIES= audio
MASTER_SITES= LOCAL/ehaupt:extras
diff --git a/audio/pt2-clone/distinfo b/audio/pt2-clone/distinfo
index f62bc97696e9..15110eb54b7e 100644
--- a/audio/pt2-clone/distinfo
+++ b/audio/pt2-clone/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1747987384
+TIMESTAMP = 1756105975
SHA256 (pt2-clone-extras-2.tar.gz) = ddbac01034022f27860d85f4627b07223f9fd8f02a4ddefdc36467f2e3cacd0b
SIZE (pt2-clone-extras-2.tar.gz) = 742
-SHA256 (8bitbubsy-pt2-clone-v1.75_GH0.tar.gz) = 5876673ec09bc99661a623d2c995615f6f114d3dd4e69932dc8a175927473df2
-SIZE (8bitbubsy-pt2-clone-v1.75_GH0.tar.gz) = 9160021
+SHA256 (8bitbubsy-pt2-clone-v1.76_GH0.tar.gz) = 515eddc686ff0c44f425cd03f5440437f07bec5c79ef654a6ebb750238648373
+SIZE (8bitbubsy-pt2-clone-v1.76_GH0.tar.gz) = 9162353
diff --git a/audio/py-torchaudio/Makefile b/audio/py-torchaudio/Makefile
index f10cff716d80..aabf03bbaaaf 100644
--- a/audio/py-torchaudio/Makefile
+++ b/audio/py-torchaudio/Makefile
@@ -35,7 +35,7 @@ USE_GITHUB= yes
GH_ACCOUNT= pytorch
GH_PROJECT= audio
-# workaround for missing libsox.so
+# workaround for missing libsox.so, see https://github.com/pytorch/audio/issues/4062
PLIST_FILES= lib/python${_PYTHON_VERSION}/site-packages/torchaudio/lib/libsox.so
post-patch:
@@ -49,7 +49,7 @@ post-install:
torchaudio/lib/_torchaudio_sox.so \
torchaudio/lib/libtorchaudio.so \
torchaudio/lib/libtorchaudio_sox.so
- # workaround for missing libsox.so
+ # workaround for missing libsox.so, see https://github.com/pytorch/audio/issues/4062
@${CP} \
${WRKSRC}/build/*/third_party/sox/libsox.so \
${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/torchaudio/lib
diff --git a/audio/sayonara/Makefile b/audio/sayonara/Makefile
index 4b32eb7b16b3..3176b0944625 100644
--- a/audio/sayonara/Makefile
+++ b/audio/sayonara/Makefile
@@ -1,7 +1,6 @@
PORTNAME= sayonara
-DISTVERSION= 1.10.0
+DISTVERSION= 1.11.0
DISTVERSIONSUFFIX= -stable1
-PORTREVISION= 2
CATEGORIES= audio
MAINTAINER= adridg@FreeBSD.org
diff --git a/audio/sayonara/distinfo b/audio/sayonara/distinfo
index 5ae6b2a67185..dac485140202 100644
--- a/audio/sayonara/distinfo
+++ b/audio/sayonara/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1717362640
-SHA256 (sayonara-player-1.10.0-stable1.tar.bz2) = f4635796da02bfc67232459475806b0d52dc991b827fb11982a708504a500a6c
-SIZE (sayonara-player-1.10.0-stable1.tar.bz2) = 1740393
+TIMESTAMP = 1756203949
+SHA256 (sayonara-player-1.11.0-stable1.tar.bz2) = d554d01155181527d155fb3c625ef9560bb8a466aa4d55481dbf587a84daffaf
+SIZE (sayonara-player-1.11.0-stable1.tar.bz2) = 1890093
diff --git a/audio/sayonara/files/patch-cpp-compile b/audio/sayonara/files/patch-cpp-compile
new file mode 100644
index 000000000000..ae8975b87232
--- /dev/null
+++ b/audio/sayonara/files/patch-cpp-compile
@@ -0,0 +1,109 @@
+diff --git src/Components/Covers/Fetcher/Audioscrobbler.cpp src/Components/Covers/Fetcher/Audioscrobbler.cpp
+index 2490f8f4..7916ed16 100644
+--- src/Components/Covers/Fetcher/Audioscrobbler.cpp
++++ src/Components/Covers/Fetcher/Audioscrobbler.cpp
+@@ -30,6 +30,8 @@
+ #include <QStringList>
+ #include <QUrl>
+
++#include <array>
++
+ using Cover::Fetcher::Audioscrobbler;
+
+ namespace
+@@ -37,7 +39,7 @@ namespace
+ QStringList mapToStringList(const QMap<QString, QString>& map)
+ {
+ auto result = QStringList {};
+- const auto sizes = std::array {"mega", "extralarge", "large", "medium", "small"};
++ const auto sizes = std::array<const char *, 5> {"mega", "extralarge", "large", "medium", "small"};
+ for(const auto size: sizes)
+ {
+ result.push_back(map[size]);
+diff --git src/Components/Engine/PipelineExtensions/Changeable.cpp src/Components/Engine/PipelineExtensions/Changeable.cpp
+index 654a3c3c..2119e49d 100644
+--- src/Components/Engine/PipelineExtensions/Changeable.cpp
++++ src/Components/Engine/PipelineExtensions/Changeable.cpp
+@@ -306,6 +306,12 @@ namespace
+ }
+ }
+
++static Logger& operator<<(Logger& lhs, const EU::GStringAutoFree& s)
++{
++ const auto * p = s.data();
++ return lhs << (p ? p : "null");
++}
++
+ namespace PipelineExtensions::Changeable
+ {
+ // NOLINTNEXTLINE(*-make-member-function-const)
+@@ -360,11 +366,11 @@ namespace PipelineExtensions::Changeable
+ auto parent = EU::AutoUnref(gst_element_get_parent(elementA));
+ auto* parentElement = GST_ELEMENT(*parent);
+ const auto name = EU::GStringAutoFree(gst_element_get_name(element));
+-
+- spLog(Log::Debug, __FUNCTION__) << "Remove " << name.data() << " from pipeline";
++
++ spLog(Log::Debug, __FUNCTION__) << "Remove " << name << " from pipeline";
+ if(!EU::hasElement(GST_BIN(parentElement), element))
+ {
+- spLog(Log::Debug, __FUNCTION__) << "Element " << name.data() << " not in pipeline";
++ spLog(Log::Debug, __FUNCTION__) << "Element " << name << " not in pipeline";
+ return true;
+ }
+
+@@ -386,7 +392,7 @@ namespace PipelineExtensions::Changeable
+
+ if(!success)
+ {
+- spLog(Log::Debug, __FUNCTION__) << "Could not remove " << name.data();
++ spLog(Log::Debug, __FUNCTION__) << "Could not remove " << name;
+ }
+
+ return success;
+@@ -428,4 +434,4 @@ namespace PipelineExtensions::Changeable
+ return success;
+ }
+ }
+-#pragma clang diagnostic pop
+\ No newline at end of file
++#pragma clang diagnostic pop
+diff --git src/Components/Lyrics/LyricWebpageParser.cpp src/Components/Lyrics/LyricWebpageParser.cpp
+index b5297b21..53b3b2dc 100644
+--- src/Components/Lyrics/LyricWebpageParser.cpp
++++ src/Components/Lyrics/LyricWebpageParser.cpp
+@@ -27,6 +27,8 @@
+ #include <QTextBlock>
+ #include <QTextDocument>
+
++#include <array>
++
+ using namespace Lyrics;
+
+ namespace
+diff --git src/Gui/InfoDialog/GUI_InfoDialog.cpp src/Gui/InfoDialog/GUI_InfoDialog.cpp
+index 1752180a..709b8690 100644
+--- src/Gui/InfoDialog/GUI_InfoDialog.cpp
++++ src/Gui/InfoDialog/GUI_InfoDialog.cpp
+@@ -47,6 +47,8 @@
+ #include <QTabBar>
+ #include <QTableWidgetItem>
+
++#include <unordered_map>
++
+ namespace
+ {
+ enum StackedWidgetTab
+diff --git src/Gui/Plugins/Engine/GUI_LevelPainter.cpp src/Gui/Plugins/Engine/GUI_LevelPainter.cpp
+index 455051bb..98b3ee63 100644
+--- src/Gui/Plugins/Engine/GUI_LevelPainter.cpp
++++ src/Gui/Plugins/Engine/GUI_LevelPainter.cpp
+@@ -185,7 +185,7 @@ void GUI_LevelPainter::paint()
+
+ else
+ {
+- m->steps[c][r] = std::max(m->steps[c][r] - 1, 0);
++ m->steps[c][r] = std::max(int(m->steps[c][r]) - 1, 0);
+ }
+
+ if(m->steps[c][r] == 0)
diff --git a/audio/sayonara/files/patch-python-compatible b/audio/sayonara/files/patch-python-compatible
new file mode 100644
index 000000000000..9b48666a8e8b
--- /dev/null
+++ b/audio/sayonara/files/patch-python-compatible
@@ -0,0 +1,74 @@
+diff --git src/DBus/sayonara-ctl src/DBus/sayonara-ctl
+index 2fe80d48..3a5660a8 100755
+--- src/DBus/sayonara-ctl
++++ src/DBus/sayonara-ctl
+@@ -4,11 +4,20 @@
+ import sys
+ import argparse
+
++# Either pydbus or dbus modules will do, and wrap their API
++# to get a bus-object with dbus_get_object()
+ try:
+ from pydbus import SessionBus
++ def dbus_get_object(bus, name, path):
++ return bus.get(name, path)
+ except ImportError as e:
+- print("Cannot find pydbus module. Please install first")
+- sys.exit(1)
++ try:
++ from dbus import SessionBus
++ def dbus_get_object(bus, name, path):
++ return bus.get_object(name, path)
++ except ImportError as e:
++ print("Cannot find pydbus or dbus module. Please install first")
++ sys.exit(1)
+
+ def sgn(num):
+ if num > 0:
+@@ -38,7 +47,8 @@ def main():
+ bus = SessionBus()
+ try:
+ global gSayonaraInstance
+- gSayonaraInstance = bus.get(
++ gSayonaraInstance = dbus_get_object(
++ bus,
+ "org.mpris.MediaPlayer2.sayonara", # Bus name
+ "/org/mpris/MediaPlayer2" # Object path
+ )
+diff --git src/DBus/sayonara-query src/DBus/sayonara-query
+index f92a10e1..dcf7d735 100755
+--- src/DBus/sayonara-query
++++ src/DBus/sayonara-query
+@@ -3,11 +3,20 @@
+ import sys
+ import argparse
+
++# Either pydbus or dbus modules will do, and wrap their API
++# to get a bus-object with dbus_get_object()
+ try:
+ from pydbus import SessionBus
++ def dbus_get_object(bus, name, path):
++ return bus.get(name, path)
+ except ImportError as e:
+- print("Cannot find pydbus module. Please install first")
+- sys.exit(1)
++ try:
++ from dbus import SessionBus
++ def dbus_get_object(bus, name, path):
++ return bus.get_object(name, path)
++ except ImportError as e:
++ print("Cannot find pydbus or dbus module. Please install first")
++ sys.exit(1)
+
+ attributes = {
+ 'album': 'xesam:album',
+@@ -77,7 +86,8 @@ def main():
+ bus = SessionBus()
+
+ try:
+- sayonara = bus.get(
++ sayonara = dbus_get_object(
++ bus,
+ 'org.mpris.MediaPlayer2.sayonara', # Bus name
+ '/org/mpris/MediaPlayer2' # Object path
+ )
diff --git a/audio/sayonara/files/patch-src_Components_Covers_Fetcher_Audioscrobbler.cpp b/audio/sayonara/files/patch-src_Components_Covers_Fetcher_Audioscrobbler.cpp
deleted file mode 100644
index ab2ed553fb5d..000000000000
--- a/audio/sayonara/files/patch-src_Components_Covers_Fetcher_Audioscrobbler.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/Components/Covers/Fetcher/Audioscrobbler.cpp.orig 2024-06-04 15:10:26 UTC
-+++ src/Components/Covers/Fetcher/Audioscrobbler.cpp
-@@ -30,6 +30,8 @@
- #include <QStringList>
- #include <QUrl>
-
-+#include <array>
-+
- using Cover::Fetcher::Audioscrobbler;
-
- namespace
-@@ -37,7 +39,7 @@ namespace
- QStringList mapToStringList(const QMap<QString, QString>& map)
- {
- auto result = QStringList {};
-- const auto sizes = std::array {"mega", "extralarge", "large", "medium", "small"};
-+ const auto sizes = std::array<char *, 5> {"mega", "extralarge", "large", "medium", "small"};
- for(const auto size: sizes)
- {
- result.push_back(map[size]);
diff --git a/audio/sayonara/files/patch-src_Components_Lyrics_LyricWebpageParser.cpp b/audio/sayonara/files/patch-src_Components_Lyrics_LyricWebpageParser.cpp
deleted file mode 100644
index 10a01bc6aadd..000000000000
--- a/audio/sayonara/files/patch-src_Components_Lyrics_LyricWebpageParser.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Components/Lyrics/LyricWebpageParser.cpp.orig 2024-06-04 15:17:38 UTC
-+++ src/Components/Lyrics/LyricWebpageParser.cpp
-@@ -27,6 +27,8 @@
- #include <QTextBlock>
- #include <QTextDocument>
-
-+#include <array>
-+
- using namespace Lyrics;
-
- namespace
diff --git a/audio/sayonara/files/patch-src_Components_Playlist_PlaylistModifiers.cpp b/audio/sayonara/files/patch-src_Components_Playlist_PlaylistModifiers.cpp
deleted file mode 100644
index 10724e9ced95..000000000000
--- a/audio/sayonara/files/patch-src_Components_Playlist_PlaylistModifiers.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Components/Playlist/PlaylistModifiers.cpp.orig 2024-06-04 19:25:08 UTC
-+++ src/Components/Playlist/PlaylistModifiers.cpp
-@@ -179,7 +179,7 @@ namespace Playlist
- const auto& tracks = playlist.tracks();
- const auto durationMs =
- std::accumulate(tracks.begin(), tracks.end(), 0, [](const auto timeMs, const auto& track) {
-- return timeMs + std::max(0L, track.durationMs());
-+ return timeMs + std::max(MilliSeconds(0), track.durationMs());
- });
-
- return durationMs;
diff --git a/audio/sayonara/files/patch-src_DBus_sayonara-ctl b/audio/sayonara/files/patch-src_DBus_sayonara-ctl
deleted file mode 100644
index 9b7d1b1b198c..000000000000
--- a/audio/sayonara/files/patch-src_DBus_sayonara-ctl
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/DBus/sayonara-ctl.orig 2024-06-11 21:55:30 UTC
-+++ src/DBus/sayonara-ctl
-@@ -5,7 +5,7 @@ import sys
- import argparse
-
- try:
-- from pydbus import SessionBus
-+ from dbus import SessionBus
- except ImportError as e:
- print("Cannot find pydbus module. Please install first")
- sys.exit(1)
-@@ -38,7 +38,7 @@ def main():
- bus = SessionBus()
- try:
- global gSayonaraInstance
-- gSayonaraInstance = bus.get(
-+ gSayonaraInstance = bus.get_object(
- "org.mpris.MediaPlayer2.sayonara", # Bus name
- "/org/mpris/MediaPlayer2" # Object path
- )
diff --git a/audio/sayonara/files/patch-src_DBus_sayonara-query b/audio/sayonara/files/patch-src_DBus_sayonara-query
deleted file mode 100644
index 8f8baec0a714..000000000000
--- a/audio/sayonara/files/patch-src_DBus_sayonara-query
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/DBus/sayonara-query.orig 2024-06-11 21:55:30 UTC
-+++ src/DBus/sayonara-query
-@@ -4,7 +4,7 @@ import sys
- import argparse
-
- try:
-- from pydbus import SessionBus
-+ from dbus import SessionBus
- except ImportError as e:
- print("Cannot find pydbus module. Please install first")
- sys.exit(1)
-@@ -77,7 +77,7 @@ def main():
- bus = SessionBus()
-
- try:
-- sayonara = bus.get(
-+ sayonara = bus.get_object(
- 'org.mpris.MediaPlayer2.sayonara', # Bus name
- '/org/mpris/MediaPlayer2' # Object path
- )
diff --git a/audio/sayonara/files/patch-src_Gui_InfoDialog_GUI__InfoDialog.cpp b/audio/sayonara/files/patch-src_Gui_InfoDialog_GUI__InfoDialog.cpp
deleted file mode 100644
index ba71d01e6eeb..000000000000
--- a/audio/sayonara/files/patch-src_Gui_InfoDialog_GUI__InfoDialog.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Gui/InfoDialog/GUI_InfoDialog.cpp.orig 2024-05-13 19:42:03 UTC
-+++ src/Gui/InfoDialog/GUI_InfoDialog.cpp
-@@ -47,6 +47,8 @@
- #include <QTabBar>
- #include <QTableWidgetItem>
-
-+#include <unordered_map>
-+
- namespace
- {
- enum StackedWidgetTab
diff --git a/audio/sayonara/files/patch-src_Utils_Tagging_MP4_PopularimeterFrame.cpp b/audio/sayonara/files/patch-src_Utils_Tagging_MP4_PopularimeterFrame.cpp
deleted file mode 100644
index 3184afe67d16..000000000000
--- a/audio/sayonara/files/patch-src_Utils_Tagging_MP4_PopularimeterFrame.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/Utils/Tagging/MP4/PopularimeterFrame.cpp.orig 2024-01-27 22:05:38 UTC
-+++ src/Utils/Tagging/MP4/PopularimeterFrame.cpp
-@@ -22,13 +22,14 @@
- #include <QString>
- #include "Tagging/TaggingUtils.h"
-
-+#include <array>
- #include <optional>
-
- namespace
- {
- [[nodiscard]] int fourBytesToInteger(const int32_t fourBytes)
- {
-- const auto chars = std::array {
-+ const auto chars = std::array<int32_t,3> {
- (fourBytes >> 16) & 0xFF,
- (fourBytes >> 8) & 0xFF,
- (fourBytes & 0xFF)
diff --git a/audio/sonicradio/Makefile b/audio/sonicradio/Makefile
index def2e7dca4ab..4d0c2d0f78b7 100644
--- a/audio/sonicradio/Makefile
+++ b/audio/sonicradio/Makefile
@@ -1,7 +1,6 @@
PORTNAME= sonicradio
DISTVERSIONPREFIX= v
-DISTVERSION= 0.7.2
-PORTREVISION= 1
+DISTVERSION= 0.7.5
CATEGORIES= audio
MAINTAINER= nivit@FreeBSD.org
diff --git a/audio/sonicradio/distinfo b/audio/sonicradio/distinfo
index b2f779c2eeb5..603cdc40b49d 100644
--- a/audio/sonicradio/distinfo
+++ b/audio/sonicradio/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1753178186
-SHA256 (go/audio_sonicradio/sonicradio-v0.7.2/v0.7.2.mod) = e13d7c88d2c94f14eec5b9f603bc5ded2e13d9baab8eab44849479c58f0bdd6d
-SIZE (go/audio_sonicradio/sonicradio-v0.7.2/v0.7.2.mod) = 1197
-SHA256 (go/audio_sonicradio/sonicradio-v0.7.2/v0.7.2.zip) = a12258a0aaccbd04f7f8573c45cd0c7edac0e3658e5d53859752ebf698f43df1
-SIZE (go/audio_sonicradio/sonicradio-v0.7.2/v0.7.2.zip) = 1263955
+TIMESTAMP = 1756449200
+SHA256 (go/audio_sonicradio/sonicradio-v0.7.5/v0.7.5.mod) = e13d7c88d2c94f14eec5b9f603bc5ded2e13d9baab8eab44849479c58f0bdd6d
+SIZE (go/audio_sonicradio/sonicradio-v0.7.5/v0.7.5.mod) = 1197
+SHA256 (go/audio_sonicradio/sonicradio-v0.7.5/v0.7.5.zip) = 22471313420adc7e82930d18463373a6bded7bb29c3b667c79e8f6f8c04fc907
+SIZE (go/audio_sonicradio/sonicradio-v0.7.5/v0.7.5.zip) = 1264258
diff --git a/audio/spotify-tui/Makefile b/audio/spotify-tui/Makefile
index d63ae268cce1..9b4e76de7402 100644
--- a/audio/spotify-tui/Makefile
+++ b/audio/spotify-tui/Makefile
@@ -11,6 +11,9 @@ WWW= https://github.com/Rigellute/spotify-tui
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+DEPRECATED= dead upstream and doesn't build
+EXPIRATION_DATE=2025-09-30
+
USES= cargo localbase:ldflags python:build ssl xorg
USE_GITHUB= yes
GH_ACCOUNT= Rigellute
diff --git a/audio/strawberry/Makefile b/audio/strawberry/Makefile
index 5091103519fc..33cae521585d 100644
--- a/audio/strawberry/Makefile
+++ b/audio/strawberry/Makefile
@@ -1,5 +1,6 @@
PORTNAME= strawberry
DISTVERSION= 1.2.12
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= https://github.com/strawberrymusicplayer/${PORTNAME}/releases/download/${DISTVERSION}/
diff --git a/audio/supercollider/Makefile b/audio/supercollider/Makefile
index d40d4d7ccf12..f7c26016284e 100644
--- a/audio/supercollider/Makefile
+++ b/audio/supercollider/Makefile
@@ -1,7 +1,8 @@
PORTNAME= supercollider
-DISTVERSION= 3.13.1-g20250219
-PORTREVISION= 1
+DISTVERSION= 3.14.0
CATEGORIES= audio
+MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/Version-${DISTVERSION}/
+DISTNAME= SuperCollider-${DISTVERSION}-Source
MAINTAINER= ports@nicandneal.net
COMMENT= Programming language for real time audio synthesis
@@ -10,55 +11,54 @@ WWW= https://supercollider.github.io
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
+BUILD_DEPENDS= ${LOCALBASE}/include/fftw3.h:math/fftw3 \
+ vulkan-headers>0:graphics/vulkan-headers
+
LIB_DEPENDS= libboost_system.so:devel/boost-libs \
libjack.so:audio/jack \
libsndfile.so:audio/libsndfile \
libfftw3f.so:math/fftw3-float \
libyaml-cpp.so:devel/yaml-cpp
-USES= cmake compiler:c++11-lang iconv localbase pkgconfig \
- qt:5 readline shared-mime-info tar:bzip2 xorg
-USE_GITHUB= yes
-GH_TAGNAME= 066ef94c70903c440e010eb81d4ac6e85bb2d84c
-GH_TUPLE= timblechmann:nova-simd:2bdc68bc5704a42578300a4c18411df2405cb307:novasimd/external_libraries/nova-simd \
- timblechmann:nova-tt:692a8859fb94030f581b8a3d626a5f40c236114e:novatt/external_libraries/nova-tt \
- supercollider:hidapi:hidapi-sc-0.8.0-10-g976cb11:hidapi/external_libraries/hidapi \
- supercollider:yaml-cpp:release-0.5.3-35-g728e26e:yamlcpp/external_libraries/yaml-cpp \
- ableton:link:Link-3.0.6:link/external_libraries/link:link
-USE_QT_amd64= webengine
-USE_QT_i386= webengine
-USE_QT= buildtools:build concurrent core declarative gui linguisttools location \
- network opengl printsupport qmake:build sensors \
- sql widgets websockets webchannel svg ${USE_QT_${ARCH}}
-USE_XORG= x11
+USES= cmake compiler:c++11-lang gl iconv localbase pkgconfig qt:6 \
+ readline shared-mime-info tar:bzip2 xorg
+USE_GL= opengl
USE_LDCONFIG= yes
+USE_QT= base svg tools
+USE_XORG= x11 xt
-CMAKE_ARGS_nox86= -DSSE:BOOL=FALSE \
- -DSSE2:BOOL=FALSE \
- -DSC_USE_QTWEBENGINE:BOOL=FALSE
-CMAKE_ARGS= -DCMAKE_PREFIX_PATH=${LOCALBASE}/lib/qt5 \
+CMAKE_ARGS= -DCMAKE_PREFIX_PATH=${LOCALBASE}/lib/qt6 \
-DLIBUSB_1_INCLUDE_DIR=/usr/include \
- -DLIBUSB_1_LIBRARY=/usr/lib/libusb.so \
- -DLIBSCSYNTH=ON \
- -DSYSTEM_BOOST=ON \
- -DSYSTEM_YAMLCPP=ON \
- -DSC_ABLETON_LINK=OFF \
- ${ARCH:Namd64:Ni386:C/.*/${CMAKE_ARGS_nox86}/}
+ -DLIBUSB_1_LIBRARY=/usr/lib/libusb.so
+CMAKE_ON= LIBSCSYNTH \
+ SC_QT \
+ SYSTEM_BOOST \
+ SYSTEM_YAMLCPP
+CMAKE_OFF= SC_ABLETON_LINK
-DESKTOP_ENTRIES="SuperCollider IDE" "" "${LOCALBASE}/share/pixmaps/sc_ide.svg" \
+DESKTOP_ENTRIES="SuperCollider IDE" "" "${PREFIX}/share/pixmaps/sc_ide.svg" \
"scide" "" false
-OPTIONS_DEFINE= AVAHI HELP SUPERNOVA
-OPTIONS_DEFAULT= AVAHI HELP SUPERNOVA
-OPTIONS_SUB= yes
+OPTIONS_DEFINE= AVAHI DOCS SUPERNOVA WEBENGINE
+OPTIONS_DEFINE_amd64= SSE2 SSE
+OPTIONS_DEFINE_i386= SSE2 SSE
+OPTIONS_DEFAULT= AVAHI SUPERNOVA
+OPTIONS_DEFAULT_amd64= SSE2 SSE WEBENGINE
+OPTIONS_DEFAULT_i386= QTWEBENGINE
+OPTIONS_SUB= yes
-HELP_DESC= Install on-line help text
-SUPERNOVA_DESC= Build with supernova as optional audio synthesis server
+DOCS_DESC= Install on-line help text
+SSE2_DESC= ${SSE_DESC:S|SSE|SSE2|}
+SUPERNOVA_DESC= Build with supernova as optional audio synthesis server
AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app \
libavahi-common.so:net/avahi-app
AVAHI_CMAKE_BOOL_OFF= NO_AVAHI
-HELP_CMAKE_BOOL= INSTALL_HELP
+DOCS_CMAKE_BOOL= INSTALL_HELP
+SSE2_CMAKE_BOOL= SSE2
+SSE_CMAKE_BOOL= SSE
SUPERNOVA_CMAKE_BOOL= SUPERNOVA
+WEBENGINE_USE= qt=declarative,positioning,webengine,webchannel,websockets
+WEBENGINE_CMAKE_BOOL= SC_USE_QTWEBENGINE
.include <bsd.port.mk>
diff --git a/audio/supercollider/distinfo b/audio/supercollider/distinfo
index ac8385dfbaf3..3a9acf940b7c 100644
--- a/audio/supercollider/distinfo
+++ b/audio/supercollider/distinfo
@@ -1,13 +1,3 @@
-TIMESTAMP = 1740092854
-SHA256 (supercollider-supercollider-3.13.1-g20250219-066ef94c70903c440e010eb81d4ac6e85bb2d84c_GH0.tar.gz) = c2404c4da6546700405444c55d3e726b4299936b3e3f044c48673c1bd6acf666
-SIZE (supercollider-supercollider-3.13.1-g20250219-066ef94c70903c440e010eb81d4ac6e85bb2d84c_GH0.tar.gz) = 16401696
-SHA256 (timblechmann-nova-simd-2bdc68bc5704a42578300a4c18411df2405cb307_GH0.tar.gz) = df9f280daaad56fdadb5fa75d492ee6a06762a41d7346aa473aa49c1ac9ec9c8
-SIZE (timblechmann-nova-simd-2bdc68bc5704a42578300a4c18411df2405cb307_GH0.tar.gz) = 53005
-SHA256 (timblechmann-nova-tt-692a8859fb94030f581b8a3d626a5f40c236114e_GH0.tar.gz) = a3e40d2cdf06dc6b29a6e1f3353c371dc3dc7ca08fe475697cc9659702ebc178
-SIZE (timblechmann-nova-tt-692a8859fb94030f581b8a3d626a5f40c236114e_GH0.tar.gz) = 31253
-SHA256 (supercollider-hidapi-hidapi-sc-0.8.0-10-g976cb11_GH0.tar.gz) = ccdea1468120976205719865218919c83cc8dd9505ed58dfd6890743720e79d2
-SIZE (supercollider-hidapi-hidapi-sc-0.8.0-10-g976cb11_GH0.tar.gz) = 147854
-SHA256 (supercollider-yaml-cpp-release-0.5.3-35-g728e26e_GH0.tar.gz) = b84cda403e26fc64e4973e907413b40c43a7e1485f2c223ed30a1a387cf0dae4
-SIZE (supercollider-yaml-cpp-release-0.5.3-35-g728e26e_GH0.tar.gz) = 2022032
-SHA256 (ableton-link-Link-3.0.6_GH0.tar.gz) = 4f4fae68bd9351cba603f07990b0d1d9cd7f986c1c78f748d97168c8ae5269b2
-SIZE (ableton-link-Link-3.0.6_GH0.tar.gz) = 1905749
+TIMESTAMP = 1753803284
+SHA256 (SuperCollider-3.14.0-Source.tar.bz2) = ab710e84376f5c082c92fcea7465b85d375934f3da7deed583457a0a48b0a918
+SIZE (SuperCollider-3.14.0-Source.tar.bz2) = 20936611
diff --git a/audio/supercollider/files/patch-common_SC__AppleEventLoop.mm b/audio/supercollider/files/patch-common_SC__AppleEventLoop.mm
deleted file mode 100644
index d0505523b8ae..000000000000
--- a/audio/supercollider/files/patch-common_SC__AppleEventLoop.mm
+++ /dev/null
@@ -1,83 +0,0 @@
---- common/SC_AppleEventLoop.mm.orig 2021-04-22 03:41:58 UTC
-+++ common/SC_AppleEventLoop.mm
-@@ -0,0 +1,80 @@
-+/************************************************************************
-+ *
-+ * Copyright 2019 Christof Ressi <info@christofressi.com>
-+ *
-+ * This program is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation, either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
-+ *
-+ ************************************************************************/
-+
-+#include "SC_AppleEventLoop.hpp"
-+#include <atomic>
-+
-+#import <Cocoa/Cocoa.h>
-+
-+namespace SC { namespace Apple { namespace EventLoop {
-+
-+static std::atomic_bool g_running;
-+
-+void setup() {
-+ // The following code would transform the process into a foreground application.
-+ // For now it's the plugin's responsibility to do this (early or lazily)
-+ // because we don't want to always show an icon in the docker.
-+ // ProcessSerialNumber psn = { 0, kCurrentProcess };
-+ // TransformProcessType(&psn, kProcessTransformToForegroundApplication);
-+
-+ // Create NSApplication
-+ [NSApplication sharedApplication];
-+}
-+
-+void run() {
-+ // this doesn't work...
-+ // [NSApp run];
-+ // Kudos to https://www.cocoawithlove.com/2009/01/demystifying-nsapplication-by.html
-+ NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
-+
-+ [NSApp finishLaunching];
-+ g_running = true;
-+
-+ while (g_running) {
-+ [pool release];
-+ pool = [[NSAutoreleasePool alloc] init];
-+ NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask
-+ untilDate:[NSDate distantFuture]
-+ inMode:NSDefaultRunLoopMode
-+ dequeue:YES];
-+ if (event) {
-+ [NSApp sendEvent:event];
-+ [NSApp updateWindows];
-+ }
-+ }
-+ [pool release];
-+}
-+
-+void quit() {
-+ // break from event loop instead of [NSApp terminate:nil]
-+ g_running = false;
-+ // send dummy event to wake up event loop
-+ NSEvent* event = [NSEvent otherEventWithType:NSApplicationDefined
-+ location:NSMakePoint(0, 0)
-+ modifierFlags:0
-+ timestamp:0
-+ windowNumber:0
-+ context:nil
-+ subtype:0
-+ data1:0
-+ data2:0];
-+ [NSApp postEvent:event atStart:NO];
-+}
-+
-+}}} // namespace SC::Apple::EventLoop
diff --git a/audio/supercollider/files/patch-external__libraries_nova-simd_vec_vec__int__altivec.hpp b/audio/supercollider/files/patch-external__libraries_nova-simd_vec_vec__int__altivec.hpp
index deb9992d2aaa..7f9b2870d5af 100644
--- a/audio/supercollider/files/patch-external__libraries_nova-simd_vec_vec__int__altivec.hpp
+++ b/audio/supercollider/files/patch-external__libraries_nova-simd_vec_vec__int__altivec.hpp
@@ -1,6 +1,6 @@
---- external_libraries/nova-simd/vec/vec_int_altivec.hpp.orig 2020-09-03 23:55:08.848538000 +0200
-+++ external_libraries/nova-simd/vec/vec_int_altivec.hpp 2020-09-03 23:58:16.614642000 +0200
-@@ -35,7 +35,7 @@
+--- external_libraries/nova-simd/vec/vec_int_altivec.hpp.orig 2025-07-26 19:07:55 UTC
++++ external_libraries/nova-simd/vec/vec_int_altivec.hpp
+@@ -35,7 +35,7 @@ struct int_vec_altivec (private)
static ivec set_vector(int i)
{
#ifdef __GNUC__
diff --git a/audio/supercollider/files/patch-server_supernova_utilities_hardware__topology.cpp b/audio/supercollider/files/patch-server_supernova_utilities_hardware__topology.cpp
index 18eb0c75280b..af9df51086c4 100644
--- a/audio/supercollider/files/patch-server_supernova_utilities_hardware__topology.cpp
+++ b/audio/supercollider/files/patch-server_supernova_utilities_hardware__topology.cpp
@@ -1,4 +1,4 @@
---- server/supernova/utilities/hardware_topology.cpp.orig 2025-02-20 15:13:49 UTC
+--- server/supernova/utilities/hardware_topology.cpp.orig 2025-07-26 19:07:45 UTC
+++ server/supernova/utilities/hardware_topology.cpp
@@ -20,6 +20,7 @@
# include <windows.h>
diff --git a/audio/supercollider/pkg-plist b/audio/supercollider/pkg-plist
index abc7924bdf0b..d5ede72afef4 100644
--- a/audio/supercollider/pkg-plist
+++ b/audio/supercollider/pkg-plist
@@ -114,1239 +114,1248 @@ share/SuperCollider/HID_Support/hut/hut_64_medical_instrument.yaml
share/SuperCollider/HID_Support/hut/hut_6_generic_device.yaml
share/SuperCollider/HID_Support/hut/hut_7_keyboard_keypad.yaml
share/SuperCollider/HID_Support/hut/hut_8_ledpage.yaml
-%%HELP%%share/SuperCollider/HelpSource/BrokenLink.html
-%%HELP%%share/SuperCollider/HelpSource/Browse.html
-%%HELP%%share/SuperCollider/HelpSource/Classes/.placeholder
-%%HELP%%share/SuperCollider/HelpSource/Classes/A2K.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/APF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractDispatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractFunction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractGridLines.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractMessageMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractResponderFunc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractServerAction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractSystemAction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AbstractWrappingDispatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AllpassC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AllpassL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AllpassN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AmpComp.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AmpCompA.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Amplitude.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AnalogIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AnalogOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AppClock.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ApplicationStart.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Archive.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Array.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Array2D.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ArrayedCollection.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Association.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/AudioIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BAllPass.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BBandPass.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BBandStop.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BEQSuite.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BHiPass.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BHiPass4.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BHiShelf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BLowPass.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BLowPass4.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BLowShelf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BPF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BPZ2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BPeakEQ.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BRF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BRZ2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Bag.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Balance2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ball.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BasicOpUGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BeatTrack.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BeatTrack2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BelaScope.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BelaScopeOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BendResponder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BiPanB2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BinaryOpFunction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BinaryOpStream.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BinaryOpUGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Blip.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Boolean.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BrownNoise.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufAllpassC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufAllpassL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufAllpassN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufChannels.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufCombC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufCombL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufCombN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufDelayC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufDelayL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufDelayN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufDur.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufFrames.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufInfoUGenBase.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufRateScale.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufRd.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufSampleRate.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufSamples.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BufWr.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Buffer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Bus.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/BusPlug.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Button.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CCResponder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/COsc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CSVFileReader.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CallOnce.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Changed.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ChaosGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Char.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CheckBadValues.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CheckBox.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Class.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Clip.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ClipNoise.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Clock.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CmdPeriod.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CoinGate.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Collection.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Color.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CombC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CombL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CombN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Compander.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CompanderD.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Complex.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CompositeView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CondVar.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Condition.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ContiguousBlockAllocator.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Control.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ControlDur.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ControlName.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ControlRate.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ControlSpec.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Convolution.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Convolution2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Convolution2L.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Convolution3.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Crackle.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CuspL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CuspN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/CustomViewAction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Date.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dbrown.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dbufrd.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dbufwr.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dconst.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ddup.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DebugFrame.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DebugNodeWatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Decay.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Decay2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DecodeB2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DegreeToKey.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DelTapRd.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DelTapWr.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Delay1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Delay2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DelayC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DelayL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DelayN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Demand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DemandEnvGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DetectIndex.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DetectSilence.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dgeom.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dialog.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dibrown.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dictionary.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DigitalIO.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DigitalIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DigitalOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DiskIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DiskOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Diwhite.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Document.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DoesNotUnderstandError.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Done.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DoubleArray.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Download.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dpoll.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DragBoth.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DragSink.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DragSource.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Drand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DrawGrid.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dreset.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dseq.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dser.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dseries.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dshuf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dstutter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dswitch.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dswitch1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dunique.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dust.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dust2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Duty.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dwhite.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dwrand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Dxrand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DynKlang.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/DynKlank.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZKnob.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZListView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZLists.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZNumber.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZPopUpMenu.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZRanger.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZScroller.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZSlider.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EZText.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EmacsDocument.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Env.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EnvGate.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EnvGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EnvelopeView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EnvirGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Environment.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EnvironmentRedirect.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Error.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Event-default-note.png
-%%HELP%%share/SuperCollider/HelpSource/Classes/Event.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EventPatternProxy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EventStreamCleanup.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/EventStreamPlayer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Exception.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ExpRand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ExponentialGridLines.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FBSineC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FBSineL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FBSineN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FFT.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FFTTrigger.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FOS.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FSinOsc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/False.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Fdef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/File.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FileDialog.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FileReader.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Filter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FilterPattern.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Float.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FloatArray.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FlowLayout.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FlowVar.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FlowView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Fold.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FoldIndex.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Font.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Formant.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Formlet.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Frame.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Free.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FreeSelf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FreeSelfWhenDone.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FreeVerb.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FreeVerb2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FreqScope.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FreqScopeView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FreqShift.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FuncFilterPattern.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FuncStream.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Function.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FunctionDef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/FunctionList.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GUI.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GVerb.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Gate.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GbmanL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GbmanN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Gendy1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Gendy2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Gendy3.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Git.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Gradient.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GrainBuf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GrainFM.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GrainIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GrainSin.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GrayNoise.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GridLayout.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/GridLines.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Group.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HID.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HIDCollection.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HIDElement.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HIDElementProto.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HIDFunc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HIDInfo.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HIDProto.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HIDUsage.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HIDdef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HLayout.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HLayoutView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HPF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HPZ1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HPZ2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Harmonics.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Hasher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HelpBrowser.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HenonC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HenonL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HenonN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Hilbert.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HilbertFIR.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HiliteGradient.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/History.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/HistoryGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/IEnvGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/IFFT.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/IODesc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/IRand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/IdentityBag.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/IdentityDictionary.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/IdentityDictionary_01.png
-%%HELP%%share/SuperCollider/HelpSource/Classes/IdentityDictionary_02.png
-%%HELP%%share/SuperCollider/HelpSource/Classes/IdentityDictionary_03.png
-%%HELP%%share/SuperCollider/HelpSource/Classes/IdentityDictionary_04.png
-%%HELP%%share/SuperCollider/HelpSource/Classes/IdentitySet.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Image.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Impulse.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/In.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/InBus.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/InFeedback.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/InRange.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/InRect.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/InTrig.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Index.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/IndexInBetween.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/IndexL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/InfoUGenBase.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Int16Array.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Int32Array.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Int8Array.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Integer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Integrator.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/InterplEnv.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/InterplPairs.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/InterplXYC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Interpreter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Interval.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/JITGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/K2A.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/KeyState.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/KeyTrack.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Klang.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Klank.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Knob.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFClipNoise.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFCub.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFDClipNoise.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFDNoise0.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFDNoise1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFDNoise3.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFGauss.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFNoise0.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFNoise1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFNoise2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFPar.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFPulse.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFSaw.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LFTri.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LID.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LIDGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LIDInfo.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LIDSlot.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LPF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LPZ1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LPZ2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Lag.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Lag2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Lag2UD.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Lag3.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Lag3UD.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LagControl.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LagIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LagUD.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LanguageConfig.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LastValue.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Latch.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LatoocarfianC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LatoocarfianL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LatoocarfianN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Layout.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LazyEnvir.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LeakDC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LeastChange.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LevelIndicator.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Library.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LibraryBase.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Limiter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinCongC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinCongL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinCongN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinExp.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinLin.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinPan2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinRand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinSelectX.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinXFade2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Line.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LineLayout.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinearGridLines.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Linen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinkClock.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinkedList.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinkedListNode.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LinuxPlatform.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/List.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ListPattern.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ListView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LocalBuf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LocalIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LocalOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Logistic.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/LorenzL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Loudness.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MFCC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIClient.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIFunc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIFuncBothCAMessageMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIFuncBothMessageMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIFuncChanArrayMessageMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIFuncChanMessageMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIFuncSrcMessageMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIFuncSrcMessageMatcherNV.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIMessageDispatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIMessageDispatcherNV.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIResponder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MIDIdef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Magnitude.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Main.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MainMenu.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MantissaMask.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MaxLocalBufs.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Maybe.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Median.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Menu.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MenuAction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Message.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MeterSync.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Method.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MidEQ.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Mix.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ModDif.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Monitor.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MonitorGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MoogFF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MostChange.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MouseButton.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MouseX.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MouseY.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MulAdd.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MultiLevelIdentityDictionary.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MultiOutUGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MultiSliderView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MultiTap.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/MultiplexAnalogIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NAryOpFunction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NAryOpStream.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NRand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NamedControl.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ndef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NdefGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NdefMixer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NdefMixerOld.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NdefParamGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NetAddr.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Nil.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Node.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NodeControl.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NodeMap.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NodeProxy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NodeProxyEditor.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NodeWatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Normalizer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NoteOffResponder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NoteOnResponder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NotificationCenter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NumAudioBuses.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NumBuffers.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NumChannels.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NumControlBuses.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NumInputBuses.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NumOutputBuses.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NumRunningSynths.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Number.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/NumberBox.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCArgsMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCBundle.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCFunc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCFuncAddrMessageMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCFuncBothMessageMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCFuncRecvPortMessageMatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCMessageDispatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCMessagePatternDispatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCdef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCpathResponder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCresponder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OSCresponderNode.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Object.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ObjectGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ObjectTable.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OffsetOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OnError.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OnePole.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OneZero.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Onsets.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Operand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Order.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OrderedIdentitySet.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Osc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OscN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Out.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/OutputProxy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PMOsc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PSinGrain.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_Add.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_BinScramble.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_BinShift.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_BinWipe.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_BrickWall.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_ChainUGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_ConformalMap.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_Conj.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_Copy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_CopyPhase.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_Diffuser.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_Div.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_HainsworthFoote.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_JensenAndersen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_LocalMax.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagAbove.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagBelow.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagClip.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagDiv.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagFreeze.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagMul.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagNoise.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagShift.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagSmear.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_MagSquared.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_Max.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_Min.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_Mul.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_PhaseShift.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_PhaseShift270.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_PhaseShift90.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_RandComb.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_RandWipe.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_RectComb.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PV_RectComb2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PackFFT.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Padd.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Paddp.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Paddpre.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PageLayout.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pair.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pan2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pan4.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PanAz.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PanB.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PanB2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ParGroup.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ParamView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PartConv.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PathName.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pattern.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PatternConductor.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PatternProxy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pause.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PauseSelf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PauseSelfWhenDone.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pavaroh.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pbeta.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pbind.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PbindProxy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pbindef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pbindf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pbinop.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pbrown.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pbus.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pcauchy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pchain.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pclump.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pclutch.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pcollect.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pconst.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pdef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PdefAllGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PdefEditor.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PdefGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pdefn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PdefnAllGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PdefnGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PdegreeToKey.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pdfsm.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pdict.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pdiff.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pdrop.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pdup.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PdurStutter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Peak.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PeakFollower.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Penvir.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pevent.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pexprand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PfadeIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PfadeOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pfin.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pfindur.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pfinval.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pfset.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pfsm.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pfunc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pfuncn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pfx.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pfxb.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pgate.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pgauss.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pgbrown.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pgeom.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pget.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pgpar.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pgroup.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pgtpar.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Phasor.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Phprand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pif.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pindex.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PingPong.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PinkNoise.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pipe.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pitch.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PitchShift.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pkey.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Place.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Plambda.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Platform.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PlayBuf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Plazy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PlazyEnvir.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PlazyEnvirN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Plet.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Plotter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Plprand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pluck.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pmeanrand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pmono.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PmonoArtic.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pmul.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pmulp.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pmulpre.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pnaryop.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pnsym.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Point.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Polar.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Poll.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PopUpMenu.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Post.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ppar.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PparGroup.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ppatlace.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ppatmod.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ppoisson.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pprob.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pprotect.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pproto.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Prand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Preject.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Prewrite.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PriorityQueue.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Process.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ProgramChangeResponder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Prorate.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Prout.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ProxyMixer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ProxyMixerOld.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ProxyMonitorGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ProxyNodeMap.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ProxySpace.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ProxySynthDef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pseed.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pseg.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pselect.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pseq.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pser.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pseries.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pset.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Psetp.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Psetpre.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pshuf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pslide.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pspawn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pspawner.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pstep.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PstepNadd.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PstepNfunc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pstutter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Psubdivide.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pswitch.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pswitch1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Psym.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Psync.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ptime.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ptpar.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ptrace.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ptuple.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pulse.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PulseCount.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PulseDivider.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Punop.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/PureUGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pwalk.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pwhile.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pwhite.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pwrand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pwrap.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Pxrand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/QPalette.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/QPenPrinter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/QtGUI.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/QuadC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/QuadL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/QuadN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Quant.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Quark.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Quarks.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/QuartzComposerView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RHPF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RLPF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RadiansPerSample.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ramp.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Rand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RandID.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RandSeed.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RangeSlider.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RawArray.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RawPointer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ReadableNodeIDAllocator.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RecNodeProxy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RecordBuf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Recorder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Rect.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ref.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RefCopy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ReplaceOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Resonz.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Rest.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RingBuffer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RingNumberAllocator.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Ringz.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RootNode.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Rotate2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Routine.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RunningMax.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RunningMin.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/RunningSum.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCContainerView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCDoc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCDocEntry.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCDocHTMLRenderer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCDocNode.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCDragView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCEnvelopeEdit.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCImage.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCImageFilter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCImageKernel.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SCViewHolder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SOS.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SampleDur.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SampleRate.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Sanitize.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Saw.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ScIDE.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Scale.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ScelDocument.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Scheduler.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Schmidt.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ScopeOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ScopeView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Score.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ScrollView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Select.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SelectX.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SelectXFocus.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Semaphore.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SemiColonFileReader.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SendPeakRMS.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SendReply.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SendTrig.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SequenceableCollection.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SerialPort.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Server.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ServerBoot.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ServerMeter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ServerMeterView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ServerOptions.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ServerQuit.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ServerStatusWatcher.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ServerTree.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Set.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SetResetFF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Shaper.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SharedIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SharedOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ShutDown.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Signal.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Silent.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SimpleController.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SimpleNumber.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SinOsc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SinOscFB.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SkipJack.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Slew.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Slider.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Slider2D.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Slope.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SortedList.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SoundFile.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SoundFileView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SoundIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SparseArray.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Spawner.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Spec.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SpecCentroid.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SpecFlatness.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SpecPcile.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Splay.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SplayAz.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SplayZ.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Spring.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/StackLayout.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/StackNumberAllocator.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/StandardL.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/StandardN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/StartUp.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/StaticText.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Stepper.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/StereoConvolution2L.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Stethoscope.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Stream.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/StreamClutch.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/String.ext.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/String.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SubsampleOffset.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Sum3.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Sum4.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Sweep.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Symbol.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SymbolArray.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SyncSaw.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Synth.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SynthDef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SynthDesc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SynthDescLib.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SystemClock.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/SystemSynthDefs.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/T2A.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/T2K.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TBall.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TChoose.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TDelay.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TDuty.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TExpRand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TGrains.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TIRand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TRand.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TWChoose.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TWindex.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TabFileReader.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Tap.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Task.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TaskProxy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TaskProxyGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Tdef.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TdefAllGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TdefEditor.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TdefGui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TempoBusClock.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TempoClock.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TextField.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TextView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Thread.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Thunk.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Timer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ToggleFF.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ToolBar.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TouchResponder.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TreeView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TreeViewItem.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Trig.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Trig1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TrigControl.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/True.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Tuning.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TwoPole.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TwoWayIdentityDictionary.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/TwoZero.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UnaryOpFunction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UnaryOpStream.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UnaryOpUGen.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UniqueID.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UnitTest.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UnitTestScript.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UnixFILE.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Unpack1FFT.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UnpackFFT.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/UserView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/VDiskIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/VLayout.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/VLayoutView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/VOsc.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/VOsc3.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/VarLag.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/VarSaw.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Vibrato.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/View.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Volume.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Warp.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Warp1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Wavetable.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/WebView.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/WhiteNoise.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Window.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/Wrap.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/WrapIndex.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/XFade2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/XIn.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/XInFeedback.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/XLine.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/XOut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/ZeroCrossing.schelp
-%%HELP%%share/SuperCollider/HelpSource/Classes/chebyshevpolynomials.png
-%%HELP%%share/SuperCollider/HelpSource/Guides/.placeholder
-%%HELP%%share/SuperCollider/HelpSource/Guides/Backwards-Compatibility.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Bundled-Messages.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/ClientVsServer.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Debugging-tips.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/FFT-Overview.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/GUI-Introduction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/GUI-Layout-Management.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Glossary.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/HID_permissions.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/How-to-Use-the-Interpreter.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Internal-Snooping.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Intro-to-Objects.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/J-concepts-in-SC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/LID_permissions.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/ListComprehensions.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/MIDI.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/More-On-Getting-Help.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/MultiClient_Setups.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Multichannel-Expansion.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-3_10.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-3_11.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-3_12.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-3_13.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-3_5.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-3_6.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-3_7.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-3_8.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-3_9.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/News-Qt-GUI.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/NodeMessaging.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Non-Realtime-Synthesis.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/OSC_communication.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Order-of-execution.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Polymorphism.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Randomness.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/SCIde.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Server-Guide.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/ServerTiming.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Spawning.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/SuperColliderAU.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Sync-Async.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/SynthDefsVsSynths.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Tour-of-Special-Functions.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Tour_of_UGens.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Tracing-Processes.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/UGens-and-Synths.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Understanding-Errors.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/UserFAQ.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/UsingExtensions.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/UsingMIDI.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/UsingQuarks.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/Working_with_HID.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/WritingClasses.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/WritingHelp.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/WritingPrimitives.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/WritingTests.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/WritingUGens.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/s8kfFC-clientServerEn.png
-%%HELP%%share/SuperCollider/HelpSource/Guides/scEn.png
-%%HELP%%share/SuperCollider/HelpSource/Guides/sc_ide_overview.png
-%%HELP%%share/SuperCollider/HelpSource/Guides/sc_ide_overview_scaled.png
-%%HELP%%share/SuperCollider/HelpSource/Guides/server.png
-%%HELP%%share/SuperCollider/HelpSource/Guides/standalones.schelp
-%%HELP%%share/SuperCollider/HelpSource/Guides/structureEn.png
-%%HELP%%share/SuperCollider/HelpSource/Help.schelp
-%%HELP%%share/SuperCollider/HelpSource/OldHelpWrapper.html
-%%HELP%%share/SuperCollider/HelpSource/Other/.placeholder
-%%HELP%%share/SuperCollider/HelpSource/Other/HelpDocsLicensing.html
-%%HELP%%share/SuperCollider/HelpSource/Other/JITLibChanges3.7.schelp
-%%HELP%%share/SuperCollider/HelpSource/Other/Licensing.html
-%%HELP%%share/SuperCollider/HelpSource/Other/ccbysa3_88x31.png
-%%HELP%%share/SuperCollider/HelpSource/Overviews/.placeholder
-%%HELP%%share/SuperCollider/HelpSource/Overviews/ClassTree.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/Classes.html
-%%HELP%%share/SuperCollider/HelpSource/Overviews/Collections.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/Documents.html
-%%HELP%%share/SuperCollider/HelpSource/Overviews/Event_types.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/GUI-Classes.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/GenericCollectors.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/JITLib.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/Methods.html
-%%HELP%%share/SuperCollider/HelpSource/Overviews/MidiPatterns.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/Operators.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/SC3vsSC2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/Streams.schelp
-%%HELP%%share/SuperCollider/HelpSource/Overviews/SymbolicNotations.schelp
-%%HELP%%share/SuperCollider/HelpSource/QC/Cells.qtz
-%%HELP%%share/SuperCollider/HelpSource/QC/SCLevelMeter.qtz
-%%HELP%%share/SuperCollider/HelpSource/QC/SCQCSonogramCount2.qtz
-%%HELP%%share/SuperCollider/HelpSource/QC/SCQuartzComposerViewStructureTest.qtz
-%%HELP%%share/SuperCollider/HelpSource/QC/SCQuartzComposerViewTest.qtz
-%%HELP%%share/SuperCollider/HelpSource/QC/Stupid Pan.qtz
-%%HELP%%share/SuperCollider/HelpSource/Reference/.placeholder
-%%HELP%%share/SuperCollider/HelpSource/Reference/Adverbs.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Assignment.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/AudioDeviceSelection.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Classes.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Comments.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Control-Structures.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/EmacsEditor.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/EventStream.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Expression-Sequence.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Functions.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Key-Value-Pairs.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/KeyboardShortcuts.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Literals.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Messages.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Modifiers.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/NodeEvent.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/NodeProxy_roles.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Partial-Application.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Resize.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/SCDocStyling.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/SCDocSyntax.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Scope.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Server-Architecture.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Server-Command-Reference.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/ServerPluginAPI.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/StartupFile.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Syntax-Shortcuts.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/Synth-Definition-File-Format.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/asTarget.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/default_group.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/functions.png
-%%HELP%%share/SuperCollider/HelpSource/Reference/gui.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/gui_alignments.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/if.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/loop.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/matchItem.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/palette_color_groups.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/palette_color_roles.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/play.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/playN.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/plot.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/randomSeed.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/softPut.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/softSet.schelp
-%%HELP%%share/SuperCollider/HelpSource/Reference/softVol_.schelp
-%%HELP%%share/SuperCollider/HelpSource/Search.html
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/.placeholder
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_01_Introduction.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_02_Basic_Vocabulary.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_03_What_Is_Pbind.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_04_Words_to_Phrases.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_05_Math_on_Patterns.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_060_Filter_Patterns.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06a_Repetition_Contraint_Patterns.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06b_Time_Based_Patterns.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06c_Composition_of_Patterns.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06d_Parallel_Patterns.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06e_Language_Control.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06f_Server_Control.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06g_Data_Sharing.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_07_Value_Conversions.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_08_Event_Types_and_Parameters.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook01_Basic_Sequencing.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook02_Manipulating_Patterns.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook03_External_Control.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook04_Sending_MIDI.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook05_Using_Samples.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook06_Phrase_Network.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook07_Rhythmic_Variations.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook08_Swing.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Ref01_Pattern_Internals.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/GUI/compose_complex_view.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/GUI/create_simple_instrument_view.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/GUI/create_window.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/GUI/things_you_wanna_know.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/GUI/tutorial_intro.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/00-Getting-Started-With-SC.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/01-Introductory-Remarks.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/02-First-Steps.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/03-Start-Your-Engines.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/04-Functions-and-Other-Functionality.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/05-Functions-and-Sound.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/06-Presented-in-Living-Stereo.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/07-Mix-it-Up.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/08-Scoping-and-Plotting.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/09-Getting-Help.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/10-SynthDefs-and-Synths.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/11-Busses.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/12-Groups.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/13-Buffers.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/14-Scheduling-Events.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/15-Sequencing-with-Routines-and-Tasks.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/16-Sequencing-with-Patterns.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-00.png
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-01.png
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-02.png
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-03.png
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-04.png
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Scoping-and-Plotting01.png
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Start-Your-Engines00.png
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Start-Your-Engines01.png
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/audio_rate_mapping.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/basic_live_coding_techniques.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_asCompileString.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_basic_concepts_01.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_basic_concepts_02.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_basic_concepts_03.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_basic_concepts_04.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_efficiency.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_fading.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_networking.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/proxyspace_examples.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/recursive_phrasing.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/JITLib/the_lazy_proxy.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/00_Introductory_tutorial.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/01_Startup.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/02_Evaluating_code.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/03_Comments.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/04_Help.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/05_The_network.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/06_Prerequisites.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/07_SynthDefs.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/08_Rates.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/09_Buses.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/10_Controls.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/11_Test_functions.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/12_UnaryOp_synthesis.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/13_BinaryOp_synthesis.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/14_Subtractive_synthesis.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/15_Groups.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/16_Playbuf.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/17_Delays_reverbs.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/18_Frequency_modulation.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/19_Scheduling.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/20_Debugging.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/21_Syntax_errors.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/22_Runtime_errors.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/00.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/01.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/02.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/03.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/04.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/05.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/06.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/07.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/08.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/09.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/10.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/11.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/12.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/13.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/14.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/15.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Server_Tutorial.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events1.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events2.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events3.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events4.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events5.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events6.schelp
-%%HELP%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events7.schelp
-%%HELP%%share/SuperCollider/HelpSource/browse.css
-%%HELP%%share/SuperCollider/HelpSource/browse.js
-%%HELP%%share/SuperCollider/HelpSource/codemirror.css
-%%HELP%%share/SuperCollider/HelpSource/editor.css
-%%HELP%%share/SuperCollider/HelpSource/editor.js
-%%HELP%%share/SuperCollider/HelpSource/images/SC_icon.png
-%%HELP%%share/SuperCollider/HelpSource/images/Swamp.png
-%%HELP%%share/SuperCollider/HelpSource/images/duck_alpha.png
-%%HELP%%share/SuperCollider/HelpSource/images/flowers2.jpg
-%%HELP%%share/SuperCollider/HelpSource/images/icon.supercollider.png
-%%HELP%%share/SuperCollider/HelpSource/images/lastnode.png
-%%HELP%%share/SuperCollider/HelpSource/images/node.png
-%%HELP%%share/SuperCollider/HelpSource/images/plugin.png
-%%HELP%%share/SuperCollider/HelpSource/images/plugin.svg
-%%HELP%%share/SuperCollider/HelpSource/images/vduck2.jpg
-%%HELP%%share/SuperCollider/HelpSource/images/vline.png
-%%HELP%%share/SuperCollider/HelpSource/lib/codemirror-5.39.2.min.js
-%%HELP%%share/SuperCollider/HelpSource/lib/codemirror-addon-simple-5.39.2.min.js
-%%HELP%%share/SuperCollider/HelpSource/lib/jquery.min.js
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/README.md
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_AMS-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Fraktur-Bold.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Fraktur-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Main-Bold.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Main-BoldItalic.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Main-Italic.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Main-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Math-BoldItalic.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Math-Italic.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_SansSerif-Bold.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_SansSerif-Italic.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_SansSerif-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Script-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Size1-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Size2-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Size3-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Size4-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/fonts/KaTeX_Typewriter-Regular.woff2
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/katex.min.css
-%%HELP%%share/SuperCollider/HelpSource/lib/katex/katex.min.js
-%%HELP%%share/SuperCollider/HelpSource/scdoc.css
-%%HELP%%share/SuperCollider/HelpSource/scdoc.js
-%%HELP%%share/SuperCollider/HelpSource/search.js
-%%HELP%%share/SuperCollider/HelpSource/themes/README.md
-%%HELP%%share/SuperCollider/HelpSource/themes/classic.css
-%%HELP%%share/SuperCollider/HelpSource/themes/dark.css
-%%HELP%%share/SuperCollider/HelpSource/themes/default.css
-%%HELP%%share/SuperCollider/HelpSource/themes/dracula.css
-%%HELP%%share/SuperCollider/HelpSource/themes/monokai.css
-%%HELP%%share/SuperCollider/HelpSource/themes/solarizedDark.css
-%%HELP%%share/SuperCollider/HelpSource/themes/solarizedLight.css
+%%DOCS%%share/SuperCollider/HelpSource/BrokenLink.html
+%%DOCS%%share/SuperCollider/HelpSource/Browse.html
+%%DOCS%%share/SuperCollider/HelpSource/Classes/.placeholder
+%%DOCS%%share/SuperCollider/HelpSource/Classes/A2K.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/APF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractDispatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractFunction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractGridLines.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractMessageMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractResponderFunc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractServerAction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractSystemAction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AbstractWrappingDispatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AllpassC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AllpassL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AllpassN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AmpComp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AmpCompA.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Amplitude.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AnalogIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AnalogOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AppClock.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ApplicationStart.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Archive.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Array.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Array2D.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ArrayedCollection.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Association.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/AudioIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BAllPass.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BBandPass.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BBandStop.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BEQSuite.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BHiPass.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BHiPass4.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BHiShelf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BLowPass.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BLowPass4.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BLowShelf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BPF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BPZ2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BPeakEQ.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BRF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BRZ2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Bag.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Balance2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ball.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BasicOpUGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BeatTrack.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BeatTrack2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BelaScope.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BelaScopeOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BendResponder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BiPanB2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BinaryOpFunction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BinaryOpStream.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BinaryOpUGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Blip.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Boolean.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BrownNoise.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufAllpassC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufAllpassL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufAllpassN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufChannels.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufCombC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufCombL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufCombN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufDelayC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufDelayL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufDelayN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufDur.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufFrames.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufInfoUGenBase.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufRateScale.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufRd.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufSampleRate.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufSamples.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BufWr.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Buffer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Bus.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/BusPlug.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Button.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CCResponder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/COsc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CSVFileReader.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CallOnce.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Changed.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ChaosGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Char.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CheckBadValues.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CheckBox.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Class.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Clip.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ClipNoise.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Clock.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CmdPeriod.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CoinGate.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Collection.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Color.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CombC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CombL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CombN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Compander.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CompanderD.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Complex.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CompositeView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CondVar.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Condition.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ContiguousBlock.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ContiguousBlockAllocator.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Control.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ControlDur.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ControlName.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ControlRate.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ControlSpec.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Convolution.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Convolution2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Convolution2L.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Convolution3.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Crackle.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CuspL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CuspN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/CustomViewAction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Date.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dbrown.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dbufrd.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dbufwr.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dconst.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ddup.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DebugFrame.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DebugNodeWatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Decay.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Decay2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DecodeB2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DegreeToKey.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DelTapRd.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DelTapWr.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Delay1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Delay2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DelayC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DelayL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DelayN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Demand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DemandEnvGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DetectIndex.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DetectSilence.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dgeom.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dialog.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dibrown.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dictionary.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DigitalIO.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DigitalIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DigitalOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DiskIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DiskOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Diwhite.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Document.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DoesNotUnderstandError.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Done.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DoubleArray.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Download.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dpoll.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DragBoth.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DragSink.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DragSource.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Drand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DrawGrid.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dreset.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dseq.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dser.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dseries.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dshuf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dstutter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dswitch.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dswitch1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dunique.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dust.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dust2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Duty.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dwhite.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dwrand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Dxrand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DynKlang.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/DynKlank.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZKnob.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZListView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZLists.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZNumber.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZPopUpMenu.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZRanger.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZScroller.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZSlider.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EZText.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EmacsDocument.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Env.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EnvGate.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EnvGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EnvelopeView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EnvirGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Environment.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EnvironmentRedirect.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Error.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Event-default-note.png
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Event.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EventPatternProxy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EventStreamCleanup.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/EventStreamPlayer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ExampleFiles.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Exception.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ExpRand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ExponentialGridLines.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FBSineC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FBSineL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FBSineN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FFT.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FFTTrigger.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FOS.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FSinOsc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/False.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Fdef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/File.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FileDialog.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FileReader.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Filter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FilterPattern.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Float.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FloatArray.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FlowLayout.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FlowVar.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FlowView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Fold.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FoldIndex.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Font.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Formant.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Formlet.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Frame.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Free.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FreeSelf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FreeSelfWhenDone.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FreeVerb.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FreeVerb2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FreqScope.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FreqScopeView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FreqShift.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FuncFilterPattern.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FuncStream.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Function.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FunctionDef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/FunctionList.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GUI.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GVerb.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Gate.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GbmanL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GbmanN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Gendy1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Gendy2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Gendy3.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Git.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Gradient.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GrainBuf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GrainFM.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GrainIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GrainSin.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GrayNoise.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GridLayout.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/GridLines.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Group.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HID.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HIDCollection.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HIDElement.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HIDElementProto.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HIDFunc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HIDInfo.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HIDProto.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HIDUsage.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HIDdef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HLayout.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HLayoutView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HPF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HPZ1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HPZ2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Harmonics.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Hasher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HelpBrowser.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HenonC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HenonL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HenonN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Hilbert.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HilbertFIR.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HiliteGradient.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/History.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/HistoryGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IEnvGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IFFT.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IODesc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IRand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IdentityBag.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IdentityDictionary.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IdentityDictionary_01.png
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IdentityDictionary_02.png
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IdentityDictionary_03.png
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IdentityDictionary_04.png
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IdentitySet.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Image.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Impulse.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/In.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/InBus.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/InFeedback.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/InRange.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/InRect.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/InTrig.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Index.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IndexInBetween.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/IndexL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/InfoUGenBase.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Int16Array.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Int32Array.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Int8Array.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Integer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Integrator.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/InterplEnv.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/InterplPairs.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/InterplXYC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Interpreter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Interval.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/JITGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/K2A.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/KeyState.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/KeyTrack.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Klang.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Klank.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Knob.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFClipNoise.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFCub.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFDClipNoise.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFDNoise0.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFDNoise1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFDNoise3.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFGauss.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFNoise0.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFNoise1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFNoise2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFPar.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFPulse.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFSaw.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LFTri.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LID.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LIDGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LIDInfo.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LIDSlot.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LPF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LPZ1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LPZ2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Lag.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Lag2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Lag2UD.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Lag3.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Lag3UD.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LagControl.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LagIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LagUD.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LanguageConfig.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LastValue.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Latch.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LatoocarfianC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LatoocarfianL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LatoocarfianN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Layout.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LazyEnvir.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LeakDC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LeastChange.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LevelComp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LevelIndicator.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Library.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LibraryBase.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Limiter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinCongC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinCongL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinCongN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinExp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinLin.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinPan2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinRand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinSelectX.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinXFade2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Line.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LineLayout.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinearGridLines.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Linen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinkClock.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinkedList.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinkedListNode.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LinuxPlatform.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/List.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ListPattern.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ListView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LocalBuf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LocalIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LocalOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Logistic.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/LorenzL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Loudness.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MFCC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIClient.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIFunc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIFuncBothCAMessageMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIFuncBothMessageMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIFuncChanArrayMessageMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIFuncChanMessageMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIFuncSrcMessageMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIFuncSrcMessageMatcherNV.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIMessageDispatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIMessageDispatcherNV.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIResponder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MIDIdef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Magnitude.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Main.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MainMenu.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MantissaMask.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MaxLocalBufs.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Maybe.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Median.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Menu.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MenuAction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Message.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MeterSync.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Method.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MidEQ.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Mix.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ModDif.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Monitor.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MonitorGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MoogFF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MostChange.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MouseButton.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MouseX.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MouseY.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MulAdd.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MultiLevelIdentityDictionary.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MultiOutUGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MultiSliderView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MultiTap.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/MultiplexAnalogIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NAryOpFunction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NAryOpStream.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NRand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NamedControl.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ndef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NdefGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NdefMixer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NdefMixerOld.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NdefParamGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NetAddr.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Nil.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Node.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NodeControl.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NodeMap.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NodeProxy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NodeProxyEditor.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NodeTreeView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NodeWatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Normalizer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NoteOffResponder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NoteOnResponder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NotificationCenter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NumAudioBuses.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NumBuffers.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NumChannels.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NumControlBuses.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NumInputBuses.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NumOutputBuses.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NumRunningSynths.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Number.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/NumberBox.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCArgsMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCBundle.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCFunc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCFuncAddrMessageMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCFuncBothMessageMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCFuncRecvPortMessageMatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCMessageDispatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCMessagePatternDispatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCdef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCpathResponder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCresponder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OSCresponderNode.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Object.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ObjectGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ObjectTable.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OffsetOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OnError.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OnePole.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OneZero.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Onsets.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Operand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Order.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OrderedIdentitySet.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Osc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OscN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Out.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/OutputProxy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PMOsc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PSinGrain.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_Add.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_BinScramble.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_BinShift.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_BinWipe.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_BrickWall.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_ChainUGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_ConformalMap.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_Conj.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_Copy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_CopyPhase.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_Diffuser.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_Div.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_HainsworthFoote.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_JensenAndersen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_LocalMax.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagAbove.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagBelow.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagClip.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagDiv.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagFreeze.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagMul.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagNoise.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagShift.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagSmear.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_MagSquared.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_Max.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_Min.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_Mul.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_PhaseShift.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_PhaseShift270.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_PhaseShift90.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_RandComb.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_RandWipe.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_RectComb.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PV_RectComb2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PackFFT.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Padd.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Paddp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Paddpre.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PageLayout.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pair.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pan2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pan4.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PanAz.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PanB.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PanB2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ParGroup.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ParamView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PartConv.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PathName.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pattern.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PatternConductor.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PatternProxy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pause.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PauseSelf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PauseSelfWhenDone.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pavaroh.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pbeta.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pbind.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PbindProxy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pbindef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pbindf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pbinop.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pbrown.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pbus.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pcauchy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pchain.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pclump.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pclutch.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pcollect.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pconst.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pdef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PdefAllGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PdefEditor.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PdefGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pdefn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PdefnAllGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PdefnGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PdegreeToKey.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pdfsm.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pdict.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pdiff.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pdrop.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pdup.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PdurStutter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Peak.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PeakFollower.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Penvir.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pevent.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pexprand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PfadeIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PfadeOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pfin.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pfindur.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pfinval.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pfset.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pfsm.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pfunc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pfuncn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pfx.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pfxb.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pgate.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pgauss.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pgbrown.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pgeom.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pget.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pgpar.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pgroup.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pgtpar.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Phasor.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Phprand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pif.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pindex.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PingPong.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PinkNoise.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pipe.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pitch.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PitchShift.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pkey.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Place.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Plambda.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Platform.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PlayBuf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Plazy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PlazyEnvir.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PlazyEnvirN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Plet.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Plotter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Plprand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pluck.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pmeanrand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pmono.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PmonoArtic.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pmul.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pmulp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pmulpre.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pnaryop.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pnsym.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Point.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Polar.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Poll.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PopUpMenu.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Post.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ppar.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PparGroup.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ppatlace.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ppatmod.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ppoisson.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pprob.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pprotect.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pproto.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Prand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Preject.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Prewrite.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PriorityQueue.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Process.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ProgramChangeResponder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Prorate.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Prout.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ProxyMixer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ProxyMixerOld.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ProxyMonitorGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ProxyNodeMap.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ProxySpace.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ProxySynthDef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pseed.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pseg.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pselect.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pseq.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pser.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pseries.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pset.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Psetp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Psetpre.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pshuf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pslide.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pspawn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pspawner.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pstep.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PstepNadd.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PstepNfunc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pstutter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Psubdivide.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pswitch.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pswitch1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Psym.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Psync.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ptime.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ptpar.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ptrace.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ptuple.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pulse.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PulseCount.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PulseDivider.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Punop.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/PureUGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pwalk.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pwhile.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pwhite.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pwrand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pwrap.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Pxrand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/QPalette.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/QPenPrinter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/QtGUI.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/QuadC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/QuadL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/QuadN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Quant.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Quark.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Quarks.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/QuartzComposerView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RHPF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RLPF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RadiansPerSample.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ramp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Rand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RandID.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RandSeed.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RangeSlider.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RawArray.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RawPointer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ReadableNodeIDAllocator.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RecNodeProxy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RecordBuf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Recorder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Rect.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ref.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RefCopy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ReplaceOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Resonz.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Rest.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RingBuffer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RingNumberAllocator.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Ringz.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RootNode.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Rotate2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Routine.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RunningMax.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RunningMin.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/RunningSum.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCContainerView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCDoc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCDocEntry.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCDocHTMLRenderer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCDocNode.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCDragView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCEnvelopeEdit.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCImage.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCImageFilter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCImageKernel.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SCViewHolder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SOS.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SampleDur.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SampleRate.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Sanitize.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Saw.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ScIDE.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Scale.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ScelDocument.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Scheduler.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Schmidt.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ScopeOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ScopeView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Score.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ScrollView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Select.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SelectX.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SelectXFocus.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Semaphore.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SemiColonFileReader.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SendPeakRMS.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SendReply.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SendTrig.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SequenceableCollection.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SerialPort.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Server.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ServerBoot.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ServerMeter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ServerMeterView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ServerOptions.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ServerQuit.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ServerStatusWatcher.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ServerTree.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Set.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SetResetFF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Shaper.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SharedIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SharedOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ShutDown.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Signal.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Silent.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SimpleController.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SimpleNumber.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SinOsc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SinOscFB.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SkipJack.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Slew.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Slider.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Slider2D.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Slope.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SortedList.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SoundFile.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SoundFileView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SoundIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SparseArray.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Spawner.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Spec.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SpecCentroid.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SpecFlatness.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SpecPcile.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Splay.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SplayAz.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SplayZ.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Spring.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/StackLayout.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/StackNumberAllocator.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/StandardL.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/StandardN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/StartUp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/StaticText.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Stepper.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/StereoConvolution2L.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Stethoscope.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Stream.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/StreamClutch.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/String.ext.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/String.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SubsampleOffset.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Sum3.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Sum4.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Sweep.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Symbol.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SymbolArray.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SyncSaw.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Synth.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SynthDef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SynthDesc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SynthDescLib.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SystemClock.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/SystemSynthDefs.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/T2A.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/T2K.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TBall.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TChoose.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TDelay.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TDuty.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TExpRand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TGrains.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TIRand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TRand.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TWChoose.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TWindex.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TabFileReader.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Tap.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Task.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TaskProxy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TaskProxyGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Tdef.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TdefAllGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TdefEditor.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TdefGui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TempoBusClock.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TempoClock.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TextField.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TextView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Thread.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Thunk.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Timer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ToggleFF.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ToolBar.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TouchResponder.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TreeView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TreeViewItem.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Trig.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Trig1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TrigControl.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/True.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Tuning.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TwoPole.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TwoWayIdentityDictionary.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/TwoZero.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UnaryOpFunction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UnaryOpStream.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UnaryOpUGen.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UniqueID.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UnitTest.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UnitTestScript.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UnixFILE.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Unpack1FFT.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UnpackFFT.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/UserView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/VDiskIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/VLayout.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/VLayoutView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/VOsc.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/VOsc3.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/VarLag.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/VarSaw.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Vibrato.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/View.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Volume.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Warp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Warp1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Wavetable.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/WebView.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/WhiteNoise.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Window.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/Wrap.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/WrapIndex.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/XFade2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/XIn.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/XInFeedback.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/XLine.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/XOut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/ZeroCrossing.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Classes/chebyshevpolynomials.png
+%%DOCS%%share/SuperCollider/HelpSource/Guides/.placeholder
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Backwards-Compatibility.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Bundled-Messages.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/ClientVsServer.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Debugging-tips.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/EqualityIdentity.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/FFT-Overview.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/GUI-Introduction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/GUI-Layout-Management.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Glossary.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/HID_permissions.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/How-to-Use-the-Interpreter.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Internal-Snooping.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Intro-to-Objects.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/J-concepts-in-SC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/LID_permissions.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Level_Compensation.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/ListComprehensions.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/MIDI.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/More-On-Getting-Help.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/MultiClient_Setups.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Multichannel-Expansion.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_10.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_11.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_12.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_13.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_14.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_5.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_6.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_7.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_8.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-3_9.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/News-Qt-GUI.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/NodeMessaging.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Non-Realtime-Synthesis.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/OSC_communication.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/ObjectPrototyping.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Order-of-execution.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Polymorphism.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Randomness.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/SCIde.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Server-Guide.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/ServerTiming.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Spawning.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/SuperColliderAU.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Sync-Async.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/SynthDefsVsSynths.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Tour-of-Special-Functions.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Tour_of_UGens.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Tracing-Processes.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/UGen-Changelog.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/UGens-and-Synths.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Understanding-Errors.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/UserFAQ.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/UsingExtensions.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/UsingMIDI.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/UsingQuarks.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/Working_with_HID.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/WritingClasses.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/WritingHelp.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/WritingPrimitives.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/WritingTests.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/WritingUGens.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/s8kfFC-clientServerEn.png
+%%DOCS%%share/SuperCollider/HelpSource/Guides/scEn.png
+%%DOCS%%share/SuperCollider/HelpSource/Guides/sc_ide_overview.png
+%%DOCS%%share/SuperCollider/HelpSource/Guides/sc_ide_overview_scaled.png
+%%DOCS%%share/SuperCollider/HelpSource/Guides/server.png
+%%DOCS%%share/SuperCollider/HelpSource/Guides/standalones.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Guides/structureEn.png
+%%DOCS%%share/SuperCollider/HelpSource/Help.schelp
+%%DOCS%%share/SuperCollider/HelpSource/OldHelpWrapper.html
+%%DOCS%%share/SuperCollider/HelpSource/Other/.placeholder
+%%DOCS%%share/SuperCollider/HelpSource/Other/HelpDocsLicensing.html
+%%DOCS%%share/SuperCollider/HelpSource/Other/JITLibChanges3.7.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Other/Licensing.html
+%%DOCS%%share/SuperCollider/HelpSource/Other/ccbysa3_88x31.png
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/.placeholder
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/ClassTree.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/Classes.html
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/Collections.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/Documents.html
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/Event_types.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/GUI-Classes.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/GenericCollectors.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/JITLib.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/Methods.html
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/MidiPatterns.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/Operators.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/SC3vsSC2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/Streams.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Overviews/SymbolicNotations.schelp
+%%DOCS%%share/SuperCollider/HelpSource/QC/Cells.qtz
+%%DOCS%%share/SuperCollider/HelpSource/QC/SCLevelMeter.qtz
+%%DOCS%%share/SuperCollider/HelpSource/QC/SCQCSonogramCount2.qtz
+%%DOCS%%share/SuperCollider/HelpSource/QC/SCQuartzComposerViewStructureTest.qtz
+%%DOCS%%share/SuperCollider/HelpSource/QC/SCQuartzComposerViewTest.qtz
+%%DOCS%%share/SuperCollider/HelpSource/QC/Stupid Pan.qtz
+%%DOCS%%share/SuperCollider/HelpSource/Reference/.placeholder
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Adverbs.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Assignment.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/AudioDeviceSelection.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Classes.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Comments.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Control-Structures.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/EmacsEditor.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/EventStream.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Expression-Sequence.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Functions.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Key-Value-Pairs.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/KeyboardShortcuts.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Literals.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Messages.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Modifiers.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/NodeEvent.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/NodeProxy_roles.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Partial-Application.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Resize.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/SCDocStyling.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/SCDocSyntax.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Scope.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Server-Architecture.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Server-Command-Reference.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/ServerPluginAPI.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/StartupFile.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Syntax-Shortcuts.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/Synth-Definition-File-Format.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/asTarget.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/default_group.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/functions.png
+%%DOCS%%share/SuperCollider/HelpSource/Reference/gui.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/gui_alignments.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/if.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/loop.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/matchItem.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/palette_color_groups.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/palette_color_roles.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/play.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/playN.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/plot.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/randomSeed.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/softPut.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/softSet.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Reference/softVol_.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Search.html
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/.placeholder
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_01_Introduction.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_02_Basic_Vocabulary.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_03_What_Is_Pbind.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_04_Words_to_Phrases.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_05_Math_on_Patterns.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_060_Filter_Patterns.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06a_Repetition_Contraint_Patterns.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06b_Time_Based_Patterns.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06c_Composition_of_Patterns.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06d_Parallel_Patterns.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06e_Language_Control.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06f_Server_Control.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_06g_Data_Sharing.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_07_Value_Conversions.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_08_Event_Types_and_Parameters.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook01_Basic_Sequencing.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook02_Manipulating_Patterns.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook03_External_Control.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook04_Sending_MIDI.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook05_Using_Samples.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook06_Phrase_Network.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook07_Rhythmic_Variations.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Cookbook08_Swing.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/A-Practical-Guide/PG_Ref01_Pattern_Internals.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/GUI/compose_complex_view.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/GUI/create_simple_instrument_view.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/GUI/create_window.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/GUI/things_you_wanna_know.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/GUI/tutorial_intro.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/00-Getting-Started-With-SC.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/01-Introductory-Remarks.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/02-First-Steps.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/03-Start-Your-Engines.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/04-Functions-and-Other-Functionality.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/05-Functions-and-Sound.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/06-Presented-in-Living-Stereo.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/07-Mix-it-Up.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/08-Scoping-and-Plotting.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/09-Getting-Help.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/10-SynthDefs-and-Synths.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/11-Busses.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/12-Groups.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/13-Buffers.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/14-Scheduling-Events.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/15-Sequencing-with-Routines-and-Tasks.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/16-Sequencing-with-Patterns.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-00.png
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-01.png
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-02.png
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-03.png
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Functions-and-Sound-04.png
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Scoping-and-Plotting01.png
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Start-Your-Engines00.png
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Getting-Started/Start-Your-Engines01.png
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/audio_rate_mapping.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/basic_live_coding_techniques.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_asCompileString.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_basic_concepts_01.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_basic_concepts_02.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_basic_concepts_03.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_basic_concepts_04.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_efficiency.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_fading.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/jitlib_networking.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/proxyspace_examples.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/recursive_phrasing.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/JITLib/the_lazy_proxy.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/00_Introductory_tutorial.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/01_Startup.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/02_Evaluating_code.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/03_Comments.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/04_Help.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/05_The_network.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/06_Prerequisites.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/07_SynthDefs.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/08_Rates.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/09_Buses.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/10_Controls.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/11_Test_functions.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/12_UnaryOp_synthesis.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/13_BinaryOp_synthesis.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/14_Subtractive_synthesis.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/15_Groups.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/16_Playbuf.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/17_Delays_reverbs.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/18_Frequency_modulation.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/19_Scheduling.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/20_Debugging.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/21_Syntax_errors.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/22_Runtime_errors.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/00.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/01.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/02.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/03.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/04.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/05.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/06.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/07.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/08.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/09.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/10.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/11.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/12.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/13.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/14.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Mark_Polishook_tutorial/Japanese_version/15.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Server_Tutorial.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events1.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events2.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events3.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events4.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events5.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events6.schelp
+%%DOCS%%share/SuperCollider/HelpSource/Tutorials/Streams-Patterns-Events7.schelp
+%%DOCS%%share/SuperCollider/HelpSource/images/SC_icon.png
+%%DOCS%%share/SuperCollider/HelpSource/images/Swamp.png
+%%DOCS%%share/SuperCollider/HelpSource/images/duck_alpha.png
+%%DOCS%%share/SuperCollider/HelpSource/images/flowers2.jpg
+%%DOCS%%share/SuperCollider/HelpSource/images/icon.supercollider.png
+%%DOCS%%share/SuperCollider/HelpSource/images/lastnode.png
+%%DOCS%%share/SuperCollider/HelpSource/images/node.png
+%%DOCS%%share/SuperCollider/HelpSource/images/plugin.png
+%%DOCS%%share/SuperCollider/HelpSource/images/plugin.svg
+%%DOCS%%share/SuperCollider/HelpSource/images/vduck2.jpg
+%%DOCS%%share/SuperCollider/HelpSource/images/vline.png
+%%DOCS%%share/SuperCollider/HelpSource/static/browse.css
+%%DOCS%%share/SuperCollider/HelpSource/static/browse.js
+%%DOCS%%share/SuperCollider/HelpSource/static/codemirror.css
+%%DOCS%%share/SuperCollider/HelpSource/static/editor.css
+%%DOCS%%share/SuperCollider/HelpSource/static/editor.js
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/codemirror-5.39.2.min.js
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/codemirror-addon-simple-5.39.2.min.js
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/jquery.min.js
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/README.md
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_AMS-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Fraktur-Bold.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Fraktur-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Main-Bold.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Main-BoldItalic.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Main-Italic.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Main-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Math-BoldItalic.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Math-Italic.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_SansSerif-Bold.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_SansSerif-Italic.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_SansSerif-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Script-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Size1-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Size2-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Size3-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Size4-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/fonts/KaTeX_Typewriter-Regular.woff2
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/katex.min.css
+%%DOCS%%share/SuperCollider/HelpSource/static/lib/katex/katex.min.js
+%%DOCS%%share/SuperCollider/HelpSource/static/scdoc.css
+%%DOCS%%share/SuperCollider/HelpSource/static/scdoc.js
+%%DOCS%%share/SuperCollider/HelpSource/static/search.js
+%%DOCS%%share/SuperCollider/HelpSource/static/themes/README.md
+%%DOCS%%share/SuperCollider/HelpSource/static/themes/classic.css
+%%DOCS%%share/SuperCollider/HelpSource/static/themes/dark.css
+%%DOCS%%share/SuperCollider/HelpSource/static/themes/default.css
+%%DOCS%%share/SuperCollider/HelpSource/static/themes/dracula.css
+%%DOCS%%share/SuperCollider/HelpSource/static/themes/monokai.css
+%%DOCS%%share/SuperCollider/HelpSource/static/themes/solarizedDark.css
+%%DOCS%%share/SuperCollider/HelpSource/static/themes/solarizedLight.css
share/SuperCollider/README.md
share/SuperCollider/README_LINUX.md
share/SuperCollider/SCClassLibrary/Common/Audio/BEQSuite.sc
@@ -1492,6 +1501,7 @@ share/SuperCollider/SCClassLibrary/Common/Core/Symbol.sc
share/SuperCollider/SCClassLibrary/Common/Core/Thread.sc
share/SuperCollider/SCClassLibrary/Common/Core/debug.sc
share/SuperCollider/SCClassLibrary/Common/Files/Directory.sc
+share/SuperCollider/SCClassLibrary/Common/Files/ExampleFiles.sc
share/SuperCollider/SCClassLibrary/Common/Files/File.sc
share/SuperCollider/SCClassLibrary/Common/Files/PathName.sc
share/SuperCollider/SCClassLibrary/Common/Files/SoundFile.sc
@@ -1545,6 +1555,7 @@ share/SuperCollider/SCClassLibrary/Common/GUI/Base/extValueActionIfChanged.sc
share/SuperCollider/SCClassLibrary/Common/GUI/Base/viewExtensionsQt.sc
share/SuperCollider/SCClassLibrary/Common/GUI/PlusGUI/Collections/StringPlusGUI.sc
share/SuperCollider/SCClassLibrary/Common/GUI/PlusGUI/Control/FreqScope.sc
+share/SuperCollider/SCClassLibrary/Common/GUI/PlusGUI/Control/NodeTreeView.sc
share/SuperCollider/SCClassLibrary/Common/GUI/PlusGUI/Control/ServerPlusGUI.sc
share/SuperCollider/SCClassLibrary/Common/GUI/PlusGUI/Control/SynthDescLibPlusGUI.sc
share/SuperCollider/SCClassLibrary/Common/GUI/PlusGUI/Control/SynthDescPlusGUI.sc
@@ -1783,5 +1794,6 @@ share/SuperCollider/translations/scide_zh.qm
share/icons/hicolor/32x32/apps/supercollider.xpm
share/icons/hicolor/48x48/apps/supercollider.png
share/icons/hicolor/scalable/apps/sc_ide.svg
+share/metainfo/online.supercollider.SuperCollider.metainfo.xml
share/mime/packages/supercollider.xml
@dir share/SuperCollider/SCClassLibrary/External
diff --git a/audio/vsound/Makefile b/audio/vsound/Makefile
index 19376eaf687b..5b6370ea0ba4 100644
--- a/audio/vsound/Makefile
+++ b/audio/vsound/Makefile
@@ -12,8 +12,6 @@ WWW= http://web.archive.org/web/20210502033331/http://www.vsound.org/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
-BROKEN_riscv64= fails to compile: vsound.c:101:4: Endian guess seems incorrect.
-
BUILD_DEPENDS= sox:audio/sox
RUN_DEPENDS= sox:audio/sox
diff --git a/audio/vsound/files/patch-configure b/audio/vsound/files/patch-configure
index eedbb4de6b0b..e6a5f88d00ae 100644
--- a/audio/vsound/files/patch-configure
+++ b/audio/vsound/files/patch-configure
@@ -31,7 +31,7 @@
case "$target_cpu" in
- alpha* | i?86 )
-+ alpha* | i?86 | ia64* | amd64* | aarch64 | arm* | x86_64*)
++ alpha* | i?86 | ia64* | amd64* | aarch64 | arm* | x86_64* | riscv*)
ac_cv_cpu_endian_ness="little"
;;