<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Monaco;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.E-MailFormatvorlage18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>Thanks, Dan!<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>They must be embedded in the "Marker Chunk" in AIFF and in the "Cue Point Chunk" in the WAV format.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>This gives me a further idea for searching on.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>Of course it would be fantastic to have reading this information directly implemented in the [soundfiler] object!<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>Ingo<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> Pd-list [mailto:pd-list-bounces@lists.iem.at] <b>On Behalf Of </b>Dan Wilcox<br><b>Sent:</b> Wednesday, February 12, 2020 9:48 AM<br><b>To:</b> Pd-List<br><b>Subject:</b> Re: [PD] Sample loop - start and end point (WAV files)<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I'm laughing myself silly/crying after wading through the details for almost *one month* of full time work. It's a balance of updating an almost 20 year old section of Pd *without* breaking what currently works while adding required features.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>If all y'all want updates/changes, you need to find a way to contribute beyond list discussions.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I am able to focus on this right now as we use libpd for a major project at work (which also supports infrastructure and guest artist works) and we have legacy projects using 32+ channel AIFC and CAF files. We need to be able to playback such files within libpd to support our historical repertoire. If we had a need for MP3, I probably would have implemented that, but uncompressed audio is easier to stream form disk as there is minimal conversion needed, specially with so many channels. Before I even began this work, I proposed a general architectural refactoring of the code base and have fixed a number of bugs.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>As for sample loop points, those are probably in the instrument / sampler chunks in the AIFF, WAVE, and CAF file specs. Since I am flush with file format knowledge at the moment, I will try implementing either a [soundfiler] meta flag or 3rd outlet. I make no explicit promises.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>If you don't know what I'm talking about, you can either read the 30+ year old official file format spec documentation or the file format overviews on Wikipedia, for example AIFF: <a href="https://en.wikipedia.org/wiki/Audio_Interchange_File_Format">https://en.wikipedia.org/wiki/Audio_Interchange_File_Format</a><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On Feb 12, 2020, at 9:31 AM, <a href="mailto:pd-list-request@lists.iem.at">pd-list-request@lists.iem.at</a> wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monaco","serif"'>Message: 4<br>Date: Wed, 12 Feb 2020 09:31:19 +0100<br>From: IOhannes m zmoelnig <</span><a href="mailto:zmoelnig@iem.at"><span style='font-size:9.0pt;font-family:"Monaco","serif"'>zmoelnig@iem.at</span></a><span style='font-size:9.0pt;font-family:"Monaco","serif"'>><br>To:<span class=apple-converted-space> </span></span><a href="mailto:pd-list@lists.iem.at"><span style='font-size:9.0pt;font-family:"Monaco","serif"'>pd-list@lists.iem.at</span></a><span style='font-size:9.0pt;font-family:"Monaco","serif"'><br>Subject: Re: [PD] Sample loop - start and end point (WAV files)<br>Message-ID: <</span><a href="mailto:a72428ac-1ab7-2e7e-d90d-c4f74350286c@iem.at"><span style='font-size:9.0pt;font-family:"Monaco","serif"'>a72428ac-1ab7-2e7e-d90d-c4f74350286c@iem.at</span></a><span style='font-size:9.0pt;font-family:"Monaco","serif"'>><br>Content-Type: text/plain; charset="utf-8"<br><br>On 12.02.20 01:21, Christof Ressi wrote:<br style='caret-color: rgb(0, 0, 0);font-variant-caps: normal;text-align:start;-webkit-text-stroke-width: 0px;word-spacing:0px'><br></span><o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monaco","serif"'>To be clear: I agree that Pd probably shouldn't support MP3 or other<br>compressed audio formats by itself, it should just make it easy to add<br>such support as plugins.<o:p></o:p></span></p></blockquote><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monaco","serif"'><br>totally.<br>i've been talking with dan about this, and we kind of came up with the<br>start of an "architecture" to allow other decoding/encoding backends.<br><br>to keep expectations low:<br>this mainly started to get rid of a lot of boiler-plate code in the<br>current implentation, and the "architecture" is currently only a struct<br>(so dan is probably loughing himself silly when i call it<br>"architecture"), and it only supports uncompressed formats, but that<br>could  very easily be extended.<br><br><br>fgamsdr<br>IOhannes</span><o:p></o:p></p></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black'>--------<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black'>Dan Wilcox<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black'><a href="http://twitter.com/danomatika">@danomatika</a><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black'><a href="http://danomatika.com">danomatika.com</a><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black'><a href="http://robotcowboy.com">robotcowboy.com</a><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black'><o:p> </o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></body></html>