<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div>The problem is actually in the code:</div>

<div> </div>

<div>(SAMPLETYPE *)(((ulong)tempUnaligned + 15) & (ulong)-16);</div>

<div> </div>

<div>
<div>This line probably tries to align memory on the stack to 16 bytes boundaries for SSE code. The problem is that "ulong" is a typedef for "unsigned long". The code assumes that "long" always has the size of a pointer (4 bytes on 32 bit and 8 bytes on 64 bit), but on Windows it is always 4 bytes, so on 64 bit you get a size mismatch.</div>

<div> </div>

<div>A quick and dirty fix: find the relevant "#define" or "typedef" for "ulong" and set it to "unsigned long long" for 64 bit Windows:</div>

<div> </div>

<div>#ifdef _WIN64</div>

<div>#define ulong unsigned long long</div>

<div>#else</div>

<div>#define ulong unsigned long</div>

<div>#endif</div>

<div> </div>

<div>Please make a bug report to the upstream author.</div>

<div> </div>

<div>Christof</div>

<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0 10.0px 10.0px;border-left: 2.0px solid rgb(195,217,229);">
<div style="margin: 0 0 10.0px 0;"><b>Gesendet:</b> Mittwoch, 30. Oktober 2019 um 00:46 Uhr<br/>
<b>Von:</b> "pat pagano" <shreeswifty@gmail.com><br/>
<b>An:</b> pd-list@iem.at<br/>
<b>Betreff:</b> Re: [PD] soundtouch~, slicerec/sliceplay for 64 bit windows?</div>

<div>
<div>
<div>
<div class="gmail_default" style="font-family: garamond , serif;"> </div>

<div class="gmail_default" style="font-family: garamond , serif;">I know that i am flailing with windows makefiles but i was hopeful that from trying to compile such an essential external for a few patches i've written with it I would learn compiling externals more clearly for pd and of course windows</div>

<div class="gmail_default" style="font-family: garamond , serif;"> </div>

<div class="gmail_default" style="font-family: garamond , serif;">here's what i get:</div>

<div class="gmail_default" style="font-family: garamond , serif;"> </div>

<div class="gmail_default" style="font-family: garamond , serif;">g++ -m64 -msse -DNT -DPD_LONGINTTYPE=__int64 -DMSW -Wall -Wextra -Wshadow -Wint-to-pointer-cast -Winline -Wstrict-aliasing -O3 -ffast-math -funroll-loops -fomit-frame-pointer -march=core2 -msse -msse2 -msse3 -mfpmath=sse -I ./include -c *.cpp<br/>
FIFOSampleBuffer.cpp: In member function 'void soundtouch::FIFOSampleBuffer::ensureCapacity(uint)':<br/>
FIFOSampleBuffer.cpp:181:39: error: cast from 'soundtouch::SAMPLETYPE*' {aka 'float*'} to 'ulong' {aka 'long unsigned int'} loses precision [-fpermissive]<br/>
         temp = (SAMPLETYPE *)(((ulong)tempUnaligned + 15) & (ulong)-16);<br/>
                                       ^~~~~~~~~~~~~<br/>
FIFOSampleBuffer.cpp:181:71: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
         temp = (SAMPLETYPE *)(((ulong)tempUnaligned + 15) & (ulong)-16);<br/>
                                                                       ^<br/>
FIRFilter.cpp: In static member function 'static void* soundtouch::FIRFilter::operator new(size_t)':<br/>
FIRFilter.cpp:222:39: warning: unused parameter 's' [-Wunused-parameter]<br/>
 void * FIRFilter::operator new(size_t s)<br/>
                                ~~~~~~~^<br/>
RateTransposer.cpp: In static member function 'static void* soundtouch::RateTransposer::operator new(size_t)':<br/>
RateTransposer.cpp:109:44: warning: unused parameter 's' [-Wunused-parameter]<br/>
 void * RateTransposer::operator new(size_t s)<br/>
                                     ~~~~~~~^<br/>
soundtouch~.cpp: In function 't_int* soundtouch_perform(t_int*)':<br/>
soundtouch~.cpp:91:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
  t_soundtouch *x = (t_soundtouch *)w[1];        // pointer to object (struct instance)<br/>
                                       ^<br/>
soundtouch~.cpp:92:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
  t_sample *signalvectorIn = (t_sample*)w[2];       // pointer to input signal vector<br/>
                                           ^<br/>
soundtouch~.cpp:93:44: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
  t_sample *signalvectorOut = (t_sample*)w[3];       // pointer to output signal vector<br/>
                                            ^<br/>
soundtouch~.cpp: In function 't_int* soundtouch_perform2(t_int*)':<br/>
soundtouch~.cpp:115:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
  t_soundtouch *x = (t_soundtouch *)w[1];        // pointer to object (struct instance)<br/>
                                       ^<br/>
soundtouch~.cpp:116:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
  t_sample *signalvectorInLeft = (t_sample*)w[2];      // pointer to input signal vector<br/>
                                               ^<br/>
soundtouch~.cpp:117:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
  t_sample *signalvectorInRight = (t_sample*)w[3];      // pointer to input signal vector<br/>
                                                ^<br/>
soundtouch~.cpp:118:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
  t_sample *signalvectorOutLeft = (t_sample*)w[4];      // pointer to output signal vector<br/>
                                                ^<br/>
