cannot dynamically load position-independant executable
idk that much about c++, but I'm pretty sure there shouldn't be a 'main' function. In pd you compile objects as libraries. You have to look at the 'how to program externals' book. https://github.com/pure-data/externals-howto#definitions-and-prerequisites
Plus I'm pretty sure you have to export stuff correctly (as 'c') so that the object loader knows how to load it
you might try the 'flext' framework or look at the ceammc distribution (I think they might use c++?
https://github.com/grrrr/flext
https://github.com/uliss/pure-data/blob/ceammc/ceammc/ext/class-wrapper/README.md
https://github.com/uliss/pure-data/blob/ceammc/ceammc/ext/src/lib
Also it would be helpful to post the command you're using to compile it
How to use Enttec DMX Usb Pro with PD on Raspberry Pi
@60hz You might be able to redirect a comport to your cheap usb device.
It is possible in windows using.......
NET USE COM1: //pc_name/printer_share_name /persistent:yes
The usb device has to be shared first......
https://superuser.com/questions/923426/how-to-map-a-virtual-com-port-to-a-physical-usb-port
The proviso about plain text would not bother you for a dmx dongle.
Further down the same thread you will see a link to https://ftdichip.com/drivers/vcp-drivers/
..... and on that page the virtual drivers for windows.
They mention "D2XX Direct drivers" are included...... and I have a very vague recollection that it is they that do the FUDI stuff.
They only mention windows....... and then further down the page are drivers signed by Apple, and quite a few others.
The virtual drivers should make the device appear as a comport.
You can see on Amazon that a few people needed these virtual drivers to make the device you have work with FreeStyler....... where they then select Enntec DmxPro as the output.
In Freestyler selecting the Enntec is essentially choosing to communicate through a comport rather than through a driver interface.
When you select the DMX Pro in Freestyler it asks which comport (years since I have used it... but pretty sure)
David.
P.S. I forgot to mention yesterday that you could send your data directly from the RPI using Python (maybe Python is already involved) and call pdsend....... probably pdsend.linux which is in the Pd folders somewhere.
That would send directly over Ethernet to a [netreceive] on your computer.
Approximate usage..... https://guitarextended.wordpress.com/2012/11/03/make-python-and-pure-data-communicate-on-the-raspberry-pi/
I assume (I do that a lot) that
pdsend (your computer IP address):(port) would send correctly...... something like pdsend 192.168.1.33:3000 would send to [netreceive 3000] on your computer.
You mentioned an Ethernet shield...... does your RPI not have an Ethernet port built in ?...... I thought they all have one.
How to make the outlet port "hot area" a bit larger?
@ddw_music said:
Does anyone know offhand where to hack the hot zone size, so that maybe one does not have to have superhuman precision?
searching sources for
mouse
I found in https://github.com/pure-data/pure-data/blob/20334410c20948f14f5c1d8ae5ed992717b83291/tcl/pd-gui.tcl
# mouse cursors for all the different modes
[...]
set ::cursor_editmode_connect "circle"
.
Then searching for
cursor_editmode_connect
I found probably relevant
https://github.com/pure-data/pure-data/blob/c4ae1bd8df436de15c0a80f303ae33b5f3569088/src/g_editor.c
/* look for an outlet */
else if (hitobj && (noutlet = obj_noutlets(hitobj)) &&
ypos >= y2 - (OHEIGHT*x->gl_zoom) + x->gl_zoom)
{
int width = x2 - x1;
int iow = IOWIDTH * x->gl_zoom;
int nout1 = (noutlet > 1 ? noutlet - 1 : 1);
int closest = ((xpos-x1) * (nout1) + width/2)/width;
int hotspot = x1 +
(width - iow) * closest / (nout1);
if (closest < noutlet &&
xpos >= (hotspot - x->gl_zoom) &&
xpos <= hotspot + (iow + x->gl_zoom))
{
if (doit)
{
[...]
/* not in an outlet; select and move */
...Searching the sources for IOWITH
or better OHEIGHT
has this result among others:
https://github.com/pure-data/pure-data/blob/5462d1eae0ad9f139997d56d459c212e797d96be/src/g_canvas.h
* --------------------- geometry ---------------------------- */
#define IOWIDTH 7 /* width of an inlet/outlet in pixels */
#define IHEIGHT 3 /* height of an inlet in pixels */
#define OHEIGHT 3 /* height of an outlet in pixels */
#define IOMIDDLE ((IOWIDTH-1)/2)
#define GLIST_DEFGRAPHWIDTH 200
#define GLIST_DEFGRAPHHEIGHT 140
#define GLIST_DEFCANVASXLOC 0
#ifdef __APPLE__
#define GLIST_DEFCANVASYLOC 22
#else
#define GLIST_DEFCANVASYLOC 50
#endif
.
(Not sure how the apparently different size of inlets and outlets hot area is coded? Inlets appear to be 'magnetic'. )
Wish there was a shortcut to open objects-help.
Could belong here:
https://github.com/pure-data/pure-data/blob/90ad8005199605095e49dbbf1daf4f032211b7f4/tcl/pd_bindings.tcl
Launchpad4Oktatrack
hello everyone
since you cannot change outgoing midi messages in those devices,here is my patch to turn Novation Launchad mini mk1&mk2 into Octatrack midi controller,plus i added few small but nice features...
Repo
https://github.com/k2z3k0/launchpad-for-octatrak-in-pure-data
Example video
Getting Started with Raspberry Pi, Pure Data
How to deal with Raspberry Pi as usb midi host
Raspberry Pi audio/midi board
https://blokas.io/pisound/
Raspberry Pi audio/midi board
https://www.osaelectronics.com/.../midi-board-for.../
Raspberry Pi how to get midi out out of onboard GPIO
https://github.com/nugluke/midi2gpio
best regards
Kazik
Stack overflow when trying to increase the size of a functioning "Game of Life"-patch
@SignalsInNoise Here are some other implementations of the Game of Life:
With data structures:
- https://forum.pdpatchrepo.info/topic/10916/conway-s-game-of-life-implementation-with-data-structures
With ofelia:
- https://forum.pdpatchrepo.info/topic/11826/conways-game-of-life-made-with-ofelia
- https://forum.pdpatchrepo.info/topic/13155/game-of-life-patch-v2-ofelia-v4-offbo-issue-with-standalone-app
- https://forum.pdpatchrepo.info/topic/13181/game-of-life-new-attempt
- https://forum.pdpatchrepo.info/topic/13248/3d-game-of-life
With Ofelia / Emscripten (working in the browser):
Stack overflow when trying to increase the size of a functioning "Game of Life"-patch
Hi folks! I've been getting to know Pd and having a ton of fun doing it, but I've run into a pickle that is turning the fun more towards frustration
As my first project, I decided to build a musical version of Conway's Game of Life, and I even got a small version of it working, but trying to make the game a bit larger has stalled on a weird issue that I just can't seem to solve.
Basically, my "game" is made up of cells, which are abstractions that are identical in every way, except they take as a creation argument a number, which determines both the order in which the cells are processed, and their position in the game grid. When the game grid is loaded up, a bang goes to cell number 1, which reads its own creation argument and calculates based on that, and the number of rows and columns in the grid, which cells are its neighbors. It then sends a bang to cell 2, which does the same and sends a bang to cell 3 etc.
"Playing" the game works similarly, with cell 1 first calculating how many neighbors it has alive, and then telling cell 2 to do the same etc. Once the last cell is reached, a new bang is sent to cell 1 telling it to set its new state, and this instruction is again passed forward to cell 2 etc.
This all works fine in a 5-by-5 grid. In fact, I've even been able to "play" some music using this smaller version (and it sounds pretty fantastic as well!). However, if I increase the number of rows and columns to 10, I get a "stack overflow" error when I load the grid up. Specifically, I've located the problem to cell number 56: it still has all its neighbors set up properly, but cell number 57 no longer does, implying that somehow cell 56 fails to send 57 the instruction to set up. This is quite strange considering that there is nothing different about cell number 56 compared to the previous cells, which have all worked fine.
I've checked that the creation arguments are correct, and the neighbors get set up correctly (though even if they didn't, the setup shouldn't cause a stack overflow). I can't think of an issue with the order of operations either, as the setup is handled cell-by-cell.
All ideas on what could be causing this would be be greatly appreciated! If anyone wants to dig deeper, here is a zip with the cell-abstraction and two versions of the grid-patch: one with 25 cells (this works), and another with 100 cells (this doesn't): game_of_life.zip
(I've taken out all the code having to with actually playing music with that thing so it's easier to understand, so it's just the visual part of the game, but it works standalone.)
Starting a Pure Data Wiki (Database/Examples Collection)
Another sample from the work-in-progress ...
https://docs.google.com/document/d/1tzS2KU8x31JXoUxmkEr5WikJvxcrgHa4C0vM8LBw49Q
I thought it would be worth having a category for these more self-contained collections
Modular Systems in Pd
ACRE
https://git.iem.at/pd/acre
ARGOPd
http://gerard.paresys.free.fr/ARGOPd/
Automatonism
https://www.automatonism.com/
Context
https://github.com/LGoodacre/context-sequencer
https://contextsequencer.wordpress.com/
DENSO
https://www.d-e-n-s-o.org/pure
DIY
http://pdpatchrepo.info/patches/patch/76
Kraken - Virtual Guitar Effects Pedal Board
https://forum.pdpatchrepo.info/topic/11999/kraken-a-low-cpu-compact-highly-versatile-guitar-effects-stompbox
LWM Rack
http://lwmmusic.com/software-lwmrack.html
La Malinette
http://malinette.info/en/#home
Open toolkit for hardware and software interactive art-making systems
Mandril Boxes
http://musa.poperbu.net/index.php/puredata-mainmenu-50#mandril
Metastudio
http://www.sharktracks.co.uk/html/software.html
Muselectron Studio
http://www.muselectron.it/MuselectronStudio/Studio_index.html
NetPd
http://www.netpd.org
NoxSiren
https://forum.pdpatchrepo.info/topic/13122/noxsiren-modular-synthesizer-system-v10
Pd Modular Synthesizer
https://github.com/chrisbeckstrom/pd_modular_synth
Pd-Modular
https://github.com/emssej/pd-modular
PdRacks
https://github.com/jyg/pdr
Proceso
https://patchstorage.com/proceso/
Universal Polyphonic Player (UPP)
https://grrrr.org/research/software/upp/
https://github.com/grrrr/upp
VVD - Virtual (Virtual) Devices
http://www.martin-brinkmann.de/pd/vvd.zip
“a virtual modular-rack” from http://www.martin-brinkmann.de/pd-patches.html
XODULAR
https://patchstorage.com/xodular/
A previous incarnation of Automatonism
any others that should be in there?
Solution
Thẻ Xanh và Quốc Tịch: quyền lợi của những người sở hữu thẻ xanh
Nếu như bạn muốn định cư ở Mỹ thì bạn luôn mong muốn sở hữu cho mình một tấm thẻ xanh hay còn gọi là thẻ thường trú nhân. Thẻ xanh sẽ giúp bạn định cư một cách ổn định cùng với nhiều quyền lợi khác đi kèm. Nếu như bạn đang băn khoăn tới những lợi ích mà Thẻ Xanh và Quốc Tịch Mỹ đem lại thì hãy theo dõi bài viết dưới đây nhé.
Xem thêm thông tin về định cư Châu Âu và những kinh nghiệm định cư tại đây: Kinh Nghiệm Định Cư Nhập Tịch Châu Âu
Đầu tiên bạn cần tìm hiểu việc nhập quốc tịch Mỹ và việc được cấp thẻ xanh có điểm gì khác nhau. Thẻ xanh căn bản là giấy chứng nhận thường trú hoặc giấy tờ nhập cư cho người không là công dân Mỹ. Đối với những người được cấp thẻ xanh sẽ được hưởng những chế độ như một thường trú nhân hợp pháp.
https://i.imgur.com/Jmf89Yp.png
Mỹ là đất nước nhiều người muốn định cư
Việc mang trong mình một quốc tịch chính là sợi dây ràng buộc pháp lý giữa cá nhân người định cư và nhà nước Hoa Kỳ. Chỉ một khi bạn đã nhập quốc tịch Mỹ thì bạn sẽ được công nhận là công dân chính thức của nước này và được hưởng những quyền lợi cũng như thực hiện những nghĩa vụ theo pháp luật và nhà nước Mỹ quy định.
Để có thể nhập quốc tịch Mỹ thì bạn cần phải đạt đủ 5 điều kiện dưới đây đó là bạn phải là thường trú nhân tại Mỹ ít nhất 5 năm. Còn nếu bạn có vợ hoặc chồng là công dân Mỹ thì thời hạn này được rút ngắn còn 3 năm. Ngoài ra thì bạn còn phải có mặt tại Mỹ ít nhất 30 tháng trong 5 năm vừa qua hoặc 18 tháng trong 5 năm vừa qua. Bạn cũng phải sống ít nhất 3 tháng trước khi nộp đơn ở 1 tiểu bang hoặc đặc khu do Sở di trú Mỹ quản lý. Bạn tuyệt đối không được vi phạm pháp luật, phải có nhân cách tốt, hiểu rõ và chấp hành những nguyên tắc của Hiến pháp Hoa Kỳ.
Nếu bạn quan tâm nhiều hơn tới định cư Châu Âu thì có thể xem thêm thông tin tại: https://www.youtube.com/channel/UCJ9KLht_ttjHI-DtdDMR9lw
Có tới 3 cách thức để bạn có thể nhập quốc tịch Mỹ đó là dựa trên khả năng là định cư Mỹ diện đầu tư EB-5, xin định cư theo diện EB-3 dành cho lao động việc làm và định cư theo hình thức mối quan hệ gia đình (bảo lãnh).
Có nhiều chương trình định cư Mỹ mà bạn có thể tham khảo
Xét trên việc có ưu thế vượt trội cả về thời gian, thủ tục, hồ sơ, quy định nhập cư… EB-5 được xem là cách nhanh nhất để các cá nhân cùng gia đình có thể nhập quốc tịch Mỹ. Khi bạn đã định cư và có Thẻ Xanh và Quốc Tịch thì bạn cần phải đáp ứng đầy đủ các điều kiện theo quy định của Sở di trú và nhập tịch Mỹ.
Bạn cũng cần phải chuẩn bị hồ sơ và thời gian chờ đợi phê duyệt hồ sơ nhập tịch Mỹ cũng sẽ khác nhau và nó sẽ phụ thuộc vào các trường hợp của đơn phương. Thời gian trung bình để xét duyệt hồ sơ là từ 3-6 tháng.
Khi bạn sở hữu được thẻ xanh bạn sẽ có rất nhiều lợi ích đó là được sống và làm việc vô thời hạn tại Mỹ. Bạn cũng có thể nộp đơn xin nhập quốc tịch sau 5 năm sinh sống với điều kiện lưu trú ít nhất 6 tháng/năm. Bạn cũng có thể bảo lãnh người thân sang Mỹ và xuất nhập cảnh tự do mà không cần đến visa. Đối với học sinh quốc tế sở hữu thẻ xanh sẽ được miễn giảm học phí đối với bậc trung học và chỉ cần đóng 1 phần 3 số tiền học đối với bậc đại học và cao học.
Nếu như bạn đang có quyết định định cư thì bạn cũng nên tìm hiểu những thông tin liên quan như Quốc Tịch Síp, Thẻ Xanh Châu Âu, Đầu tư định cư Châu Âu - LAMTHANHTIEN để có một sự chuẩn bị kỹ càng.
MusicPlayer extension for the Ofelia effect VideoPlayer ;)
Now that it is possible to generate shader visuals with sound information in Pure Data (it was before with Gem, right?),
I was wondering how it can work the other way around. To generate sound or at least sound information with shaders and send it to Pure Data. There are some very interesting examples of how to use the GPU for sound generation. This one is Shadertoy again:
https://stackoverflow.com/questions/34859701/how-do-shadertoys-audio-shaders-work https://www.reddit.com/r/musicprogramming/comments/2cbd2s/shadertoy_has_added_glslsynthesized_audio/
This seems also interesting: https://www.fsynth.com/
Anyway, I read out one horizontal pixel line per frame and use the rgb information for generating MIDI notes.
I also use the mScale abstraction from @ingox for scaling the notes.
The player generates also MIDI notes from images, it is only silent if the whole scanned line is very dark or very bright .
My first approach was to generate audio from the pixel information like in the examples above, but the sound was always distorted (but I am sure it could work... ).
I am also interested in other methods to generate sound from visuals and visuals from sound.
GLSL_Video_Effects_V01_MusicPlayer.zip
Here is an example from the MusicPlayer:
Ofelia - videoPlayer and GLSL Effects
@Cuinjune thanks for the link and your suggestions. so it sounds like it is possible, but also not the easiest task.
It seems the easiest to put every effect of the desired chain into one shader.
But this sounds promising:
"You just bind one shader, render all the objects using that shader, then bind the next shader, render the objects using that one, etc.
You can have as many shader objects (shaders loaded into memory and compiled) as you want; only one can be bound (active) at a time."
They also write about framebuffers, perhaps that is what I would need for a video delay, but that is another topic...
And I am really new to GLSL, so not everything that is possible with openGL is possible for me (yet).
I will give it a try perhaps...
A few websites with GLSL content and code:
https://www.interactiveshaderformat.com/
https://thebookofshaders.com/
https://www.shadertoy.com/
https://gl-transitions.com/
http://glslsandbox.com/