diff options
Diffstat (limited to 'audio')
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" ;; |