Not receiving messages from TouchOSC
@lovelovevideo In the options in TouchOsc you can tell it to send a ping (it sends every 60 seconds.... I remember....... when ticked). Put a print connected to [dumpOSC] and see if the pings arrive in the Pd terminal window. If no ping then has the tablet/phone connected to the wrong network?....... no not the wrong network if it is seeing your ip....... clutching at straws.........
If you send messages back to TouchOsc does the little red dot flash at top right of the window?
I will try to dig out a patch to test that........
This should make the red dot flash every 2 seconds........
osc_test.pd
if you put the phone's IP (and TouchOSC port) in the message for [udpsend] and bang it.
David.
Psychedellic Audioguide using MobMuPlat or PdParty
-
Recording to RAM has an upper limit on how large of a buffer you can allocate (I don't recall what the limit is), whereas recording to disk is contrainted only by available disk space. Recording to disk should not interrupt audio unless you are simultaneously reading/writing a lot to/from disk (or otherwise overworking the audio thread).
-
Not really. At the moment, PdParty has, in addition to pd vanilla, the externals at https://github.com/danomatika/PdParty. MobMuPlat only has the built-in vanilla externals (fiddle~, etc). There's no way to "drop in" new external objects (because iOS does not allow dynamic loading).
-
LANdini, Ping & Connect, (and, to my knowledge, Abelton link), and merely sending out a ping to other devices over multicast, all require a local network, meaning you'd have to carry around a router and have people connect to that. Otherwise, if over cell data (3G, etc), you'd have to program (in native app code) some sort of shared time (e.g. using NTP, network time protocol, which in my experience works well and will give you sub-second precision across multiple devices set to go off at the same time)
-
Pd vanilla only for both PdParty and MobMuPlat
-
There's a working example on www.mobmuplat.com, go to "rough doc" link.
MIDI Controller experiences/suggestions
@lovelovevideo Can your tablet access anything else (files etc.) on the laptop?
There are some "ping" apps for android.... Can the tablet ping the laptop and vice versa?
I just tried between my laptop and phone and it worked straight away (win7)........ I know...... that doesn't help.
The default gateway is the base address of the router that is connected to the internet...... and you don't need the internet.
What are the ip addresses of the laptop and the tablet?
David.
canvas colors
Pink as RRGGBB / Hex / 0xCC99CC
Pink as RRGGBB / Integer / 13408716
Magic is (-1 -color) so in that case -1 -13408716 equals -13408717.
Pink color is -13408717.
Note that positive number corresponds to indexed colors.
Note that only the 6 MSB of each RGB component are saved.
Don't ask me why. I have no idea.
Notice that it is not really pink, it is rather violet.
.Xressources and PD
@ponnuki I knew I had seen it somewhere.......
If you want to change the gui permanently it will probably (definitely) be easiest to edit the tcl..... (for you only...... not if you share a patch)..........
You already have the pd-gui.tcl file in extended and just need to edit lines 228 - 244..........
You will have to force the re-write of the file..............
In vanilla 0.46 the colour controls seem to have been distributed to other tcl files that are called. You will need to do a "text search inside files" to find them and edit them. In the tcl demo folder there are some "theme" files that seem to be part of the new way of doing this......
But you might be able to copy/paste the lines from extended into the vanilla version of pd-gui.tcl. Make a backup first. I don't know whether the set commands will be interpreted as you wish or even "at all".........
In fact, you can change a lot more than just the colors in the tcl folder so.......... be careful out there!........
David.
udpsend and receive
@toddak Hello Toddak.......
I will post this here first. Error 51 is (for a mac).........
"51 ENETUNREACH Network is unreachable. A socket operation was attempted to an unreachable network."
So I will try to get the same error in my OSX partition, but it might take a while!.
Googling that error brings up a lot of chat about VPN's...........? are you running one on your home-to-work network?
Are you using "udp" for "netsend" (the -u -b switches I think)?
Do you get the message if you open just Pd........ before you open a patch?
Are you sure you are connected? Check by "pinging" a Pi? Check by pinging the router?
If you link (with a network cable) the "wan" (single rj45 socket) of the Linksys to your home network does that fix the problem.
Has the mac the correct information in the "prefs" netwok page..... Ip, subnet. Gateway that match the router info?
I will email you now so that you can send me as much as you have already found out........, and when I get a chance I will email you a zip of some screenshots of "good" router setup pages for your project....
David.
udpsend and receive
@toddak Ok....... I just booted in to osx for a moment to check that I can see my Pi from there. It didn't pop up straight away but I could ping it and then it showed up in finder/go/ smb//:
(because I have a samba share/nas running on it).
So the 10.1.1.8 address would be fine, but if you can fix it then maybe make it 10.1.1.101 (for later) and the others 102, 103, 104........... easy to remember!
The 10.50.50.x is a different subnet and your router will think it is somewhere that it can't talk to.....
So leave it as 10.1.1.8 for now and try to ping it from terminal..........
In Utilities / terminal on your mac..
ping 10.1.1.8
and you should see numbers coming in for how long the pi takes to respond?
David.
Run............. sudo chmod 4755 /usr/bin/pd-extended ............again in case it is a permissions thing...
BUT its not extended is it......... you will have to google that!
Reboot it maybe ( sudo reboot will do that "softly"...... better than unplugging)...
sorry, off to bed now.
PD from Max, missing Umenu
@Orkester said:
Little things like scope~ needing to be written [Scope~] was a bit confusing, but PD works great.
Since [Scope~] is an external, it may have been to avoid a nameclash with another [scope~] external. Just speculating, though.
I've looked into wrap~, and though it might be easier if it could accept wrapping arguments like max's pong~, I can surely force it into those ranges otherwise.
There is a [pong~] clone in Pd-extended.
I've also realized there aren't any dsp conditionals, like >=~.
Well, they actually do exist, but there were issues with them loading properly in Pd-extended. You can use [expr~ $v1>=$v2] as an alternative. [expr~] is one of those objects not included in Max that you may find yourself using all the time (unless you were using the external).
Also wondering about matrix~, is the table method the only way?
I don't know of a [matrix~] equivalent in Pd, but you definitely have all the objects you need to build it. I think you actually mean [matrixctl], though? Most people just line up a bunch of [tgl]s to make that kind of interface.
That's one of the things you'll likely find when moving from Max to Pd. Pd-vanilla doesn't have as many high-level objects as Max/MSP, but most of them have counterparts in Pd-extended or can be built with what Pd offers.
Are there externals I will need that aren't included in the recent PDextended release?
That depends on what your needs are.
Also wondering if anyone here is familiar with jMax, and if so if it would have the objects I'm looking for in an open source format.
I've never used jMax, but I do know that it was just recently brought back from the dead after a few years of no development and, so, needs to rebuild its community. I would say "not likely."
Will I need to tackle OSC to get these functionalities outside of Max?
That also depends on what your needs are.
DJ/VJ scratching system
First my story: (you can skip down to END OF STORY if you want)
Ever since I saw Mike Relm go to town with a DVDJ, I've wanted a system where I could scratch and cue video. However, I haven't wanted to spend the $2500 for a DVDJ. As I was researching, I found a number of different systems. I am not a DJ by trade, so to get a system like Traktor or Serrato with their video modules plus turntables plus hardware plus a DJ mixer, soon everything gets really expensive. But in looking around, I found the Ms.Pinky system and after a little bit, I found a USB turntable on Woot for $60. So I bought it. It was marketed as a DJ turntable, but I knew that it wasn't really serious since it had a belt drive, but it came with a slip-pad and the USB connection meant that I wouldn't need a preamp. And so I spend the $100 on the Ms.Pinky vinyl plus software license (now only $80). This worked decently, but I had a lot of trouble really getting it totally on point. The relative mode worked well, but sometimes would skip if I scratched too vigorously. The absolute mode I couldn't get to work at all. After reading a little more, I came to the conclusion that my signal from vinyl to computer just wasn't strong enough, so I would need maybe a new needle or maybe a different turntable and I didn't really want to spend the money experimenting. I think that the Ms. Pinky system is probably a very good system with the right equipment, but I don't do this professionally, so I don't want to spend the loot on a system.
Earlier, before I bought Ms.Pinky (about two years ago), I had also looked around for a cheap MIDI USB DJ controller and not found one. Well, about a month ago, I saw the ION Discover DJ controller was on sale at Bed, Bath & Beyond for $50. They sold out before I could get one, but Vann's was selling it for $70, so I decided that that was good enough and bought one. I had planned to try to use it with Ms. Pinky since you can hook up MIDI controllers to it. But it turns out that you can hook up MIDI controllers to every control except the turntable, so that was a no go. If I had Max/MSP/Jitter, I could have changed that, but that's also way expensive. So, how should I scratch? My controller came with DJ'ing software and there's also some freeware, like Mixxx, but none of this has video support. So I look around and find Pure Data and GEM.
And I see lots of questions about scratching, how to do it. And there are even some tutorials and small patches out there, but as I look at them, none of them are quite what I'm looking for. The YouTube tutorial is really problematic because it's no good at all for scratching a song. It can create a scratching sound for a small sample, but it's taking the turntable's speed and using that as the position in the sample. If you did that with a longer song, it wouldn't even sound like a scratch. And then there are some which do work right, but none of them keep track of where you are in the playback. So, whenever you start scratching, you're starting from the beginning of the song or the middle.
So, I looked at all this and I said, "Hey, I can do this. I've got my spring break coming up. Looking at how easy PD looks and how much other good (if imperfect) work other people have done, I bet that I could build a good system for audio and video scratching within a week." And, I have.
END OF STORY
So that's what I'm presenting to you, my free audio and video scratching system in Pure Data (Pd-extended, really). I use the name DJ Lease Def, so it's the Lease Def DJ system. It's not quite perfect because it loads its samples into tables using soundfiler which means that it has a huge delay when you load a new file during which the whole thing goes silent. I am unhappy about this, but unsure how to fix it. Otherwise, it's pretty nifty. Anyway, rather than be one big patch, it relies on a system of patches which work with each other. Each of the different parts will come in several versions and you can choose which one you want to use and load up the different parts and they should work together correctly. Right now, for most of the parts there's only one version, but I'll be adding others later.
There's a more detailed instruction manual in the .zip file, but the summary is that you load:
the engine (only one version right now): loads the files, does the actual signal processing and playback
one control patch (three versions to choose from currently, two GUI versions and a MIDI version specific to the Ion Discover DJ): is used to do most of the controlling of the engine other than loading files such as scratching, fading, adjusting volume, etc.
zero or one cueing patch (one version, optional): manages the controls for jumping around to different points in songs
zero or one net patch (one version: video playback): does some sort of add-on. Will probably most commonly be used for video. The net patches have to run in a separate instance of Pd-extended and they listen for signals from the engine via local UDP packets. This is set-up this way because when the audio and video tried to run in the same instance, I would get periodic little pops, clicks, and other unsmoothnesses. The audio part renders 1000 times per second for maximum fidelity, but the video part only renders like 30 or 60 times per second. Pure Data is not quite smooth enough to handle this in a clever real-time multithreading manner to ensure that they both always get their time slices. But you put them in separate processes, it all works fine.
So, anyway, it's real scratching beginning exactly where you were in playing the song and when you stop scratching it picks up just where you left off, you can set and jump to cue points, and it does video which will follow right along with both the scratching and cuing. So I'm pretty proud of it. The downsides are that you have to separate the audio and video files, that the audio has to be uncompressed aiff or wav (and that loading a new file pauses everything for like 10 seconds), that for really smooth video when you're scratching or playing backwards you have to encode it with a codec with no inter-frame encoding such as MJPEG, which results in bigger video files (but the playback scratches perfectly as a result).
So anyway, check it out, let me know what you think. If you have any questions or feedback please share. If anyone wants to build control patches for other MIDI hardware, please do and share them with me. I'd be glad to include them in the download. The different patches communicate using send and receive with a standard set of symbols. I've included documentation about what the expected symbols and values are. Also, if anyone wants me to write patches for some piece of hardware that you have, if you can give me one, I'll be glad to do it.
Keith Irwin (DJ Lease Def)