OSX: no "Open Recent" feature yet?
Hi, at least the OS X version of pd|lork i dont know Pd-Lork-2016-05-25 does not show any such feature as "open recent" -list?
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Developer
I think you're right, this issue comes up time and again, we really need a platform-independent solution for this. I think it shouldn't be all that hard to add an "Open Recent" option to the file menu and have the recent files recorded in the persistent config. Jonathan has already indicated that he'd gladly accept a corresponding pull request, so now we only need to find someone who implements this. :)
NB: There's already a related issue, #124, however it mainly talks about the situation in Gnome which does provide a Recent Files section in the Open dialog. On OSX, you can click on the folder field in the title bar, but it only shows recently visited folders, not individual files (see screenshot below). And of course you could use the Search field, but that is cumbersome. And on Windows you're pretty much out in the cold IIRC.
- Albert Gräf mentioned in issue #220 (closed)
mentioned in issue #220 (closed)
- Albert Gräf mentioned in merge request !57 (merged)
mentioned in merge request !57 (merged)
- Jonathan Wilkes closed via merge request !57 (merged)
closed via merge request !57 (merged)
- Albert Gräf closed via commit 172416dd
closed via commit 172416dd
- Developer
It's done! New Mac binaries (not yet) building, should be available in the Pipelines in a day or so. @esaruoho, please take this for a whirl when it's landed and report any bugs that you find in a separate issue.
@jwilkes, do you think it's possible to automatically upload the build artifacts somewhere after a CI build has finished? I can provide cloud storage if needed (I have a few GB to spare on my MEGA drive).
- Owner
It should be possible. Maybe adding a few lines in .gitlab-ci.yml?
- Owner
Unfortunately it breaks the windows build:
gcc -I../../pd/src -I../../pd/portaudio/include -I../../pd/portaudio/src/common -I../../pd/portaudio/src/os/win -I../../pd/lib/ASIOSDK2.3/common -I../../pd/lib/ASIOSDK2.3/host -I../../pd/lib/ASIOSDK2.3/host/pc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -M g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c g_clone.c g_all_guis.c g_bang.c g_radio.c g_mycanvas.c g_numbox.c g_toggle.c g_vumeter.c m_pd.c m_class.c m_obj.c m_atom.c m_memory.c m_binbuf.c m_conf.c m_glob.c m_sched.c s_main.c s_inter.c s_file.c s_print.c s_loader.c s_path.c s_entry.c s_audio.c s_midi.c d_ugen.c d_ctl.c d_arithmetic.c d_osc.c d_filter.c d_dac.c d_misc.c d_math.c d_fft.c d_fft_mayer.c d_fftroutine.c d_array.c d_global.c d_delay.c d_resample.c x_arithmetic.c x_connective.c x_interface.c x_midi.c x_misc.c x_time.c x_acoustics.c x_net.c x_text.c x_gui.c x_list.c x_array.c d_soundfile.c g_slider.c import.c x_scalar.c x_vexp.c x_vexp_if.c x_vexp_fun.c g_undo.c s_utf8.c x_preset.c g_magicglass.c s_audio_pa.c s_audio_paring.c s_audio_mmio.c ../../pd/portaudio/src/common/pa_stream.c ../../pd/portaudio/src/common/pa_trace.c ../../pd/portaudio/src/common/pa_process.c ../../pd/portaudio/src/common/pa_front.c ../../pd/portaudio/src/common/pa_dither.c ../../pd/portaudio/src/common/pa_cpuload.c ../../pd/portaudio/src/common/pa_converters.c ../../pd/portaudio/src/common/pa_allocation.c ../../pd/portaudio/src/common/pa_ringbuffer.c ../../pd/portaudio/src/os/win/pa_win_coinitialize.c ../../pd/portaudio/src/os/win/pa_win_hostapis.c ../../pd/portaudio/src/os/win/pa_win_util.c ../../pd/portaudio/src/os/win/pa_win_waveformat.c ../../pd/portaudio/src/hostapi/wmme/pa_win_wmme.c g_all_guis.h m_imp.h g_canvas.h g_magicglass.h m_pd.h s_stuff.h g_undo.h x_preset.h s_utf8.h s_audio_paring.h \ > makefile.dependencies gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_canvas.o g_canvas.c g_canvas.c: In function 'check_exists': g_canvas.c:1820:5: warning: implicit declaration of function 'u8_utf8toucs2' [-Wimplicit-function-declaration] u8_utf8toucs2(ucs2path, MAXPDSTRING, pathbuf, MAXPDSTRING-1); ^~~~~~~~~~~~~ g_canvas.c:1821:19: warning: implicit declaration of function '_waccess' [-Wimplicit-function-declaration] return (0 == _waccess(ucs2path, 0)); ^~~~~~~~ gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_graph.o g_graph.c g_graph.c: In function 'graph_select': g_graph.c:1431:33: warning: passing argument 1 of 'gobj_shouldvis' from incompatible pointer type [-Wincompatible-pointer-types] gobj_shouldvis(x, glist))) ^ In file included from g_graph.c:12:0: g_canvas.h:432:12: note: expected 't_gobj * {aka struct _gobj *}' but argument is of type 'struct _glist *' EXTERN int gobj_shouldvis(t_gobj *x, struct _glist *glist); ^~~~~~~~~~~~~~ gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_text.o g_text.c g_text.c: In function 'glist_drawiofor_withtag': g_text.c:2085:13: warning: multi-line comment [-Wcomment] //sys_vgui(".x%lx.c create prect %d %d %d %d \ ^ g_text.c:2113:13: warning: multi-line comment [-Wcomment] //sys_vgui(".x%lx.c create prect %d %d %d %d \ ^ g_text.c: In function 'text_drawborder': g_text.c:2296:13: warning: multi-line comment [-Wcomment] //sys_vgui(".x%lx.c create ppolygon %d %d %d %d %d %d %d %d %d %d\ ^ gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_rtext.o g_rtext.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_array.o g_array.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_template.o g_template.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_io.o g_io.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_scalar.o g_scalar.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_traversal.o g_traversal.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_guiconnect.o g_guiconnect.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_readwrite.o g_readwrite.c g_readwrite.c: In function 'canvas_writescalar': g_readwrite.c:462:13: warning: implicit declaration of function 'binbuf_savetext' [-Wimplicit-function-declaration] binbuf_savetext(w[i].w_binbuf, b); ^~~~~~~~~~~~~~~ gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_editor.o g_editor.c g_editor.c: In function 'canvas_donecanvasdialog': g_editor.c:2872:28: warning: passing argument 1 of 'gobj_shouldvis' from incompatible pointer type [-Wincompatible-pointer-types] if (gobj_shouldvis(&x->gl_obj, x->gl_owner)) ^ g_editor.c:217:5: note: expected 't_gobj * {aka struct _gobj *}' but argument is of type 't_object * {aka struct _text *}' int gobj_shouldvis(t_gobj *x, struct _glist *glist) ^~~~~~~~~~~~~~ g_editor.c: In function 'canvas_enterobj': g_editor.c:7455:9: warning: multi-line comment [-Wcomment] //sys_vgui("pdtk_gettip .x%lx.c %s %d \ ^ g_editor.c: In function 'canvas_sort_selection_according_to_location': g_editor.c:3826:40: warning: '<Uc420>[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] x->gl_editor->e_selection = sel[map[0]]; ~~~^~~ g_editor.c:3826:36: warning: '<Uc3c8>[<unknown>]' may be used uninitialized in this function [-Wmaybe-uninitialized] x->gl_editor->e_selection = sel[map[0]]; ~~~^~~~~~~~ gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_clone.o g_clone.c g_clone.c: In function 'clone_free': g_clone.c:168:13: warning: implicit declaration of function 'canvas_closebang' [-Wimplicit-function-declaration] canvas_closebang(x->x_vec[i].c_gl); ^~~~~~~~~~~~~~~~ gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_all_guis.o g_all_guis.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_bang.o g_bang.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_radio.o g_radio.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_mycanvas.o g_mycanvas.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_numbox.o g_numbox.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_toggle.o g_toggle.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o g_vumeter.o g_vumeter.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o m_pd.o m_pd.c m_pd.c: In function 'midi_gensym': m_pd.c:452:5: warning: implicit declaration of function 'strncpy' [-Wimplicit-function-declaration] strncpy(buf, prefix, 79); ^~~~~~~ m_pd.c:452:5: warning: incompatible implicit declaration of built-in function 'strncpy' m_pd.c:452:5: note: include '<string.h>' or provide a declaration of 'strncpy' m_pd.c:455:5: warning: implicit declaration of function 'strncat' [-Wimplicit-function-declaration] strncat(buf, name, 79 - strlen(buf)); ^~~~~~~ m_pd.c:455:5: warning: incompatible implicit declaration of built-in function 'strncat' m_pd.c:455:5: note: include '<string.h>' or provide a declaration of 'strncat' m_pd.c:455:29: warning: implicit declaration of function 'strlen' [-Wimplicit-function-declaration] strncat(buf, name, 79 - strlen(buf)); ^~~~~~ m_pd.c:455:29: warning: incompatible implicit declaration of built-in function 'strlen' m_pd.c:455:29: note: include '<string.h>' or provide a declaration of 'strlen' gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o m_class.o m_class.c m_class.c: In function 'new_anything': m_class.c:636:9: warning: implicit declaration of function 'close' [-Wimplicit-function-declaration] close (fd); ^~~~~ gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o m_obj.o m_obj.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o m_atom.o m_atom.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o m_memory.o m_memory.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o m_binbuf.o m_binbuf.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o m_conf.o m_conf.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o m_glob.o m_glob.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o m_sched.o m_sched.c gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o s_main.o s_main.c s_main.c: In function 'sys_main': s_main.c:325:5: warning: implicit declaration of function 'glob_recent_files' [-Wimplicit-function-declaration] glob_recent_files(0); ^~~~~~~~~~~~~~~~~ gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o s_inter.o s_inter.c s_inter.c: In function 'sys_startgui': s_inter.c:1267:21: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] ; ^ gcc -DPD -DPD_INTERNAL -DMSW -DPA_USE_ASIO -DPA_USE_WMME -DWINVER=0x0502 -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -mms-bitfields -DWISHAPP='"wish85.exe"' -Wall -W -Wstrict-prototypes -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch -O3 -funroll-loops -fomit-frame-pointer -DINSTALL_PREFIX=\"..\" -I../../pd/src -c -o s_file.o s_file.c s_file.c: In function 'sys_getpreference': s_file.c:204:44: warning: pointer targets in passing argument 5 of 'RegQueryValueExA' differ in signedness [-Wpointer-sign] err = RegQueryValueEx(hkey, key, 0, 0, value, &bigsize); ^~~~~ In file included from C:/msys64/mingw32/i686-w64-mingw32/include/windows.h:76:0, from s_file.c:36: C:/msys64/mingw32/i686-w64-mingw32/include/winreg.h:183:25: note: expected 'LPBYTE {aka unsigned char *}' but argument is of type 'char *' WINADVAPI LONG WINAPI RegQueryValueExA(HKEY hKey,LPCSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData); ^~~~~~~~~~~~~~~~ s_file.c: In function 'sys_putpreference': s_file.c:234:54: warning: pointer targets in passing argument 5 of 'RegSetValueExA' differ in signedness [-Wpointer-sign] err = RegSetValueEx(hkey, key, 0, REG_EXPAND_SZ, value, strlen(value)+1); ^~~~~ In file included from C:/msys64/mingw32/i686-w64-mingw32/include/windows.h:76:0, from s_file.c:36: C:/msys64/mingw32/i686-w64-mingw32/include/winreg.h:194:25: note: expected 'const BYTE * {aka const unsigned char *}' but argument is of type 'const char *' WINADVAPI LONG WINAPI RegSetValueExA(HKEY hKey,LPCSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData); ^~~~~~~~~~~~~~ s_file.c: In function 'fexists': s_file.c:649:15: error: storage size of 'statbuf' isn't known struct stat statbuf; ^~~~~~~ s_file.c:650:10: warning: implicit declaration of function 'stat' [-Wimplicit-function-declaration] return stat(s, &statbuf) == 0; ^~~~ s_file.c:651:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[1]: *** [makefile.mingw:165: s_file.o] Error 1 make[1]: Leaving directory '/home/Sales/purr-data/pd/src' make: *** [Makefile:46: build_pd] Error 2 copying pd-l2ork-specific externals... done with l2ork addons. done.
- Developer
Can you please try whether this replacement for fexists at s_file.c:647 fixes it?
static int fexists(const char *s) { FILE *fp = fopen(s, "r"); int res = fp != NULL; if (res) fclose(fp); return res; }
- Developer
The above code should be ok on any system with an ANSI C compiler that deserves the name, so I'm pretty sure that it will work.
I've also created a merge request to collect all the fallout from the previous merge request, see !58 (merged).
- Developer
NB: It should also be possible to make the original code using stat() work on Windows with mingw, probably there's just some mingw-specific header missing.
As soon as the semester is over, I'll have to get a Windows build system up and running so that I can compile PD there myself. I just don't have the time for that right now, sorry.
- Owner
It works, but why not just use canvas_open or one of the other public interfaces to check for existence?
- Developer
canvas_open has an awfully complicated interface for what I need to do there. However, I just found that there's a check_exists in g_canvas.c which does what I want. Alas, it's a static function, so I need to copy it over (don't really want to change the public API for something utterly trivial like this).
- Owner
How about m_pd.h line 553?
- Developer
Yes, I could use sys_fopen instead of fopen. It's not currently used anywhere else in Pd's C code (only in the externals), but it'll do. Let me quickly change the merge request...
- Developer
Changed !58 (merged) and rebased, currently doing a test build on Linux. Can you test on Windows?
- Developer
Tested on Linux, looking good.
- Owner
Don't have access to a Windows machine atm, but I can probably test tomorrow...
- Developer
Ok, could you then also please test the devices stuff (#213 (closed)) while you're at it, so that we can close that bug?
Also, the CI has been really slow the past two days, maybe you could cancel the current build and kick off https://git.purrdata.net/jwilkes/purr-data/pipelines/722 instead, so that I can test the Recent Files feature on the Mac? That would be really helpful.
- Owner
The CI got stuck for some unknown reason. I recently tried to upgrade some of the VMs in the hopes that not having to upgrade debian would speed them up. But it appears to have made no difference at all.
- Developer
Ok, no worries. In the meantime, I got Purr Data to build with MacPorts, so at long last I can do some bug-slashing and testing on the Mac now. Also, I can hopefully just hand out my own Mac packages to the students if the CI is stuck again. :)
- Owner
Oh nice.
How did you deal with the dependencies?
- Developer
How did you deal with the dependencies?
Well, they are all in MacPorts. :) Of course, I had to patch up a few things (most notably, the embed-MacOSX-dependencies.sh script), but that was easy. I currently keep my changes in a separate branch, you can find that here in case you want to take a look: https://git.purrdata.net/aggraef/purr-data/compare/master...macports-build. It shouldn't be too hard to massage tar_em_up et al so that we can support both builds, maybe with an extra option to specify the MP build. Expect a merge request for that some time...
The only gotcha I ran into is that the compiler was looking for extra stuff in /sw. I think that comes from Fink. Is that path hard-coded somewhere? Anyway, I got around that by just making /sw a link pointing to /opt/local.
- Owner
Is that path hard-coded somewhere?
Probably in several places. I made a bug the other day: #226 (closed)
It shouldn't be too hard to massage tar_em_up et al so that we can support both builds, maybe with an extra option to specify the MP build.
What in tar_em_up.sh needs to change?
- Developer
Probably in several places. I made a bug the other day: #226 (closed)
Ok, I see. The thing with MacPorts is that while it sets PATH in .profile, it doesn't set any include and library paths for the C/C++ compiler out of the box. (Of course this isn't hard to do, but we'll have to tell users in the MacPorts instructions.)
What in tar_em_up.sh needs to change?
It actually works as is, if I patch up the embed-MacOSX-dependencies.sh script. But I'd like to have the necessary adjustments handled automatically, so I need to be able to select the specific build environment (Brew or MP) when invoking tar_em_up.sh. I still need to work out the details, will send you a merge request when I have something that works.
- Developer
The CI got stuck for some unknown reason.
The CI seems to be going again, but there are no build artifacts available for OSX, for none of the recent (successful) pipelines #722 (closed) .. #724 (closed). See, e.g., https://git.purrdata.net/jwilkes/purr-data/builds/2990. The error message at the end of the build log is:
Missing gitlab-runner. Uploading artifacts is disabled.
The build artifacts for Debian and Ubuntu look all right, so it seems that only the OSX binaries fail to be uploaded.
While I can build my own packages now, it would be nice to be able to check whether your Homebrew build has the libraries fixed now (issue #215 (closed) which is still open).
- Owner
Missing gitlab-runner. Uploading artifacts is disabled.
I actually removed a VM snapshot and tried following the build instructions from a clean VM. But in the process I forgot to add the gitlab-runner binary which is needed for uploading artifacts.
- Developer
Did you get around fixing this yet? There are still no OSX build artifacts as of pipeline #725 (closed).
- Owner
I may have forgotten to take a new VM snapshot. It should be fixed in the current CI build.
- Developer
Nope, still no dice with https://git.purrdata.net/jwilkes/purr-data/builds/3002, same error. :(
- Owner
I'll check it out when the last two builds finish.
- Owner
OSX artifact available now.
- Developer
@jwilkes Yep, OSX artifacts are back, thanks a bunch!
@esaruoho There's still an issue with filenames having UTF-8 in them (international characters and such, see #230 (closed)), but I already have a fix for that (!62 (merged)), so make sure to grab the latest build again after Jonathan merged this.
- Esa Ruoho reopened
reopened
- Developer
@esaruoho I thought that 2.1.2 doesn't launch at all for you on Windows 10? Anyway, I can't reproduce this, works for me on both Windows XP (VM) and Windows 8 (real laptop).
recent files seems to work on 2.1.2 on windows 10 now. i don't know why it sometimes works and sometimes doesn't, but this is probably due to extremely aggressive work-related hardcore antivirus / firewall / file protection / stuff that has nothing to do with purr data stuff.
- Esa Ruoho closed
closed