soundtouch~.cpp:119:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
  t_sample *signalvectorOutRight = (t_sample*)w[5];      // pointer to output signal vector<br/>
                                                 ^<br/>
soundtouch~.cpp: In function 'void soundtouch_tilde_setup()':<br/>
soundtouch~.cpp:312:67: warning: cast between incompatible function types from 'void* (*)(t_floatarg, t_floatarg)' {aka 'void* (*)(float, float)'} to 't_newmethod' {aka 'void* (*)()'} [-Wcast-function-type]<br/>
  soundtouch_class = class_new(gensym("soundtouch~"), (t_newmethod)soundtouch_new,<br/>
                                                                   ^~~~~~~~~~~~~~<br/>
sse_optimized.cpp: In member function 'virtual double soundtouch::TDStretchSSE::calcCrossCorrStereo(const float*, const float*) const':<br/>
sse_optimized.cpp:96:17: error: cast from 'const float*' to 'ulong' {aka 'long unsigned int'} loses precision [-fpermissive]<br/>
     if (((ulong)pV1) & 15) return -1e50;    // skip unaligned locations<br/>
                 ^~~<br/>
sse_optimized.cpp: In member function 'virtual void soundtouch::FIRFilterSSE::setCoefficients(const float*, uint, uint)':<br/>
sse_optimized.cpp:288:51: error: cast from 'float*' to 'long unsigned int' loses precision [-fpermissive]<br/>
     filterCoeffsAlign = (float *)(((unsigned long)filterCoeffsUnalign + 15) & (ulong)-16);<br/>
                                                   ^~~~~~~~~~~~~~~~~~~<br/>
sse_optimized.cpp:288:89: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
     filterCoeffsAlign = (float *)(((unsigned long)filterCoeffsUnalign + 15) & (ulong)-16);<br/>
                                                                                         ^<br/>
In file included from ./include/FIFOSamplePipe.h:51,<br/>
                 from RateTransposer.h:50,<br/>
                 from TDStretch.h:49,<br/>
                 from sse_optimized.cpp:69:<br/>
sse_optimized.cpp: In member function 'virtual uint soundtouch::FIRFilterSSE::evaluateFilterStereo(float*, const float*, uint) const':<br/>
sse_optimized.cpp:316:20: error: cast from 'float*' to 'ulong' {aka 'long unsigned int'} loses precision [-fpermissive]<br/>
     assert(((ulong)filterCoeffsAlign) % 16 == 0);<br/>
                    ^~~~~~~~~~~~~~~~~<br/>
TDStretch.cpp: In member function 'void soundtouch::TDStretch::acceptNewOverlapLength(int)':<br/>
TDStretch.cpp:724:49: error: cast from 'soundtouch::SAMPLETYPE*' {aka 'float*'} to 'ulong' {aka 'long unsigned int'} loses precision [-fpermissive]<br/>
         pRefMidBuffer = (SAMPLETYPE *)((((ulong)pRefMidBufferUnaligned) + 15) & (ulong)-16);<br/>
                                                 ^~~~~~~~~~~~~~~~~~~~~~<br/>
TDStretch.cpp:724:91: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]<br/>
         pRefMidBuffer = (SAMPLETYPE *)((((ulong)pRefMidBufferUnaligned) + 15) & (ulong)-16);<br/>
                                                                                           ^<br/>
TDStretch.cpp: In static member function 'static void* soundtouch::TDStretch::operator new(size_t)':<br/>
TDStretch.cpp:731:39: warning: unused parameter 's' [-Wunused-parameter]<br/>
 void * TDStretch::operator new(size_t s)<br/>
                                ~~~~~~~^</div>
</div>
 

<div class="gmail_quote">
<div class="gmail_attr">On Tue, Oct 29, 2019 at 1:51 AM IOhannes m zmölnig <<a href="mailto:zmoelnig@iem.at" onclick="parent.window.location.href='mailto:zmoelnig@iem.at'; return false;" target="_blank">zmoelnig@iem.at</a>> wrote:</div>

<blockquote class="gmail_quote" style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left: 1.0px solid rgb(204,204,204);padding-left: 1.0ex;">On 10/29/19 5:49 AM, pat pagano wrote:<br/>
> I tired compiling them myself but i keep getting errors so i thought i<br/>
<br/>
it seems you have forgotten to attach the errors you get.<br/>
<br/>
gfamrds<br/>
IOhannes<br/>
<br/>
_______________________________________________<br/>
<a href="mailto:Pd-list@lists.iem.at" onclick="parent.window.location.href='mailto:Pd-list@lists.iem.at'; return false;" target="_blank">Pd-list@lists.iem.at</a> mailing list<br/>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" target="_blank">https://lists.puredata.info/listinfo/pd-list</a></blockquote>
</div>
 

<div> </div>
--

<div class="gmail_signature">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><i><font size="4">Patrick Pagano  B.S, M.F.A</font></i></div>

<div><i>Assistant Professor, </i>Interactive Media & Education 

<div>
<div>Audio Projection & Performance Design </div>
</div>

<div>Howard Community College</div>

<div><i>Columbia, Maryland USA</i></div>

<div><i><a href="http://shreeswifty.github.io" target="_blank">http://shreeswifty.github.io</a></i></div>

<div><i>(352)226-2016</i></div>

<div> </div>

<div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
_______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" target="_blank">https://lists.puredata.info/listinfo/pd-list</a></div>
</div>
</div>
</div></div></body></html>