Re: [PD] Pd Tutorial redesigned

2009-07-11 Thread Chris McCormick
On Sat, Jul 11, 2009 at 06:13:01AM +0200, ydego...@gmail.com wrote:
 b/ i think tutorials are basically producing people
 making the same kind of music and/or visuals,
 every library has its own help,
 why would you need to be guided from A to Z?
 result would be just another clone,
 like people learning to play guitar
 playing beatle's songs...
 not what i'm interested in,,,

Maybe you can think of these kinds of tutorials as a 'gateway drug' to harder
Pd usage.

Keep on provoking,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Pd-extended bug

2009-07-09 Thread Chris McCormick
Hi,

At RjDj we're interfacing Pd with Python using a wrapper I wrote, and one of
the developers had this bug report when he tried it with Pd-extended (not
realising that there is another type of Pd).

We're going to be using vanilla only, but I thought I should send a heads-up to
the list anyway incase someone else runs into this Pd-extended weirdness.

The bug report below doesn't happen on Pd-vanilla at all. See the attached
files to try and replicate it. Basically it seems like Pd-extended is crashing,
or not starting at all with Pd default command line args.

Best,

Chris.

- Forwarded message from Martin Roth -

From: Martin Roth
To: Chris McCormick chr...@rjdj.me,
Resent-Date: Thu, 09 Jul 2009 17:31:56 +0200

I have trouble being able to load pd from the command line with
the -open flag, pointing at the relevant scene. That is, pd seems to
load normally (though strangely showing only the console and not the
editor gui). There is the following command line output:
tk scaling is 0.999016715831
Pt_Start() called

When I try to send the patch a message from python (to a netreceive
object in pd), then python (using Chris' PdSend object) then I receive
the following error:
 pdSend.Send(hello)
error: uncaptured python exception, closing channel Pd.PdSend
connected 127.0.0.1:30321 at 0x6f648 (class 'socket.error':(32,
'Broken pipe') 
[/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/asynchat.py|initiate_send|219]
[/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/asyncore.py|send|331]
[/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/asyncore.py|send|331])

On the other hand, if I open PD and load the scene manually, then
everything works fine. Thoughts? -Martin

- End forwarded message -
---
http://mccormick.cx


test.pd
Description: application/puredata
from time import time
import os
import os.path

from PodSix.Pd import Pd

start = time()
print launching pd
pd = Pd(nogui = False, open = os.path.join(os.getcwd(), data, test.pd), port=30321)
def Start():
	pd.Send(My test message)
print running a bunch of stuff for 30 seconds
while time() - start  30:
	#if time() - start  20 and not pd.connected:
	#	pd.Connect()
	pd.Update()
	
	if started: yo in pd.messages:
		print Running connect
		pd.Connect(Start)
	
	if pd.messages:
		print pd.messages.pop()
	print time() - start
	# print update
print exiting pd
pd.Exit()
print done
from os import environ, kill, wait, read
from subprocess import Popen, PIPE
import sys
import signal
import asyncore
import asynchat
import socket
import select

# Copyright Chris McCormick, 2008
# LGPL

class PdSend(asynchat.async_chat):
	def __init__(self):
		self._cache = []
		self._socket = None
	
	def Connect(self, addr):
		self._socket = asyncore.dispatcher()
		self._socket.create_socket(socket.AF_INET, socket.SOCK_STREAM)
		self._socket.connect(addr)
		asynchat.async_chat.__init__(self, self._socket)
		[self.Send(d) for d in self._cache]
	
	def Send(self, data):
		if self._socket:
			asynchat.async_chat.push(self,  .join([str(d) for d in data]) + ;\n)
		else:
			self._cache.append(data)

class PdReceive(asynchat.async_chat):
	def __init__(self, parent, localaddr=(127.0.0.1, 30322)):
		self._parent = parent
		self._socket = asyncore.dispatcher()
		self._socket.create_socket(socket.AF_INET, socket.SOCK_STREAM)
		self._socket.set_reuse_addr()
		self._socket.bind(localaddr)
		self._socket.handle_accept = self.handle_accept
		self._socket.listen(1)
	
	def handle_accept(self):
		conn, addr = self._socket.accept()
		asynchat.async_chat.__init__(self, conn)
		self._ibuffer = 
		self.set_terminator(;\n)
		self._parent.Connect()
	
	def collect_incoming_data(self, data):
		self._ibuffer += data
	
	def found_terminator(self):
		data = self._ibuffer.split( )
		self._ibuffer = 
		
		method = getattr(self._parent, 'Action_' + data[0], None)
		if method:
			method(data)
		else:
			print no method for input, data

class PdStderr(asynchat.async_chat):
	def __init__(self, fd, parent):
		self._fd = fd
		self._parent = parent
		self._ibuffer = 
		self.set_terminator(\n)
	
	def Update(self):
		for fd in select.select([self._fd], [], [], 0)[0]:
			self._ibuffer += fd.read(1)
			if len(self._ibuffer):
if self._ibuffer[-1] == \n:
	self._parent.Error(self._ibuffer[:-1])
	self._ibuffer = 
			else:
self._parent.PdDied()

class Pd:
	
		Spawns an instance of the Pure Data program and manages communications with it.
	
	errorCallbacks = {}
	def __init__(self, port=30321, nogui=True, open=_main.pd, cmd=None):
		
			nogui is a boolean which specifies whether to start Pd with or without a gui. Defaults to nogui=True
			open is a string which specifies a pd file to open on startup.
			cmd is a message to send to the pd interpreter on startup.
		
		# print  .join([pd, nogui and -nogui or , open and -open '%s' % open or , cmd and '-send %s' % cmd or ])
		
		self.connectCallback = None
		
		args = [pd, -stderr

[PD] Pd livecoding cheat sheet

2009-07-06 Thread Chris McCormick
Hey PdPeople,

There's going to be a livecoding event here in London and I wanted to use Pd to
do something. I was wondering if there is a Pd cheatsheet around? E.g. a
graphical display of common Pd idioms (counters, opening sound files, etc.)
which I can keep next to my screen since I am so forgetful? Ideally I'd like to
do a set using no abstractions at all. If not, I guess I should start one.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Pd livecoding cheat sheet

2009-07-06 Thread Chris McCormick
Hi!

Probably the best person to contact is Alex Maclean http://yaxu.org/ who is
the organiser, as far as I know. Blank pages looks trÚs cool. :)

Chris.

On Mon, Jul 06, 2009 at 04:17:39PM +0200, matohawk wrote:
 Hello Chris,
 I don't have any answer about your questions but I have a project who  
 called Blank Pages. This project is to organize sessions of  
 improvisation with Pure Data without any preparation. All the  
 participants must start with a blank pages in Pure Data.
 For more informations, go to website :
 www.blankpages.fr

 That will very a good time to organize a session in London. Is that  
 possible?

 Cheers Thomas

 Chris McCormick a écrit :
 Hey PdPeople,

 There's going to be a livecoding event here in London and I wanted to use Pd 
 to
 do something. I was wondering if there is a Pd cheatsheet around? E.g. a
 graphical display of common Pd idioms (counters, opening sound files, etc.)
 which I can keep next to my screen since I am so forgetful? Ideally I'd like 
 to
 do a set using no abstractions at all. If not, I guess I should start one.

 Best,

 Chris.

 ---
 http://mccormick.cx

 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list



 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list
---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] [OT] [andquitestupid] Re: [PD-announce] Markov chains on footils.org

2009-05-26 Thread Chris McCormick
 On Sat, 23 May 2009 14:17:19 +0200
 Frank Barknecht f...@footils.org wrote:
  there's a new little Pd tutorial online on footils.org, this time it
  deals with Markov chains:
  http://footils.org/cms/weblog/2009/may/23/markov-chains-pure-data/

On Sat, May 23, 2009 at 09:23:57PM +0100, Andy Farnell wrote:
 Nice Frank, a textfile is a good way to store, edit and import data.
 Maybe the pic at the top there could be a link to Mr Markov 
 http://en.wikipedia.org/wiki/Andrey_Markov

Now *that* is a mustache. One thing I feel we need more of in the Pd world is
zany hairdos. I was thinking of doing another fork-of-Pd-with-a-clever-name
called Pure Abundance Volumizing Shampoo Data to encourage this, who's with
me?

Procrastinatingly yrs,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Slow cpu/RJDJ patching approach ...

2009-05-26 Thread Chris McCormick
On Tue, May 26, 2009 at 03:34:51PM +0200, Frank Barknecht wrote:
 Hallo,
 danomatika hat gesagt: // danomatika wrote:
 
  My point is, I wish pd didn't force me to work it's way but allow me to
  work my way.  That's the beauty of patching as opposed to vsts, etc.
  You have to build form the ground up.
 
 Well, Pd is a programming language, and as with all language, you can say
 things you'd have wished you didn't say or with programming: It easy to 
 overload 
 any machine (bang until) with a programming language.

I have to say that with most programming languages an infinite loop does not
mean an X crash. Probably I should contribute code, not words (sorry).

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Slow cpu/RJDJ patching approach ...

2009-05-26 Thread Chris McCormick
On Tue, May 26, 2009 at 04:30:24PM +0200, Frank Barknecht wrote:
 Hallo,
 Chris McCormick hat gesagt: // Chris McCormick wrote:
 
  On Tue, May 26, 2009 at 03:34:51PM +0200, Frank Barknecht wrote:
   Hallo,
   danomatika hat gesagt: // danomatika wrote:
   
My point is, I wish pd didn't force me to work it's way but allow me to
work my way.  That's the beauty of patching as opposed to vsts, etc.
You have to build form the ground up.
   
   Well, Pd is a programming language, and as with all language, you can say
   things you'd have wished you didn't say or with programming: It easy to 
   overload 
   any machine (bang until) with a programming language.
  
  I have to say that with most programming languages an infinite loop does not
  mean an X crash. Probably I should contribute code, not words (sorry).
 
 I never had X crash with bang-until, so that's new to me. However a loop in an
 audio language can be worse than in a normal programm, as software like Pd
 often is run with higher priorities to get better latency performance. Of 
 course
 then an endless loop is a bit trickier to get out of. :(

Wow, I am so wrong. Please forgive me for this FUD!

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] GIT repo

2009-05-17 Thread Chris McCormick
On Sat, May 16, 2009 at 12:28:01PM -0700, Miller Puckette wrote:
 I don't know offhand how much trouble it would be to set up a git repository
 on sourceforge, but if it were there I'd be happy to keep it in sync with
 mine.

Hi Miller,

Isn't it a feature of distributed version control systems like git that you can
push/clone a copy of your branch to a web location? I know this is true of bzr,
where I can just go: bzr push stfp://mccormick.cx/www/blah/ - I am sure there
is something similar for git (I think it's clone) and then you could keep
your repo synced directly on the Pd download page. This would make it much
nicer for those of us who want to branch and hack on Pd's source code, and
would also make it much easier to contribute patches against cutting edge Pd,
back to you.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] list of creation arguments

2009-04-29 Thread Chris McCormick
Hi Jonathan,

On Sun, Apr 26, 2009 at 11:47:46PM -0700, Jonathan Wilkes wrote:
 Hi list,
  Here's a pd-vanilla subpatch that outputs an abstraction's creation
  arguments as a list.  Just copy and paste pd arguments to your
  abstraction and it should work.  It will output a single bang only if no
  creation arguments are supplied, so you can check whether they exist or
  not.  I offer it as a kind of condensed alternative to Matt Barber's
  approach that was posted awhile back (which I cannot find at the
  moment).

Whoa, this is pretty intense dynamic patching-fu. I'm really impressed! Thx for
sharing.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] symbolarray

2009-04-20 Thread Chris McCormick
On Fri, Apr 17, 2009 at 03:52:33PM +0200, Frank Barknecht wrote:
 Hallo,
 lsw hat gesagt: // lsw wrote:
 
  Looks pretty useful. Also a great structures example.
 
 Btw.: To fill the symbolarray [list-enumerate] from [list]-abs is great.
 
 [symbolarray] also is pretty fast if you have to lookup something in large
 lists. I tested it with an arraysize of 100,000,000 elements, which takes
 roughly 300 MB RAM according to my system monitor (with all elements except 
 the
 last one empty).  Creating the array takes several seconds, but looking up the
 final element happens instantly afterwards.
 
 The other Pd-vanilla ways I know to implement this are textfile-dumps with
 rewind+[until] or [select]-constructs or [list-idx], which all are unusable
 with arrays of these sizes.
 
 And of course the patch can be modified to look up any kind of list whose
 structure is known.
 
 Now we still need maps/hashes.

Maybe this is something close:
http://lists.puredata.info/pipermail/pd-list/2008-03/060712.html

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Looking for a gig in Barcelona

2009-04-14 Thread Chris McCormick
Yo,

My laptop died one day before leaving for Bcn so sorry I didn't get to meet you
Pd guys. Maybe next time!

Best,

Chris.

On Sat, Mar 28, 2009 at 03:08:51PM +0100, lluis gomez i bigorda wrote:

 hi Chris,

 we use to organize an open workgroup (just as relaxed sessions) of pd  
 in hangar

 http://hangar.org/drupal/?q=content/general-information

 http://maps.google.com/maps?f=qhl=esgeocode=time=date=ttype=q=hangarsll=41.37329,2.166978sspn=0.005048,0.010782ie=UTF8ll=41.408183,2.197094spn=0.005045,0.010782t=hz=17iwlo

 every thursday starting arround 19:30, you are welcome,

 I'm personally more focussed on video stuff but I'm forwarding this  
 message to other musicians of the group ...

 best,
 ll.

 En/na Chris McCormick ha escrit:
 Hi All,

 Forgive me if this should be marked [OT], but I use Pd for my live stuff so I
 guess it's not. :) I'm going to be in Barcelona for two weeks starting 
 Monday,
 and I'd love to play a live set while there. Maybe someone who knows the
 electronic music scene in Bcn. can help me out?

 Best,

 Chris.

 ---
 http://mccormick.cx

 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list



 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list
---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [OT] Re: DIY GSoC: getting those projects done

2009-04-06 Thread Chris McCormick
On Tue, Mar 31, 2009 at 10:27:07PM -0400, Mathieu Bouchard wrote:
 On Tue, 31 Mar 2009, Chris McCormick wrote:

 Then I'd like the DSP stuff not to be a special case, but rather a  
 library you can import.

 It's not much of a feature. It might be a sign of a more modular design,  
 but what would actually you do with Pd that'd require DSP to be separated 
 like that?

Maybe similar things to what you can do with pipes on the unix command line.
Except times ten.

 Next I would like it if the graphs were represented by a data structure 
 that doesn't suck (e.g. an associative array not a textfile) so that it 
 would be possible to pass the network definition (e.g. the patch) 
 itself through another network to dynamically create and modify 
 patches. This new representation of a patch should be serialisable as 
 JSON or similar

 This makes no sense to me. a JSON serialisation is already a textfile, 
 and the .pd file format is already a serialisation of some data 
 structure. Actually, that data structure may suck, but it's very 
 replaceable by some other structure, but that doesn't affect the file 
 format. I have made a version of Pd that replaces linked-lists by 
 something I called t_boxes which is defined using a C++ associative array 
 structure:

   struct t_boxes : t_gobj {std::mapint,t_gobj * map;}

Way cool.

 But really, the file format is the same. I had planned a new file format  
 but it was 99% compatible with Pd. I don't believe that we'd have to  
 switch to JSON just before it's newer.

 If you're complaining about the format of the IEMGUI constructors, that's 
 a different problem. This is not part of the .pd format by itself: it's a 
 subformat. You can abuse another format in the same way, be it JSON, XML, 
 YAML, LISP data, TCL data, other text formats, binary formats.

 The way that IEMGUIs are saved could be fixed without having to change 
 the Pd format, really. It just needs a bit of imagination. And then, the 
 only code you'd need to change would be the code of IEMGUIs, just as if 
 they were still externals. For example, IEMGUIs could save themselves 
 using Flext-like attributes or GridFlow-like comma-messages, which are 
 two styles of named-arguments in use in Pd (the latter is actually more 
 like a [initbang] with a messagebox).

No, that's not at all the reason I think that a format like JSON or YAML would
be useful. It's more to do with patches being more widely and easily parseable,
mashable, etc. It's to do with interoperating with more programs than just Pd
itself. Sure, we could do this and that, and we could use 'a bit of
imagination' but the current format of Pd patches is not friendly or popular.
I'd rather have a patch format that plays nice with other programs and is
easily human readable.

 so that it's easy to modify by hand and to parse, and to save to disk,  
 or send across a network.

 Well, you'd have to explain how JSON is going to be any easier to modify, 
 parse, save and send, because I don't see it.

How many parsers are there which read Pd patches? One mainly, maybe other
obscure ones which I don't know about, and some that I have written which
nobody knows about. How many parsers are there for the JSON format? Hundreds,
in hundreds of different languages.

 Especially because when you 
 say JSON, there's nothing that tells me exactly how JSON is going to be  
 used for that. In any case, the differences between the many ways that 
 you can use JSON for that, parallel the differences between the many ways 
 Pd's syntax could be used.

Yep, I get what you are saying, but you are unfortunately wrong. Nobody cares
about Pd's syntax except our small band of merry Pd people. Even your point
about not knowing how JSON (or YAML or whatever) is going to be used is
irrelevant because of the gain in interoperability with other programs and
people. The details of how Pd patches are represented in a new format are not
as important as the idea of using a popular, human friendly, and widely
parseable format to represent them.

 JSON would be nice as it's supported by web frameworks, whcih means you 
 could do super-cool stuff like websites

 Maybe it's just me... I'm not especially web-centric... well, I use the  
 web a lot, but haven't done any serious web development in this  
 millenium... so far.

I'm very conservative when it comes to web2.0 and that kind of hype, but I am a
big fan of standards and interoperability.

 I've thought many times about starting to code this language, and have  
 actually hesitantly started a couple of times, but very quickly I  
 realise what a massive undertaking it is and stop.

 Well, every person has their favourite way or dream way to encode data,  
 but it doesn't mean it's enough of a reason to redo things. When I 
 thought about all those things about format modifications I considered 
 that it's easier to go in the direction of the grain, that is, to use 
 the same parser that is already used all over Pd

Re: [PD] [OT] Re: DIY GSoC: getting those projects done

2009-03-31 Thread Chris McCormick
On Mon, Mar 30, 2009 at 11:28:40AM -0400, Mathieu Bouchard wrote:
 On Sat, 28 Mar 2009, Chris McCormick wrote:

 When I was thinking about writing a general purpose dataflow programming
 language which addresses some of Pd's shortcomings, I did a lot of thinking
 about the hot and cold inlet paradigm. What I came up with was the following

[snip]

 conditions are met:
   * Every cold inlet has been pinged (receives data)
   * Any hot inlet has been pinged (receives data)
 * Inlets cache their last received data if no new data arrives.
 In Pd, DSP inlets act like the 'cold' inlets above

 Well, perhaps you should rename 'neutral' inlets to 'cold' and find  
 another name for what you call 'cold'. Even then, DSP inlets still don't  
 work like your 'cold' inlets because of how they combine together a 
 fan-in (several wires to one inlet) and because of how they handle a  
 non-connected inlet.

Ah yes. In this hypothetical dataflow language in my head, whenever you try and
fan cables either in or out, the patcher would automatically turn the fan into
a sort of 'bus' of connections like Pd's [t] object. In other words, in this
language it would not be possible to fan connections. A default behaviour for
incoming fans would be to sum inputs (like DSP fans do now), but this would be
easily configurable to 'replace' instead of 'add' as current message in-fanning
does. Hmm, maybe I haven't thought that through enough.

 I like the idea of this behaviour being defined by the class author, but
 (re)configurable by the user.

 Then this would need a special 'run' method to be defined in t_class,  
 preferably outside of the normal method-list. At first thought I think 
 I'm in favour of reconfigurable inlets, but I'd like to see a 
 proof-of-concept first.

I don't think all the features I'd like in a general purpose dataflow language
can even be added to Pd without serious mangling. For a start I'd like the
basic data types that all modern languages support like associative arrays,
strings, etc. Then I'd like the DSP stuff not to be a special case, but rather
a library you can import. Next I would like it if the graphs were represented
by a data structure that doesn't suck (e.g. an associative array not a
textfile) so that it would be possible to pass the network definition (e.g. the
patch) itself through another network to dynamically create and modify patches.
This new representation of a patch should be serialisable as JSON or similar so
that it's easy to modify by hand and to parse, and to save to disk, or send
across a network. JSON would be nice as it's supported by web frameworks, whcih
means you could do super-cool stuff like websites which read/write/modify/run
patches in your browser, or build patches that use a website to share data
between multiple connected clients. Netpd would be really nice in this new
language. Lastly, it should feature multi-processing out of the box.

Not asking for much, am I? :)

I've thought many times about starting to code this language, and have actually
hesitantly started a couple of times, but very quickly I realise what a massive
undertaking it is and stop. I have too much other work. I guess it would be
possible to build the kernel of the lgnaguage with no GUI quite easily, but the
hard bit would be the 'batteries included'.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [OT] Re: DIY GSoC: getting those projects done

2009-03-31 Thread Chris McCormick
On Mon, Mar 30, 2009 at 06:36:04PM +0100, Claude Heiland-Allen wrote:
 Mathieu Bouchard wrote:
 At first thought I think I'm in favour of reconfigurable inlets, but 
 I'd like to see a proof-of-concept first.

 IIRC the [lexpr] pdlua example has reconfigurable hot/cold inlets, but  
 that's implemented by hand.

 Not sure I like the idea of a run method, what if there's more than  
 one reasonable run action?

In Pd terms that means a different action is taken depending on the input, such
as float, list, specific symbol, right? So in this hypothetical language the
run method could written to do something different depending on the datatype or
content of the incoming data, just like it is in Pd. Or maybe I missed your
exact meaning?

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] [OT] Re: DIY GSoC: getting those projects done

2009-03-28 Thread Chris McCormick
On Thu, Mar 26, 2009 at 10:42:25AM -0400, Mathieu Bouchard wrote:
 No, this was about how [expr] can be a replacement for even a small  
 network of objects. If you make an abstraction that does  
 ($f1-$f2)*($f5-$f4)/($f3-$f2)+$f4, with just [+] [-] [*] [/] for example, 
 then if you change some things in the cold inlets, the changes might not  
 propagate to the bottom. This means you have to add a [pack 0 0 0 0 0] of 
 the whole thing and [unpack 0 0 0 0 0] to ensure every hot-inlet is  
 retriggered in the proper order. Actually, in this pack/unpack dance,  
 maybe you can skip the hot-inlet of the abstraction (?), but apart from  
 that, you're pretty stuck using pack/unpack if you want life to be 
 simple. Else you can weave a mess of [t b f] objects like a spider on 
 caffeine. That's what I mean.

When I was thinking about writing a general purpose dataflow programming
language which addresses some of Pd's shortcomings, I did a lot of thinking
about the hot and cold inlet paradigm. What I came up with was the following
scheme:

* Hot inlets are red
* Cold inlets are blue
* Neutral inlets are grey

* A class has a default hot/cold/neutral inlet configuration defined by the
  author.
* The UI allows the user to change the hot/cold/neutral status of inlets.
* An instance's 'run' method is executed when any of the following conditions
  are met:
* Every cold inlet has been pinged (receives data)
* Any hot inlet has been pinged (receives data)
* Inlets cache their last received data if no new data arrives.

In Pd, DSP inlets act like the 'cold' inlets above, message inlets which aren't
the leftmost message inlet [usually] act like 'neutral' inlets above, and the
leftmost inlet [usually] acts like 'hot' inlets above.

I like the idea of this behaviour being defined by the class author, but
(re)configurable by the user.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Looking for a gig in Barcelona

2009-03-28 Thread Chris McCormick
Hi All,

Forgive me if this should be marked [OT], but I use Pd for my live stuff so I
guess it's not. :) I'm going to be in Barcelona for two weeks starting Monday,
and I'd love to play a live set while there. Maybe someone who knows the
electronic music scene in Bcn. can help me out?

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] DIY GSoC: getting those projects done

2009-03-23 Thread Chris McCormick
Yo,

IIRC, one of their complaints from last year was that our application had too
many parts. Next time we should pick just one or two specific tasks and go with
them. Maybe with a community vote or whatever. Also, I hate to be cynical, but
I can't see any way even remotely in which Google could use Pd to make a
profit. ;) Thanks for your huge effort anyway, Hans and Georg.

Best,

Chris.

On Sun, Mar 22, 2009 at 11:33:55AM -0400, Hans-Christoph Steiner wrote:

 That is indeed true.  I suppose it wouldn't hurt to nag google, and it  
 might even help.  But I don't think it would change this year's outcome.

 I think the key to getting a grant like this is to know what they are  
 looking for and tailor the grant to that.  It would be useful if someone 
 tried to find any materials from the successful projects and report back 
 what they learned.  I tried to do that in the past.

 .hc

 On Mar 20, 2009, at 4:01 PM, Rich E wrote:

 Of course it would be nice to do the projects regardless of funding,
 but in reality they just won't get the same attention to detail and
 thoroughness.  I don't have a job except through grants like this..

 I'm still all for making apython libpd module... but who knows when
 summer rolls around and i'm broke.

 Do you think it is any good to question/complain to google about not
 getting accepted two years in a row?  I looked at some of the other
 project pages and not only is the pd application just as good, I think
 the proposed projects are much more valuable to the open source
 community.  I don't want to name anything in specific, but I saw some
 well funded projects that only proposed various bug fixes, that were
 accepted (literally there is a project that says go through the bugs
 list and fix whatever you can).

 regards,
 Rich

 On Thu, Mar 19, 2009 at 12:08 PM, Hans-Christoph Steiner  
 h...@eds.org wrote:

 So now we have a nice collection of projects sketched out from the  
 GSoC
 application, let's encourage people to take them on.  If anyone  
 wants to get
 involved with Pd development, take a look at the project ideas and  
 if you
 are interested, then ask about them on the list and we can get  
 started.

 http://puredata.info/dev/summer-of-code/GoogleSummerOfCodeIdeas2009

 I think next time someone else should take on the GSoC application  
 process.
 I'm 2 for 2 at not getting it,  I've never had much luck with  
 grants.  And
 we have lots of well-sketched out projects.  We should probably  
 chuck the
 application part and start from scratch.

 .hc

 

 All mankind is of one author, and is one volume; when one man dies,  
 one
 chapter is not torn out of the book, but translated into a better  
 language;
 and every chapter must be so translated -John Donne



 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list






 

 Programs should be written for people to read, and only incidentally for 
 machines to execute.
  - from Structure and Interpretation of Computer Programs


 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list
---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] here I go again..dynamic abstractions

2009-02-10 Thread Chris McCormick
On Tue, Feb 10, 2009 at 11:57:06AM -0500, Mathieu Bouchard wrote:
 But it does
 make a lot more sense if we don't think about how else it could have
 been and instead just accept it as it is...

the winter sunshine,
cold hands connecting boxes;
Pd crashed again.

[bang(/[until],

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] escape space character

2009-02-09 Thread Chris McCormick
On Sun, Feb 08, 2009 at 10:05:31PM -0500, Hans-Christoph Steiner wrote:
 
 On Feb 8, 2009, at 9:29 AM, Mathieu Bouchard wrote:
 
 On Sat, 7 Feb 2009, y wrote:
 
 I'm against adding a general escape mechanism, because I think it's
 better to find a design that obviate teh need for it...
 
 see also:
  http://lists.puredata.info/pipermail/pd-list/2005-07/029546.html
  http://lists.puredata.info/pipermail/pd-list/2005-07/029556.html
 
 Basically, it's really rare among popular programming languages to  
 get away with not having some kind of escape mechanism or else  
 something nearly equivalent to an escape mechanism which isn't  
 taking much more room than a plain string.
 
 In Pd, your only way to handle this without editing .pd files in a  
 text editor, is to use multiple objects just for constructing the  
 string... and before Pd 0.40 it also required externals.
 
 
 Do you have any examples of full-fledged languages that don't have an  
 escaping mechanism?

Escaping mechanism would be rad. Also nice would be built-in support for
the following data types/structures:

* string
* array of arbitrary (e.g. non-numeric) data
* associative array
* nested versions of the above

Also nice would be a standard syntax for expressing these data such as
json or yaml, or something similar to C or another modern language. Pd's
symbols-delimited-by-spaces approach is one of the big reasons why
building synthesizers  effects is the only task I ever choose Pd for.
Luckily it does that task extremely well. The other reasons are lack of
introspection, and lack of dynamic patching that is non-buggy and
consistent. (oh, and the fact that [netsend] and [netreceive] are both
one-way communicators that should have been a single two-way
communication external).

Almost every modern language has at least one of these basic features,
and that is why I still stubbornly refuse to call Pd a programming
language. It may be turing complete, but it's not useful for general
purpose programming. It definately could be though, and the irony is
that if it supported all of these general programming language features,
it would be a lot easier to build synthesizers too.

Note that I criticize it because I love it. :)

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] here I go again..dynamic abstractions

2009-02-06 Thread Chris McCormick
On Fri, Feb 06, 2009 at 10:51:38AM +0100, IOhannes m zmoelnig wrote:
 Rory Walsh wrote:
 Thanks IOhannes. I'll be happy soon I feel. If I understand correctly,
 by changing the names of the GUI's receive symbol to $0-tgl-1 and then
 using that symbol of '$0-tgl-1' as a send everything should be
 hunky-dory? I'm afraid it's still not working as I expect, I get a
 load of error: 0-tgl-1: no such object whenever I try to send a
 message with that symbol. I've attached an updated abstraction. If I
 can get this to work its going to really simplify my crazy
 abstraction.
 
 
 you are violating the 3rd rule of $-expansion: there is no $0 in 
 message-boxes.

Just to be a bit more verbose than IOhannes: if you need to get a $0
into a message box, you need to use $1 and a regular object box with $0
before it like this:

[bang(
 |
[$0]
 |
[$1-hello my message(

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] communicating with the shell

2009-02-05 Thread Chris McCormick
On Wed, Jan 28, 2009 at 02:26:13PM +, Rob Canning wrote:
 (it would be really nice to have an object for communicating with the 
 shell that is not buggy.)

[snip]

 also this method is fine for sending stuff to the shell but what about 
 getting results back from the shell? like a bang when the process is 
 finsihed or the result of a pwd command?
 i thought about pipeing | the output of the shell into a pdsend on 
 another port but that seems messy?
 
 anyone got solutions to these issues? or anyone with the skills agree 
 that [shell] should be fixed or rewritten and included in another lib?

As a fan of vanilla Pd, I was delighted when Claude posted this:

http://lists.puredata.info/pipermail/pd-list/2008-03/060702.html

Attached is a concrete example of this for your specific use case. It
allows you to run arbitrary commands on your shell and get the results
back into Pd. I know you said that this seems messy to you, but I feel
that Claude's way is actually quite elegant.

Untar the attached, and then do:

pd -open runme.pd ; sleep 5; ./listener

Have fun!

Best,

Chris.

---
http://mccormick.cx


puredata-bash-communicator.tgz
Description: GNU Unix tar archive
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Hiding bits of the subpatch

2009-01-11 Thread Chris McCormick
On Sat, Jan 10, 2009 at 09:32:32PM -0600, Mike McGonagle wrote:
 One thing I noticed is that when you click to open and close these
 gadgets, it will leave the patch in a dirty state, and it will ask
 you if you want to save the patch before closing it.

Yeah, that sucks for sure, I forgot all about that. Would be great if it
was possible to send a message 'clean' to a patch to undo the dirty
flag.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] reusable snippets with key commands WAS: left mouse click abuse

2009-01-10 Thread Chris McCormick
On Mon, Jan 05, 2009 at 02:24:23PM -0500, Hans-Christoph Steiner wrote:
 - a folder with pd patches named after file extensions, wav.pd,  
 txt.pd, ogg.pd, etc.  The contents of the patch would be paster at the  
 cursor position when you drag-n-drop a file of that type onto the  
 canvas.

Really dig this idea!

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Hiding bits of the subpatch

2009-01-10 Thread Chris McCormick
Hey Pders,

Luke's recent data structures gui posts inspired me to take another look
at what is for me the holy grail of GOP guis in Pd - hiding bits of the
gui selectively, so you can make simple looking guis which expand out to
show more complicated options at the user's behest.

Attached is a patch that gets this to work through what appears to be a
weird bug in the interaction between Pd and tcl/tk and some
internal-message jiggery. Anyway, enough yammering, see the attached
patch. Click 'show_hide' to show and hide the number box on the right.
You can use the numberbox on the left to slowly slide the gui in and out
to see it working slowly. For some reason this only works if you use a
[line] to slowly change the size of the GOP, otherwise nothing gets
hidden. Well, that is if it works at all for you.

Best,

Chris.

---
http://mccormick.cx


hide-patch.pd
Description: application/puredata
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] left mouse click abuse

2009-01-04 Thread Chris McCormick
On Sun, Jan 04, 2009 at 01:38:30PM +0100, y wrote:
 Chris McCormick wrote:
 
 If I recall, there was a neat video posted ages back, probably by Chun
 or Matju, which illustrated some of the cool UI stuff possible in Max
 with some plugin. Sorry to be so vague, I can't remember the link. Maybe
 one of those guys could post it again?
 
 I guess you're talking about this:
 
 http://www.youtube.com/watch?v=fcqF9hDNoJk

Awesome, yes thanks! I really hope Miller gets a chance to watch this
video and also to investigate the work that Chun and Matju did which
Frank has posted.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] left mouse click abuse

2009-01-04 Thread Chris McCormick
On Sun, Jan 04, 2009 at 03:19:32PM +0100, Frank Barknecht wrote:
 Hallo,
 marius schebella hat gesagt: // marius schebella wrote:
 
  speaking of max features. to draw connections from one object to several 
  objects ...
 
 Ah, fanning connections. I try to avoid them.

Yep, but as discussed by DesireData guys, it could be possible to
automatically insert a [t a a a] when needed. But that is getting pretty
fancy.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Ubuntu vs. ubuntustudio?

2009-01-04 Thread Chris McCormick
On Sat, Jan 03, 2009 at 01:38:58PM +0100, João Pais wrote:
 Another note: what window managers do you advise? I find the simple,  
 low-cal approach of fluxbox / enlightenment better as the sugar-puffed  
 gnome etc. Any remarks against using any of these? By the way, one of the  
 things that puts me off of linux is that it takes so much *'%$ time to get  
 going. So, reliability is also a parameter.

Agree about the time thing under Linux. I was a longtime blackbox and
then fluxbox addict, but I've gone soft in my old age and use Xfce now.
It's about as fast (maybe faster) and configurable as fluxbox but gives
you some of the nice features of Gnome and friends, without the bloat.
The bloat is actually optional as you can elect to start gnome and kde
services on startup, but you don't need them at all to function. Also,
you don't have to edit any config files if you don't want to.
Additionally, Linux finally got a file browser that doesn't suck (it's
about as good as Explorer.exe) in Thunar, Xfce's default file browser.

`apt-get install xfce4`

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] left mouse click abuse

2009-01-04 Thread Chris McCormick
Hi Miller,

I'm really digging the direction this is going. If I could just chip my
2c into the fray: I have to agree with Frank that being able to select a
tower of object boxes and then click a key combination to connect them
by patch cords would be useful, as would a keystroke to auto-space
things horizontally or vertically. I also agree with Tim that Blender's
same-key select/deselect toggle feels very natural. I would vote for
ctrl-A both selecting all and deselecting all.

If I recall, there was a neat video posted ages back, probably by Chun
or Matju, which illustrated some of the cool UI stuff possible in Max
with some plugin. Sorry to be so vague, I can't remember the link. Maybe
one of those guys could post it again?

Best,

Chris.

On Sat, Jan 03, 2009 at 03:07:24PM -0800, Miller Puckette wrote:
 except what if you move the mouse and then decide you want to make a
 connection to a new object?   We'd need a way to return to the earlier
 state.
 
 shift-numerals might be a problem because in many places the numerals 
 already require the shift key.
 
 cheers
 Miller
 
 On Sat, Jan 03, 2009 at 11:26:12PM +0100, marius schebella wrote:
  Frank Barknecht wrote:
   Hallo,
   Frank Barknecht hat gesagt: // Frank Barknecht wrote:
   
   Ha, that's cute, though it needs some getting used to, but I guess that
   will come quickly. 
  
   I just tried it with creating a [f ], then press Ctl-1 and type mod 16,
   press  C-1 again and type + 1, neat.
   
   After my initial enthusiasm has faded I must also say, that certain
   patching habits now fail miserably. 
   
   I'm used to moving the mouse in advance to where I want to put the next
   object for objects that should not be connected to the previously
   created object. 
   
   Example: Lets say I want to create a row of number atoms like this: 
   
[0\  [0\  [0\  [0\  [0\  [0\  [0\ 
  
  this should be easy: if the mouse moved between the last ctl-3 and the 
  following, then place the object at the mouse position without 
  connection, if the mouse did not move, then assume the user is in 
  keyboard patching mode and place the new object below the old one and 
  connect it. I also thought about using ctl+shift+number to create a 
  connected object. don't know if that combination is used by an OS?
  or use ctl-k to toggle between keyboard only mode and mouse+keyboard mode.
  on my mac I would like to use ctl-home and ctl-end to cycle through the 
  possibilites of connecting two objects. don't know about other OS.
  
  plus the other features below (select multiple objects and align them or 
  connect them) would be nice, too.
  
  cheers,
  marius.
  
  
   
   Traditionally I'd do a sweeping movement with the mouse going left to 
   right
   and sometimes press Ctl-3 and click. 
   
   The new auto-connections make this very hard now.
   
   I guess I would prefer auto-connections and auto-alignments happen
   afterwards, e.g. I create these
   
[0\

  [mtof]
   
[phasor~]
   
 [cos~]
   
   
   then select the four objects, say the magic words and then it would
   transform into this: 
   
[0\
|
[mtof]
|
[phasor~]
|
[cos~]
   
   Ciao
  
  
  ___
  Pd-list@iem.at mailing list
  UNSUBSCRIBE and account-management - 
  http://lists.puredata.info/listinfo/pd-list
 
 
---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] left mouse click abuse

2009-01-04 Thread Chris McCormick
On Sun, Jan 04, 2009 at 01:34:48PM +0100, Frank Barknecht wrote:
 Hallo,
 Chris McCormick hat gesagt: // Chris McCormick wrote:
 
  I'm really digging the direction this is going. If I could just chip my
  2c into the fray: I have to agree with Frank that being able to select a
  tower of object boxes and then click a key combination to connect them
  by patch cords would be useful, as would a keystroke to auto-space
  things horizontally or vertically. I also agree with Tim that Blender's
  same-key select/deselect toggle feels very natural. I would vote for
  ctrl-A both selecting all and deselecting all.
 
 So instead of doing auto-placements and connections as default,
 user-initiated operations should be preferred, i.e. a better Tidy up
 and a Connect all selected objects as proposed.

Totally agree, and I also advocate using keystrokes/menu options to
initiate these operations. It should always be possible to use Pd to
manually lay things out just like you can now.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] pd 0.42-0 test 08 released

2008-12-30 Thread Chris McCormick
On Tue, Dec 30, 2008 at 10:50:13AM +0100, Frank Barknecht wrote:
 Miller Puckette hat gesagt: // Miller Puckette wrote:
  Pd 0.42-0 test 08 is out on the usual 
  http://crca.ucsd.edu/~msp/software.html
  and on subversion in SourceForge.
 
 pow~, log~, exp~, abs~ - thankyou, thankyou, thankyou, thankyou! ;)

Rock n' roll! Andy will be pleased. :D

Incidentally, if you haven't had a chance to check out his book then do
so. It's very awesome:
http://aspress.co.uk/ds/

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] a flawed Gem (Was: Re: pdp/pidip on win32?)

2008-12-24 Thread Chris McCormick
On Sun, Dec 21, 2008 at 12:03:28AM +, Claude Heiland-Allen wrote:
 Wondering if there are any plans for dataflow on the GPU in Gem?
 
 By this I mean that a patch cord would be a representation of pixel data 
 transfer paths on the GPU, and objects would process pixel data on the GPU.
 
 I also do not mean using depth first message passing as a mechanism to 
 shoehorn OpenGL state machine into Pd without concern for dataflow 
 semantics (sorry if that sounds harsh - but it's the most 
 counterintuitive aspect of Gem imo).

Also cool would be to have streams of geometry data flowing down the
wires. In other words, an OpenGL scenegrapher for Pd. At the top of your
chain you'd have a 'cube' object which would output the geometry for a
cube every frame. Further down you would have geometry and colour and
texture modifiers, and these would terminate in a [draw] object, which
would render the resulting geometry. This is basically GEM flipped
upside down.

This has been discussed on the list before but never went anywhere.
Maybe I should talk less and code more. :)

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] ehu abstractions to be released

2008-12-24 Thread Chris McCormick
Yo,

On Tue, Dec 16, 2008 at 06:43:07PM -0500, Hans-Christoph Steiner wrote:
 There is a third option: people can release libraries like 'cyclone'  
 as libdirs.  Then you could just download the right one and drop it  
 into place to install it.

Cool, I will check out libdirs and see if I can package my
s-abstractions stuff like that. That said, I wouldn't be dropping a
binary version of [cyclone/prepend] into my system any time soon.
Libdirs don't solve what is a fundementally bad idea - using
[cyclone/prepend] in place of [list prepend].

 This reminds me of a similar discussion that happens in Java-land.   
 Lots of people still swear by Java 1.0.  Sure, you can do what you  
 need, but newer versions of Java are widespread and have more  
 shoulders of giants included to stand on.

I like to think that I'm not a luddite, and that I embrace progress as
much as any technophile, but to cast pd-extended in the role of next
best thing to happen to Pd is arguable. I for one definately don't see
pd-extended as the newest version of Pd. I see it as an alternative
distribution which provides lots of extra functionality.

I am a big fan of Python's batteries included philosophy, which I
think is what you are advocating with pd-extended, but it should be
noted that the Python maintainers draw the line somewhere. They don't
compile every single possible library out there into a giant monolithic
release.

Since you mention Java let me frame my argument in terms of that
language. If I was writing some code in Java I would always prefer using
classes from the core of Java, over using 3rd party libraries, wherever
possible. I would do this because if I want to port my Java program to a
webserver, or embedded system, or mobile phone, I am much more likely to
be able to easily port it if I use the core Java language. Additionally,
if I release my source code, others will be able to use it far more
easily if its only dependency is the core of Java. The less dependencies
there are, the more robust my library becomes in terms of places where
it can be ported. To me this is the identical situation to what we've
been talking about. If users start using [cyclone/prepend] in their
patches instead of Pd's built-in [list prepend], then they immediately
make their patches less portable to other Pds. That is all I am saying:
favour Pd builtin's wherever possible so that your patches will be as
widely distributable as possible.

Sorry to bang on about this, but I am still arguing this point because I
want to make sure that your bad advice doesn't influence other Pd users
into making bad decisions and making everyone's life more difficult. I
am not trying to be harsh here, but rather I am trying to be honest
about my motivation for persisting with this thread.

Thanks again for all your hard work with pd-extended, though! Definately
appreciated (even though I don't use it, just like you don't use
RedHat).

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Master of Prayer

2008-12-24 Thread Chris McCormick
Hi all,

A while back I posted about a project I helped out with which utilised
Pd (and several other bits of Free Software). There is a video online
now about the project here:

http://www.glickinternational.com/video/12/

or a direct link to the .mov file:
http://www.glickinternational.com/downloads/3/Master_of_Prayer.mov

Some of things said are not 100% technically correct, but I had left the
country by the time they filmed it. :) Sorry for the proprietary video
codecs, but I didn't have a say in that.

Enjoy!

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] bitcrusher?

2008-12-23 Thread Chris McCormick
On Tue, Dec 23, 2008 at 10:22:10AM +0100, ydego...@gmail.com wrote:
 someone here in the workshop ask for the bitcrusher vst plugin for pd ?
 is it available in some way?
 ( better with basic pd objects )

Hello, maybe one of these will make the sound they want. I think the
second one is a traditional bitcrusher, and the first one is more of a
dynamic downsampler.

http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-bitcrusher~.pd?root=svn
http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-fuzz~.pd?root=svn

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] ehu abstractions to be released

2008-12-15 Thread Chris McCormick
On Sun, Dec 14, 2008 at 12:15:26PM -0500, Hans-Christoph Steiner wrote:
 
 On Dec 14, 2008, at 6:38 AM, Chris McCormick wrote:
 
 On Thu, Dec 11, 2008 at 01:33:41PM -0500, Hans-Christoph Steiner  
 wrote:
 
 On Dec 11, 2008, at 4:19 AM, IOhannes m zmoelnig wrote:
 
 altern wrote:
 Hans-Christoph Steiner(e)k dio:
 
 You can force the version by using the namespace prefix:
 
 [cyclone/counter]
 [cyclone/prepend]
 [iemlib/gate]
 this is what i am doing. i think that solves the issue.
 
 i think even better would be to use built-in objects.
 in the case of [gate] and [prepend] this maps to one (or 2) built-
 ins, so no need for strange prefixes.
 
 Except [list prepend], which I consider a stranger prefix. :)  I
 still prefer [cyclone/prepend] since you don't need to add [list
 trim] to keep things in the same format they came in as (at least for
 the things I seem to do regularly.)
 
 Thereby rendering even the simplest of your patches completely useless
 to me, or anyone else who is a Pd-vanilla fan. I can understand using
 externals when they are neccessary, such as doing something with weird
 hardware, or some algorithm that is slow in pure Pd, but I really  
 can't
 understand using an external in a situation like this.
 
 Your choice though, I guess. Myself, I prefer to make my patches as
 portable as possible to the widest range of Pd users (pd-extenders
 included).
 
 Sorry if I sound grumpy; not getting too much sleep here in Berlin. :)
 
 If you compile cyclone as a libdir and stick it in 'extra', then  
 using [cyclone/prepend] is fully compatible with Pd-vanilla.

Great.

 Any objectclass that is not included in Pd-vanilla is an external,  
 whether it is written in C, Pd, etc.  For example, even if s- 
 abtractions or list-abs use only pd-vanilla object, when someone uses  
 them, they then have an external dependencies.

Yes, for sure, but are a couple of big difference between using
s-abstractions or list-abs in your composition and spreading
[cyclone/prepend] willy-nilly throughout your patches.

First, using abstractions is a simple matter of copying a folder, whilst
cyclone requires compilation and linking of bloating 3rd party software
into my sleek, pristine Pd binary, or using pd-extended, which I choose
not to do. It also means that if I use your patches in my own work, I am
straight away demanding that my users install pd-extended, or go through
the painful compilation exercise. They probably don't even have a
compiler installed. This issue escalates rapidly if every Pd user
follows the advice you are giving out. Soon we have all kind of people
using all kinds of crap, and forcing everyone else who wants to use
their patches to do the same. It's a bad way to make software.

Second, and a much more important reason, is that a perfectly good
prepend exists in vanilla. As soon as you start using cyclone/prepend
for the very dubious advantage of having to make one less [list trim]
object, you instantly alienate me and others like me.

 My aim is to make my code as compatible as possible, while taking  
 advantage of all the good code that other people have written, like s- 
 abstractions and list-abs.  But there is no standard way to set up  
 externals when using pd-vanilla, so it is not really possible to  
 support.  Read the archives to see all of the problems running other  
 people's patches.  That's why Pd-extended was started, to have a  
 standard platform.

Pd-extended is great. It's excellent to have that standared platform.
All I am advocating is preferring the 'lowest common denominator' as far
as possible. I am saying that you should follow Occam's Razor when
making patches, and make them as simple and widely portable as possible.
I am definately not saying that you shouldn't use externals, libdirs,
other libraries or whatever when you need to. I understand completely
the need for externals in many situations, but I also think that it's
bad practice to use an external when a builtin will do. I am actually
just putting forward a very common computer science precept; reuse.
Spare a thought for us poor chumps in vanilla land. :)

Best,

Chris.

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] ehu abstractions to be released

2008-12-14 Thread Chris McCormick
On Thu, Dec 11, 2008 at 01:33:41PM -0500, Hans-Christoph Steiner wrote:
 
 On Dec 11, 2008, at 4:19 AM, IOhannes m zmoelnig wrote:
 
 altern wrote:
 Hans-Christoph Steiner(e)k dio:
 
 You can force the version by using the namespace prefix:
 
 [cyclone/counter]
 [cyclone/prepend]
 [iemlib/gate]
 this is what i am doing. i think that solves the issue.
 
 i think even better would be to use built-in objects.
 in the case of [gate] and [prepend] this maps to one (or 2) built- 
 ins, so no need for strange prefixes.
 
 Except [list prepend], which I consider a stranger prefix. :)  I  
 still prefer [cyclone/prepend] since you don't need to add [list  
 trim] to keep things in the same format they came in as (at least for  
 the things I seem to do regularly.)

Thereby rendering even the simplest of your patches completely useless
to me, or anyone else who is a Pd-vanilla fan. I can understand using
externals when they are neccessary, such as doing something with weird
hardware, or some algorithm that is slow in pure Pd, but I really can't
understand using an external in a situation like this.

Your choice though, I guess. Myself, I prefer to make my patches as
portable as possible to the widest range of Pd users (pd-extenders
included).

Sorry if I sound grumpy; not getting too much sleep here in Berlin. :)

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] API for manipulating a patch in real time

2008-12-11 Thread Chris McCormick
Hi Miller,

On Wed, Dec 10, 2008 at 09:12:23AM -0800, Miller Puckette wrote:
 I can imagine simply writing an example program to do this (putting some
 boilerplate first and then a rewritable main at the end).  It would
 look more like this:
 
 /* don't touch me */
 
 /* but replace the following with your code */
 
 main()
 {
pd_startthread(arg1 arg2...);
   /* do anything you want */
pd_send(foo bang;);
   /* etc */
pd_endthread();
 }
 
 ... the idea would be that pd itself would live in a subthread and you'd
 be able to send messages to it and even somehow get return callbacks.
 This wouldn't be like pd~ at all, since in this scenario Pd would open 
 audio and MIDI as needed and schedule itself (with pd~ the subprocess
 slaves itself synchronously to the parent).  Another restriction would
 be that you could only have one Pd thread (it isn't thread-safe!).  On
 the other hand, this would work fine in Windows, which pd~ doesn't (since
 windows appears not to offer pipes unless you add a library with funny
 licensing restrictions.)
 
 Would that be a useful thing to have?

That would definately be a great start! An example program would be
fantastic for now. So would this have to be compiled against Pd sources,
or would Pd object files be archived in a .dll or .so files and then
this main function would dynamically link against that? The latter would
be preferable, but anything along these lines is really excellent.

Eventually it would be really cool to be able to go apt-get install
pdlib or pd-dev and then link programs against Pd. It would also be
great for programs to be able to control everything, so they could
actually schedule Pd 'ticks' themselves, and they could get the contents
of Pd's output buffers for mixing with their own audio stream or
whatever. (Isn't that what Spore does?) I guess small steps first. :)

Thanks for your work!

Best,

Chris.

PS You might like to look at how Python handles pipes on Windows. As far
as I know Python is bundled with an executable called 'w9xpopen.exe'
which helps with interprocess communication. I might be way off the mark
here though.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] API for manipulating a patch in real time

2008-12-10 Thread Chris McCormick
On Wed, Dec 10, 2008 at 09:05:16AM +0100, IOhannes m zmoelnig wrote:
 Zach Dwiel wrote:
 Hello
 
 first of all, there is no official API.

It would be so nice if there were an easy way to invoke Pd as a library
from within other code. I know it's possible to do this (Spore, pd~,
RjDj, Pd browser plugin), it's just that it requires writing a bunch of
non-trivial support code that must be re-written every time. It
shouldn't have to. Pd -nogui could and should be as easily invokeable as
any other library.

For example, I just wish it was possible to go:

#include pd.h

*PDInstance pd = make_pd_instance();
pd-init(/* ..args.. */);

while (1)
{
/* Do stuff here */
pd-schedloop();
/* Do other stuff here */
pd-sendMessage(;my-receiver bang;);
}

Ok maybe not quite as easy as that, but I reckon you'd see Pd used as
the audio engine for loads of other apps and games if this was simple.
There has already been interest from e.g. the Blender project and the
several other apps that already embed Pd.

If this is already easy and I have just missed something obvious, please
let me know. (Sorry for not contributing code.)

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] reading the textlist of the patch I'm in...

2008-12-09 Thread Chris McCormick
On Sun, Dec 07, 2008 at 03:39:43PM +0100, IOhannes m zmölnig wrote:
 hi ed.
 
 Ed Kelly wrote:
  Hi chaps,
  
  I've come up against something I can't solve without a deeper
  understanding of pd's internal structure, I wonder if anyone can help.
  
  I'm trying to build patches that know about each instance of themselves
  when called as an abstraction, without the specification of creation
  arguments to identify multiple instances of the same patch.
  
  Basically I want to read the list of the ultimate parent from memory,
  like you would if you read the pd patch into a text editor such as
  emacs. I often edit patches in such an editor,and I find it allows
  access to information about the patch in a sequential form that is hard
  to get in PD (how many obj(ects) there are and in what order, what they
  are etc.) and now I am trying to build patches that extend themselves in
  realtime, I need to be able to read the patch I'm in.
 
 you probably want to have a look at the iemguts, which i just presented
 here at piksel.
 
 one of the basic goals of this libs is to add some kind of self
 awareness of abstractions.

I think the proper name for this is 'introspection', unless I
misunderstood.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] svn:externals

2008-12-05 Thread Chris McCormick
On Fri, Dec 05, 2008 at 01:06:32AM -0500, Hans-Christoph Steiner wrote:
 What about the idea of having a separate section like /pure-data/svn- 
 externals?

I like that as it would solve my immdiate problem of people finding out
of date s-abstractions in the pd repo and not require me to do periodic
imports. Let's hope people don't get confused between externals and
externals.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] svn:externals WAS: an easy way to replay a Pd-session (gui)

2008-12-03 Thread Chris McCormick
Hi Hans,

On Tue, Dec 02, 2008 at 12:41:46PM -0500, Hans-Christoph Steiner wrote:
 I think it's time to have a IRC meeting about this.  How about  
 Thursday?  I am trying to be in #dataflow as much as possible these  
 days, if anyone wants to have an impromptu discussion.

I am happy to meet on IRC, but it will have to be outside work hours for
me here at GMT. Otherwise the weekend is good, but I think maybe this is
something that can be solve on-list. I really think you hit the nail on
the head with this paragraph:

 My question remains, what is the problem we are trying to solve using  
 svn:externals?  If it is to include code that gets built with Pd- 
 extended, then svn:externals doesn't work well for that, just  
 importing releases works much better.  If it is to make a centralized  
 place to find all Pd code, then I wonder if there is a better tool  
 for this, like a special section of SVN for svn:externals outside of  
 trunk or a wiki page.

Can you answer me this: do you see the primary function of Pd public SVN
as supporting pd-extended builds? If this is the case, then we need a
different part of the repository where external writers and abstraction
creators can store their code/patches independent of pd-extended. The
reason we need this is that whilst pd-extended is a wonderful project,
and definately neccessary, not everyone in the Pd world runs it and
probably some people aren't even interested in seeing their work as part
of pd-extended, but they are definately interested in participating in
the development community of Pd. We can't just have a wiki page as that
doesn't suffice for people who want their code versioned inside the
world of Pd code but aren't interested in pd-extended.

What about if SVN was the central place where Pd and related code lives,
and there was a sub-place within that where pd-extended keeps its
source? Most definately snapshots/tags of the former could be copied via
standard svn commands into the latter to make them part of pd-extended
at stable release. This would probably help with co-ordinating and
versioning too. You could tell people we are coming up for a
pd-extended release, please copy your latest tags into the pd-extended
folder or do this yourself for code that you maintain. I guess the crux
of what I'm saying is that I don't see the Pd svn trunk as being == to
pd-extended. I see pd-extended as being a part of the ecosystem living
in the svn trunk. I don't think it's fair for one project to be 100% the
boss of trunk. In fact, I find it kind of annoying that once upon a time
I could check out people's code from the svn and compile it
independently, whereas last time I tried I couldn't do it as a bunch of
environment variables weren't set and stuff. I had to hack giant
complicated makefiles just to compile one simple external.

Please excuse me if I've missed anything obvious or said anything
stupid, and feel free to correct me if I am misguided or wrong about the
position of pd-extended in the repository. Maybe it's all just
semantics. But I guess semantics are important in human communities.

Loving the broken paradise, :)

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] an easy way to replay a Pd-session (gui)

2008-12-02 Thread Chris McCormick
On Tue, Dec 02, 2008 at 12:17:44PM +0100, IOhannes m zmoelnig wrote:
 Chris McCormick wrote:
 You will almost certainly not like this solution, but you can use my
 [s-totalrecall] and [s-tr-node] abstractions to record a full session of
 knob-twiddling to play back later. I use this to record my live sets and
 then replay them later, off-stage.
 
 thanks for mentioning these.
 indeed they are not what i want. i want to capture a live-coding session 
 rather than knob-fiddling.

Oh I see what you mean. Cool idea!

 i noticed that both abstractions are missing from the puredata 
 repository at sourceforge.
 after some googling i found your own repo at http://mccormick.cx.
 
 is there any chance to sync the two repositories?
 (personally i would still suggest an svn:externals link; but let's keep 
 this for later :-))

I did have an out-of-date copy of my own s-abstractions repository in
the CVS that I would periodically check-in, but I have been really bad
at keeping track of whether that still exists in the new SVN layout, or
even how to import it now. I sort of made enquiries about this but Hans
replied something like Don't do this unless it's a library. Which I
never fully grokked. I agree that an svn:externals link would be a good
solution.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] $0 and Data Structure Templates

2008-12-01 Thread Chris McCormick
On Mon, Dec 01, 2008 at 11:54:34AM +0100, Frank Barknecht wrote:
 Hallo,
 Mike McGonagle hat gesagt: // Mike McGonagle wrote:
 
  I think this should be allowed, hell, even the use of other $
  arguments. It would be nice to be able to allow abstractions to create
  their own private data structures, or at least ones that could be
  named based on a creation argument.
 
 So what I generally do if I use $0-structs is to not save the data
 structure instances with write pd-x but traverse and parse them down
 into [textfile] and use that for storing and reloading. I.e. with 

I do the same, but I use sssad to store the serialised data which gives
the user flexibility about where they want to save it. Check out the [pd
load] and [pd save] subpatches in s-nadsr~ for an example of how to do
this with datastructures:

http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-nadsr~.pd?root=svn

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] undoing a dodgy cut and paste

2008-11-28 Thread Chris McCormick
On Thu, Nov 27, 2008 at 03:52:57AM +0900, hard off wrote:
 other than just 'being super careful', is there any way to avoid or fix this
 problem without moving each individual object by hand???

I use ctrl-Z. :)

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] undoing a dodgy cut and paste

2008-11-28 Thread Chris McCormick
On Fri, Nov 28, 2008 at 03:02:21PM +0100, Damian Stewart wrote:
 hard off wrote:
 i'm sure this must have happened to everyone a couple of times:
 
 you cut a section of a patch, and paste it into another patch or 
 subpatch.  the pasted contents overlay existing parts of the patch, and 
 you go to move them with your mouse while they are still highlighted. 
 
 however, sometimes your mouse just doesn't hit a part of the highlighted 
 pasted objects, and the highlight comes off, and you're left with a big 
 tangled mess of objects and patch chords.
 
 other than just 'being super careful', is there any way to avoid or fix 
 this problem without moving each individual object by hand???
 
 implement multi-level undo in pd.tk
 
 j/k
 
 but seriously, why can't we multi-level undo yet?

Because Miller's dolist is already long, and nobody wrote the patch for
multi-level undo yet, and submitted it to the patch tracker. Oh wait,
the desiredata guys wrote that UI feature (along with hundreds of
others), but it was heavy with other changes and part of a slow, buggy
build of Pd, and I don't think there was a huge amount of interest in
submitting changes back to Miller, and he probably wouldn't have
accepted them anyway.

Hooray for community! ;)

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Pd , Ardour and Jack

2008-11-24 Thread Chris McCormick
On Mon, Nov 24, 2008 at 01:03:31PM +0100, xà wrote:
 what i know,and i tested succesfully, is that you can have a pd-patch that u
 can use it as a plugin in ardour via jack. Only is needed the audio in/outin
 the patch, cioè inlet~ // outlet~ that you're able 2 connect in the
 ardour's audio buses.
 
 This is useful because you can make a complex/customize patch for your
 espetial effects that sometimes is not easy to find in the Ladspa plugins
 pack :P

Hi,

This sounds really cool. Do you know if tutorials or links that explain
how to set this up for total jack-noobs?

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] how to send named commands/arguments to an abstraction?

2008-11-23 Thread Chris McCormick
Also [sel].

Best,

Chris.

On Sun, Nov 23, 2008 at 02:36:35AM -0800, Rua Haszard Morris wrote:
 aha, yes,  i had seen  it but clearly did't 'get' it. Thanks :)
 
 
 
 
 From: hard off [EMAIL PROTECTED]
 To: Rua Haszard Morris [EMAIL PROTECTED]
 Cc: PD list pd-list@iem.at
 Sent: Sunday, 23 November, 2008 10:07:56 PM
 Subject: Re: [PD] how to send named commands/arguments to an abstraction?
 
 i think the object you are looking for is [route]
 
 ie:  
 
 [route file bpm loop .]
 
 
   Easy recipes for Christmas entertaining on Yahoo!Xtra Lifestyle- 
 http://nz.lifestyle.yahoo.com/food-recipes---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] tabwrite~ index parameter

2008-11-17 Thread Chris McCormick
On Sat, Nov 15, 2008 at 02:26:46PM -0500, bsoisoi wrote:
 Why isn't tabwrite~ able to accept an index inlet (like [tabwrite]) at  
 audio rate?  I'm looking to make a tape-loop emulation patch, but its  
 not seeming as straight forward as I would have hoped.  Am I missing  
 something, or would there be another way of going about this?

On this topic, does anyone know of a nice already-built abstraction that
does tape loop emulation? I am talking about modelling classic dub
tape-loop delays, or something like that.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] dynamically set graph on parent option?

2008-11-14 Thread Chris McCormick
On Thu, Nov 13, 2008 at 10:40:49PM +0100, Frank Barknecht wrote:
 Hallo,
 altern hat gesagt: // altern wrote:
 
  do you mean something like this?
  http://lists.puredata.info/pipermail/pd-list/2005-05/028394.html
 
  i was looking for something more like a proper flag in the object that 
  could be switch on and off, like
  |pd-mysubpatch gop 1(
  or something like that...
 
 Something like that isn't available, so donecanvasdialog 0 0 $1 is the
 only way. Don't rely to much on it to stay, though.

Also, it sets the dirty flag on your patch, so you can't really use it
in abstractions, which is very annoying since it's stops us doing really
cool dynamically resizing GOP abstractions. Unless you don't mind
re-saving your abstractions every time you use them (bleh). This is a
great pity since it is almost possible to do really cool stuff like hide
complicated parts of your subpatches with a toggle button. Oh well.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] dynamically set graph on parent option?

2008-11-14 Thread Chris McCormick
On Fri, Nov 14, 2008 at 11:44:11AM +0100, IOhannes m zmoelnig wrote:
 Chris McCormick wrote:
  
  Also, it sets the dirty flag on your patch, so you can't really use it
  in abstractions, which is very annoying since it's stops us doing really
  cool dynamically resizing GOP abstractions. Unless you don't mind
  re-saving your abstractions every time you use them (bleh). T
 
 hmm, you don't have to save your abstractions/patches after you have
 changed them :-)
 
 esp. if i have a final patch dedicated for a performance (series), i
 would probably not want to save this patch after a performance where i
 eventually set the dirty flag by whatever action (assuming that i don't
 have another way to restore the original patch)

That's true, but it's still annoying to be asked, especially if you
accidentally do save it.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] scratching my head about zexy

2008-11-07 Thread Chris McCormick
On Thu, Nov 06, 2008 at 01:36:27PM +0100, Frank Barknecht wrote:
 Chris McCormick hat gesagt: // Chris McCormick wrote:
  This problem has been 100% solved already:
  
  http://www.network-theory.co.uk/docs/pylang/importstatement.html
  
  The described way of doing things is a win-win for developers and for
  users; both get maximum flexibility. I can't think of any good reason
  why we are still debating this and [declare] and [import] on this list.
 
 However: as I understand Miller's intentions, [declare] is not meant
 to be the same as [import]! [declare -*path] modifies the full Pd
 search path, which includes the search path for files that are not
 objects, e.g. soundfiles with no complete path for [soundfiler].
 [import] however - if I understand Hans' intentions correctly - only
 modifies the object search path and loaded libraries.

Ok yes, I see. Please excuse my ignorance in that regard. Though I still
think that we can look at other languages that have solved this issue.
Sorry for my weak contribution! :/

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] scratching my head about zexy

2008-11-06 Thread Chris McCormick
On Wed, Nov 05, 2008 at 11:39:51AM -0800, Miller Puckette wrote:
 Well, what I want to be able to do is put max-compatible objects into Pd 
 vanilla (such as gate and scale) without breaking libraries.  However, I
 didn't realize there were libraries out there that named things the same as
 Pd built-ins, with the intention of not ever getting instantiated under
 the original name.
 
 Maybe, if zexy/pack and zexy/unpack are only meant to be called using
 their path names, it would be better to specify them as zexy/pack
 etc.  in class_new()?
 
 If it isn't possible to alias objects with external libraries, I don't see
 how I can ever add a class to Pd once some library appears that uses the
 same name.
 
 Ideas, anyone?

Hi Miller,

This problem has been 100% solved already:

http://www.network-theory.co.uk/docs/pylang/importstatement.html

The described way of doing things is a win-win for developers and for
users; both get maximum flexibility. I can't think of any good reason
why we are still debating this and [declare] and [import] on this list.

Example:

[from max import gate]
[from max import scale]
[from zexy import *]

then

[gate]
[scale]
[pack] - inbuilt is overridden

and

[import max]
[import zexy]

then 

[max/gate]
[max/scale]
[zexy/pack] - inbuilt isn't overridden

I hope this doesn't come across too blunt or unconstructive; I just want
to see this issue get solved and disappear.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] warmest reverb?

2008-10-29 Thread Chris McCormick
On Tue, Oct 28, 2008 at 07:27:55PM -0400, Hans-Christoph Steiner wrote:
 PS I gotta figure out how to commit s-abstractions into pd-extended  
 one
 of these days now that we've switched to SVN. Maybe I can do this  
 before
 the next release?
 
 I think the best bet it to start off my making a proper library and  
 distribute that.

Ok, cool. Can you define proper library please.

 Then once it is very stable and not really changing  
 any more, then it would be good to include in Pd-extended.

That's some way off, so I guess it's not too important now.

 These days, I am mostly thinking about how to support libraries  
 really well.  That's what needs to happen.

Libraries of externals?

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] warmest reverb?

2008-10-27 Thread Chris McCormick
On Sat, Oct 11, 2008 at 01:15:15PM -0400, Hans-Christoph Steiner wrote:
 I am currently working furiously on a sound design project.  I used  
 freeverb since it is quick and easy.  But now I want to replace it  
 with the warmest reverb Pd can offer.
 
 Any suggestions?

Hi Hans,

It's probably way too late now, but I recommend Anton Hornquist's [jon~]
plate reverb. It's the finest reverb I've heard since [freeverb~] and
seems to be way less expensive, and it's available as an abstraction
instead of an external you have to compile. I packaged it up for
s-abstractions here:

http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-jonverb~-help.pd?root=svn
http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-jonverb~.pd?root=svn

As usual it's GOP friendly, and sssad enabled. The reason I took so long
to post is because I've been spending all this time turning it into a
GOP effect abstraction (in between driving the van across the EU, that
is).

Anyway, have fun!

Best,

Chris.

PS I gotta figure out how to commit s-abstractions into pd-extended one
of these days now that we've switched to SVN. Maybe I can do this before
the next release?

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Help with compressor/limiter abstraction

2008-10-21 Thread Chris McCormick
On Sun, Oct 19, 2008 at 09:04:57PM +0200, Damian Stewart wrote:
 rough but can definately make your beats find The Fatness; I have used
 them in live shows to make people's ears do backflips. I have a much
 
 do you have any recordings of your live sets available to download anywhere?

Hi Damian,

I have a live set recorded in two parts here:
http://www.sciencegirlrecords.com/chr15m/page/discography/live

The quality is really pretty shoddy; way too loud and clipped. I haven't
played live for a while, but I'm hoping to get some stuff recorded
better after I get to London and hopefully play some gigs.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] 'pure' pd DSP abstractions wanted!

2008-10-19 Thread Chris McCormick
On Sun, Aug 24, 2008 at 08:42:29AM +0100, Jamie Bullock wrote:
 I'm looking self-contained DSP abstractions that only use Pd - no
 externals. Things like reverbs, different types of filters, delays, a
 pitch shifter, harmonizer -- a kind of basic 'FX' toolbox.
 
 I'm thinking very much along the lines pdmtl/fx.* but without the
 external dependencies.
 
 Thoughts I've had so far:
 
 - Pull stuff out of the Pd help patches
 - Pull stuff out of the list archives
 - Remove the dependency requirements from pdmtl/fx.*
 
 But, maybe someone has a nice 'set' of such abstractions sitting on
 their hard drive, that they wouldn't mind releasing into the public
 domain -- or under some permissive license.

Hi Jamie,

This has been sitting in my inbox for ages, sorry I never replied to it.
My s-abstractions collection is just such a set of abstractions that you
describe, with no external dependencies. Much of it was made by stealing
Miller's help patches and turning them into nice little guis, and lots
of other people's work too. I'm trying to bulk it up a bit at the moment
with the great plate reverb that Anton Hornquist posted here a while
back, and then I'm going to try and make a good, intuitive compressor
after that. If you do a pitch shifter or harmonizer, please let me know
so I can steal them for my collection, with your consent obviously! :)

http://mccormick.cx/projects/s-abstractions

After I get back to London next week I'm going to try and tidy the
collection up a bit and get the latest version into pd-extended. I think
the version that is in there at the moment is pretty outdated.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Help with compressor/limiter abstraction

2008-10-18 Thread Chris McCormick
On Tue, Oct 14, 2008 at 07:39:26PM +0200, Frank Barknecht wrote:
 I'm trying to build a pure-Pd compressor/limiter effect. I followed a
 chapter in the Csound book a bit (by Marc Resibois), but somehow it's
 still a bit strange. I would appreciate if someone could test out the
 attachemend and maybe even enhance it? 

Hey Frank,

Funny, I've been thinking about compression a lot lately. Here are a few
abstractions I've been sort of experimenting with. These are pretty
rough but can definately make your beats find The Fatness; I have used
them in live shows to make people's ears do backflips. I have a much
better compressor design in my head that I plan on making for
s-abstractions, and I will post if and when I do. Thx to yourself and
Gunter for the cool patches to help with that!

Greetz from sunny Perugia,

Chris.

---
http://mccormick.cx


s-autocompress~-help.pd
Description: application/puredata


s-autocompressor~.pd
Description: application/puredata


s-autocompress~.pd
Description: application/puredata
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [ot] managing distributed development

2008-08-21 Thread Chris McCormick
On Thu, Aug 21, 2008 at 12:09:06AM -0400, marius schebella wrote:
 somehow the Pd community is a premature ejaculation of next century's 
 political and societal structure.

Oh boy, I really hope not! ;)

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] s-abstractions get changed when used

2008-08-11 Thread Chris McCormick
 On Tue, Aug 05, 2008 at 06:27:54PM -0500, Dan Wilcox wrote:
 I've been using s-arranger as a song sequencer for a while and  
 it's been
 great.  As of newer pd-extended 0.40.3 builds, s-arranger objects  
 have
 been asking to save their contents (Discard changes ...?) on patch
 close, as if I had opened them and saved to base s-arranger, not that
 instance.

 On Aug 9, 2008, at 4:17 AM, Chris McCormick wrote:
 When I follow your instructions I don't get the discard changes  
 dialog.
 Seems to work fine for me. I wonder if there is an older, crappier
 version of it in pd-extended?  I'll try to get the version in
 pd-extended updated some time soon.

On Mon, Aug 11, 2008 at 04:56:59PM -0400, Hans-Christoph Steiner wrote:
 I am cc'ing the list, since this is probably of general interest.
 
 This might be related to the dirty flag being set when an IEMGUI's  
 properties are changed.  It was changed it so that when the  
 properties of an IEMGUI was changed, the dirty flag was set.  I  
 suppose there should be differentiation between it happening with  
 messages and it happening when the user makes the change in the  
 Properties panel.

That can't be it because [s-arranger] doesn't have any IEMGUIs that hold
state. There are two possibilities:

1. Some older bugger version of s-arranger is in pd-extended because I
haven't checked my changes into the official repository for ages.
Because of the way that s-arranger is patched, I find this less likely
than:

2. There is a bug in pd-extended.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] ALSA + Edirol UA-25 not working under Fedora 9

2008-08-03 Thread Chris McCormick
On Sat, Aug 02, 2008 at 08:29:36AM +0200, ydegoyon wrote:
 yes i'm just laughing at people saying : 'oh you use OSS',
 for on my 3 months old laptop,
 it's what works the best with a :
 00:07.0 Audio device: nVidia Corporation MCP67 High Definition Audio 
 (rev a1)
 
 so what ?
 alsa is so cryptic also why can't they create a /dev/dsp?
 that would be it, no more blurring, right?

Hi Yves,

What about when you have multiple sound cards? What about when you want
to output sound from more than one program simultaneously? What about
when you want full duplex? What about when you need thread safety?

Did you know aobut alsa-oss compatability layer?

/dev/dsp is a nice and simple approach, sure.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Idiomatic Pd

2008-07-30 Thread Chris McCormick
On Tue, Jul 29, 2008 at 09:13:38AM +0200, IOhannes m zmoelnig wrote:
 * When prepending $0 to a symbol, only add a - to separate it from
 another number, like [r $0-1stSend].  Otherwise the symbol should
 immediately follow, like [r $0mySend].
 I like using a forward slash (/) since this is forwards compatable
 with the day when OSC externals make it into Vanilla Pd. ;)
 Aok by me.
 
 hmm, even though there surely _are_ uses for a combination of OSC and 
 $0, i guess this is the least common field of application...

Ah yes, you are probably right. In general though I find using '/' as a
divider more satisfying than '.' or '-' or '_' because it is more
consistent with the OSC way and with the whole libdir thing, although
maybe that's more confusing than clear. Hmmm. I used to use '-', hence
the names of s-abstractions.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] some works done with pd

2008-07-28 Thread Chris McCormick
On Fri, Jul 25, 2008 at 08:38:42PM +0200, cyrille henry wrote:
 for those which are interested, here is some work that i recently made with 
 pd/Gem :
 
 http://drpichon.free.fr/ch/article.php?id_article=88
 http://drpichon.free.fr/ch/article.php?id_article=80
 http://drpichon.free.fr/ch/article.php?id_article=76
 http://drpichon.free.fr/ch/article.php?id_article=95
 http://drpichon.free.fr/ch/article.php?id_article=94
 http://drpichon.free.fr/ch/article.php?id_article=89

Wow! Awesome work.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Idiomatic Pd

2008-07-28 Thread Chris McCormick
On Sun, Jul 27, 2008 at 06:34:05PM -0700, Luke Iannini wrote:
 * Sends and Receives are written in camelCase, with R appended to
 complementary receives (e.g. in GUIs, $0mySlider for the send and
 $0mySliderR for the receive)

Will this even work? I think sends and receives have to be named the
same to work.

 * When prepending $0 to a symbol, only add a - to separate it from
 another number, like [r $0-1stSend].  Otherwise the symbol should
 immediately follow, like [r $0mySend].

I like using a forward slash (/) since this is forwards compatable
with the day when OSC externals make it into Vanilla Pd. ;)

The other suggestions sound good to me.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Fwd: finding the cause of clicks when using sssad WAS: saving state of a patch

2008-07-24 Thread Chris McCormick
On Wed, Jul 23, 2008 at 04:21:54PM +0100, Si Mills wrote:
 I hope im not misunderstanding, but doesn't the s-abstraction way of  
 using 'datastore' to change presets eliminate dropouts - Why is there  
 a need for a ram disk? I mean is there a lag between hitting the giant  
 message box and updating all the abstractions?

Just to be clear, s-abstractions should not experience any dropouts at
all when you use the [sssad/datastore] abstraction.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] sssad slowness

2008-07-23 Thread Chris McCormick
On Wed, Jul 23, 2008 at 07:45:38AM +0200, Atte André Jensen wrote:
 Wow. Loads in no time (1 sec), and works perfectly. I had problems with 
 somethings not being restored, but I was relying on $0 as unique 
 identifier in those areas, so maybe that's what bid me.
 
 Shouldn't you and sssad's author (Chris?) get together and merge these 

That's Frank, not me.

sssad does not cause any loading slowdowns on my system (Vanilla Pd, not
pd-extended - if that makes any difference).

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] Pd-0.40.3-extended-rc2 released

2008-07-22 Thread Chris McCormick
On Tue, Jul 22, 2008 at 09:56:58AM -0400, marius schebella wrote:
 Frank Barknecht wrote:
 $ python
 Python 2.4.4c0 (#2, Jul 30 2006, 15:43:58) 
 [GCC 4.1.2 20060715 (prerelease) (Debian 4.1.1-9)] on linux2
 Type help, copyright, credits or license for more information.
 sin(0.5)
 Traceback (most recent call last):
   File stdin, line 1, in ?
 NameError: name 'sin' is not defined
 math.sin(0.5)
 Traceback (most recent call last):
   File stdin, line 1, in ?
 NameError: name 'math' is not defined
 import math
 math.sin(0.5)
 0.47942553860420301
 
 as opposed to a philosophical one, where I have to explain every word.
 communication.human.writtenlanguage.english.word.and 
 communication.human.writtenlanguage.english.word.leave

In Python you can also say:

 from math import sin
 sin(0.5)
0.47942553860420301

or even

 from math import *

so for your examples you'd say:

from communication.human.writtenlanguage.english.word import *
and
leave

The reason for this is that if you import absolutely everything into
your global namespace by default, you pollute it and cause conflicts and
name clashes. This has been discussed several times on the list and is a
terrible idea. This has also been solved 100% by languages like Python
already, as illustrated by Frank above.

Things like [bang] are core types of the language and should probably be
imported into the global namespace by default.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] is $0 the same on every load?

2008-07-22 Thread Chris McCormick
On Tue, Jul 22, 2008 at 10:37:44PM +0200, Atte André Jensen wrote:
 The reason I ask, is I'd like to use $0 as an unique identifier together 
 with sssad...

Is this so you can save and load different groups of pre-sets
separately? I have been trying to think of a nice portable solution to
that problem, using sssad. I have some ideas, but nothing concrete yet.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] is $0 the same on every load?

2008-07-22 Thread Chris McCormick
On Wed, Jul 23, 2008 at 07:25:58AM +0200, Atte André Jensen wrote:
 Chris McCormick wrote:
 
 Is this so you can save and load different groups of pre-sets
 separately? I have been trying to think of a nice portable solution to
 that problem, using sssad. I have some ideas, but nothing concrete yet.
 
 No.
 
 I have an abstraction that counts the beats (or 1/8 notes or other note 
 values) and sends out 0, 1, 2, 3 etc for every beat. The idea is to 
 instantiate this for every instrument that needs to know about time. 
 So in one piece it might be two in others 50. A convienient way to store 
 them was simply to refer to $0, since I didn't have to worry about 
 making some unique identifier up for each instance.

I understand. You want throw-away auto-ids. I'm not sure if anyone has
come up with a satisfactory way of doing that, but I will have a think
about it.

Incidentally, How I handle timing is I have a global timer [s-metro]
that keeps going up and up, and I use [mod 4] to (for example) have a
loop of 4 ticks or [mod 32] for 32 ticks. Sometimes I get crazy and add
together two [mod]s to get some weird sounding rhythms.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] saving state of a patch

2008-07-21 Thread Chris McCormick
Sorry to chime in a bit late:

On Mon, Jul 21, 2008 at 10:11:23PM +0200, Atte André Jensen wrote:
 As a workaround you can move the content of extra/sssad into the
 extra directory or another directory of your Pd-path.
 
 Ok, that seems to work. I can even make sssad-example.pd load/restore 
 form file. That's great, now I have something working and play with that 
 and see where it takes me.

Contrary to Frank, I like to keep sssad in a directory so I can have a
bunch of helper abstractions such as [sssad/auto] and [sssad/datastore].
The latter allows you to store all presets in-patch so you don't have to
load and save from files, which is how i roll.

Here's a helper post on how I use sssad like this:
http://lists.puredata.info/pipermail/pd-list/2006-12/045289.html

Also, someone commented that there is no way to store 'banks' of
different presets with sssad. That is actually not true, and if you look
through the archives you can see an example patch where Frank has done
this. Infact, maybe it wasn't Frank, I think this could be the post:
http://lists.puredata.info/pipermail/pd-list/2007-04/049452.html?

Thanks again to Frank for making the sssad so happy!

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [nosleep] WAS: how to avoid (most/many/some) readsf~ dropouts

2008-07-19 Thread Chris McCormick
On Fri, Jul 18, 2008 at 08:29:16PM -0400, Mathieu Bouchard wrote:
 On Wed, 16 Jul 2008, Hans-Christoph Steiner wrote:
 
 They are not my namespaces.  I neither wrote the code, nor figured out 
 their usage.  I just think it is a pretty good system to use.
 
 Well, given how much Günter is not there anymore and how much you are 
 there talking about said namespaces, I'd say that they are pretty much 
 yours. They could also be Günter's and yours at once, or only contextually 
 yours to the extent of the conversation that we're having. Whatever it is, 
 I know that you didn't code them, but this is not what I want to 
 concentrate on.

Whatever you want to concentrate on, I don't think it's fair to call
them Hans' namespaces. There was a lot of discussion on this list and
pd-dev about them for a long time, and many developers and users had
input into that discussion. I think it's more appropriate to call them
'our' namespaces, meaning the Pd community in general.

Just more noise,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Seam carving audio

2008-07-08 Thread Chris McCormick
On Tue, Jul 08, 2008 at 02:53:56AM -0400, Mathieu Bouchard wrote:
 On Mon, 9 Jun 2008, Chris McCormick wrote:
 
 Something struck me whilst out walking today; has anyone applied the
 seam carving technique:
 http://en.wikipedia.org/wiki/Seam_carving
 www.youtube.com/watch?v=6NcIJXTlugc
 to FFT data to do a timestretch/timecompress that is more sensitive to
 attack sounds and note lengths?
 
 Compared to the deleting 
 least important columns technique that they show at 1:40, the Seam 
 Carving technique sweeps the distorsions under the carpet. After that, 
 don't wonder what the big lump under the carpet is.

Yes, that is the exact point of seam carving. I'm not sure why you're
putting a negative lumps-under-the-carpet slant on the idea.

 When applying the technique to the spectrogram of a song, you should hear 
 it many times more than you'd see it.

I take it this is speculation. I am interested to know if anyone has
tried it and listened to the results.

 Perhaps it can be used as an interesting special effect, supposing that 
 what you want to do is mess up the rhythm seriously and turn chords into 
 arpeggios in truly weird ways. However, it will work at the sine wave 
 level, which is somewhat less attractive than if it worked on notes.

Isn't part of what makes a note perceptible it's higher energy compared
to the surrounding space in the spectrogram? If this is the case, seam
carving would delete seams around the notes since they have less energy,
whilst preserving the sounds of the notes themselves. This might sound
like a mess, but I'd like to hear it.

Maybe I sould just do it.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] raw resampling

2008-07-02 Thread Chris McCormick
On Mon, Jun 30, 2008 at 06:10:46PM +0200, Atte André Jensen wrote:
 Claude Heiland-Allen wrote:
 
 in~ [phasor~ 4410]
  |   |
 [samphold~]
  |
 out~
 
 Ah, of course!
 
 Note: this doesn't change the sample rate, but resamples the signal at 
 4410Hz. Not sure if this is what you want, but it's what I use if I want 
 lots of aliasing...
 
 I didn't really expect to have a signal at 4410. Would that have any 
 benefits, for instance with regards to performance?
 
 Basically I (like you) just want to hear some alias noise!

*shamless plug*

http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-bitcrusher~.pd?root=svn

Sssad friendly gui bitcrusher with lots of fun aliasing. Hmmm, I should
really make a help patch for her.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [pd] where is sssad?

2008-06-29 Thread Chris McCormick
On Fri, Jun 27, 2008 at 07:37:36PM +0200, Frank Barknecht wrote:
 Hallo,
 dani hat gesagt: // dani wrote:
 
  you mean this?
  http://mccormick.cx/viewcvs/oldcrap/s-abstractions/sssad/
 
 If your frightended by the  oldcrap in that URL (though it's
 probably harmless), you can get the official version from the Pd SVN
 at sourceforge in the directory:
 
 /trunk/abstractions/footils/sssad

Hey Frank,

I wonder if it wouldn't be worth putting a very small information page
about sssad into the puredata wiki with links to the SVN and how to
download it? Just so that people can find sssad using Google.

Also, I should probably put an svn:externals link to sssad instead of
including it wholesale in my own repository. I guess I could then check
my small additions into the main repository. What do you think?

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] Pd-0.40.3-extended-rc1 released

2008-06-18 Thread Chris McCormick
On Wed, Jun 18, 2008 at 05:57:03PM +0200, Hans-Christoph Steiner wrote:
 
 On Jun 18, 2008, at 4:32 PM, Mathieu Bouchard wrote:
 
 On Wed, 18 Jun 2008, Hans-Christoph Steiner wrote:
 
 These days, I think we should try to make it easy to install and  
 manage external libraries.
 
 I don't know what you mean by that.
 
 I mean not including everything in one big package, but instead make  
 it easy to package, distribute, and install libraries for Pd.

Hi Hans,

So does this mean that users in future will download a 'core' Pd
(extended) and then separately download and install the different sets
of externals that they want to work with, instead of downloading one big
monolithic package? I like that because it fits well with the Debian
philosophy.

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Size of a table

2008-06-11 Thread Chris McCormick
On Wed, Jun 11, 2008 at 10:03:28AM +0200, IOhannes m zmoelnig wrote:
 raul diaz wrote:
 I have a dumb question. What's the best way to get the size of a table?
 Sometimes I load a lot of samples on tables with soundfiler and I would 
 like to take the size of each sample as a variable in order to use it 
 with phasor + tabread4~.
 Is there any object which gets the size of a table?
 
 well i have a dumb answer: why not use the length output of [soundfiler]?
 
 i think that in this case the philosophy of Pd his, that there are 2 
 ways to change the length of a table: do it interactively (e.g. create a 
 [table bla 1024] or do it programmatically (e.g. via [; bla resize 216()
 in the first case the author of the software is responsible for using 
 (e.g. hardcoding) the right table-size throughout there patch, in the 
 latter case you could just listen to these programmatical changes).
 tables suddenly changing there size are beyond Pd :-)

There is one situation I have encountered where it would be useful to
have a built in [arraysize]. In some of the s-abstractions such as
[s-samplepiece~] you have to pass in the table name that you'd like the
abstraction to use. This means that at some point the user loads some
audio data into the named table (for example using [s-loader~]) and they
then know the sample table size. When they create the [s-samplepiece~]
playback abstraction they must manually enter the array size as one of
the arguments to the abstraction, along with the table name.
Inefficient.

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] MasterOfPrayer

2008-06-11 Thread Chris McCormick
Hi,

For the last few months I have been helping my friends Rodney Glick
(Artist) and Moshe Y Bernstein (Rabbi) with the technical aspects of one
of Rodney's artworks. The artwork, entitled Master Of Prayer will be
showing among many other fascinating works in Rodney's exhibition. It
opens tommorrow night (Thursday), 6pm at the [Lawrence Wilson Art
Gallery](http://lwgallery.uwa.edu.au/) at the University of Western
Australia. I'm really excited about this project. I got to use Pure
Data, voice synthesis (mbrola), and a network based pseudo-AI (Pd) to
help Rodney and Moshe create a really compelling and thought provoking
artwork. Here's the blurb that Moshe wrote about it:

In the Jewish tradition the full prayer service can be performed only
in a quorum of ten adult males known in Hebrew as a minyan. The main
part of the service, which occurs three times daily, is the Shmona
Esrei, or Eighteen Benedictions. These blessings are first recited
silently by the entire congregation. Afterwards, during the morning and
afternoon liturgies, they are repeated aloud by the cantor, often
referred to as the Ba'al Tefillah or 'Master of Prayer'.  In orthodox
Judaism any male, whether layman or cleric, over the age of thirteen can
lead the prayers. During the repetition of the Shmona Esrei, also called
the Amidah, or 'standing prayer', the congregation answers responsively
to each of the benedictions recited. In this installation each computer
has been individually programmed to respond to the blessings recited by
the main computer, the 'Master of Prayer', leading the afternoon Mincha
service. Though the installation appears to parody the human condition
of prayer by rote, on a deeper level it asks a haunting question about
the inherent nature of artificial intelligence. The Jewish sages require
kavannah, or 'proper intent' for prayer to be truly acceptable. To the
extent that computers can be programmed to 'think', might they not be
programmed to this 'proper intent' as well? In a tentative answer to
that question, 'Master of Prayer' can be experienced as a high-tech,
Jewish version of the Tibetan prayer-wheel or Christian rosary beads.

Good night,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] MasterOfPrayer

2008-06-11 Thread Chris McCormick
On Wed, Jun 11, 2008 at 03:36:44PM +0100, Andy Farnell wrote:
 I suppose that question depends on whether they believe in silicon heaven.
 http://www.urbandictionary.com/define.php?term=silicon+heaven

Heheh, and whether they dream of electric sheep.

 Thought provoking though. Does that mean the installation
 is doing voice recog?

No, nothing so sophisticated. The 'Master of Prayer' is reading from a
textfile script and communicating with the others over a LAN using Pd's
netsend/netreceive. The artist, Rodney Glick, specifically chose blue
cables over wifi so that observers were aware that they were
communicating with eachother like that. One thing that he really pushed
for was for the voices to be synthesised each time, not just played back
wav files. So this means that the computers are actually translating the
text into speech on the fly more like humans would. I used Mbrola for
that because it was the only speech sythesiser I could find that would
do the Hebrew language. Moshe, the rabbi, had to spend many hours
transliterating the hebrew prayers into a pseudo-TTS textual language
which is then massaged into .pho files for Mbrola using a Python script
that I wrote. The hebrew text is scrolled along side the strange
transliteration language on the screen as the computers read their
prayers. Apparently the computers have a quite distinctive
French-Israeli accents due to the Mbrola database used. :)

The call and response thing, and the monotone of the computer voices
(which I arranged on the Phrygian Dominant scale) is really quite
spooky to witness. I'll try and get some video of it.

Best,

Chris.

 On Wed, 11 Jun 2008 22:17:11 +0800
 Chris McCormick [EMAIL PROTECTED] wrote:
 
  Hi,
  
  For the last few months I have been helping my friends Rodney Glick
  (Artist) and Moshe Y Bernstein (Rabbi) with the technical aspects of one
  of Rodney's artworks. The artwork, entitled Master Of Prayer will be
  showing among many other fascinating works in Rodney's exhibition. It
  opens tommorrow night (Thursday), 6pm at the [Lawrence Wilson Art
  Gallery](http://lwgallery.uwa.edu.au/) at the University of Western
  Australia. I'm really excited about this project. I got to use Pure
  Data, voice synthesis (mbrola), and a network based pseudo-AI (Pd) to
  help Rodney and Moshe create a really compelling and thought provoking
  artwork. Here's the blurb that Moshe wrote about it:
  
  In the Jewish tradition the full prayer service can be performed only
  in a quorum of ten adult males known in Hebrew as a minyan. The main
  part of the service, which occurs three times daily, is the Shmona
  Esrei, or Eighteen Benedictions. These blessings are first recited
  silently by the entire congregation. Afterwards, during the morning and
  afternoon liturgies, they are repeated aloud by the cantor, often
  referred to as the Ba'al Tefillah or 'Master of Prayer'.  In orthodox
  Judaism any male, whether layman or cleric, over the age of thirteen can
  lead the prayers. During the repetition of the Shmona Esrei, also called
  the Amidah, or 'standing prayer', the congregation answers responsively
  to each of the benedictions recited. In this installation each computer
  has been individually programmed to respond to the blessings recited by
  the main computer, the 'Master of Prayer', leading the afternoon Mincha
  service. Though the installation appears to parody the human condition
  of prayer by rote, on a deeper level it asks a haunting question about
  the inherent nature of artificial intelligence. The Jewish sages require
  kavannah, or 'proper intent' for prayer to be truly acceptable. To the
  extent that computers can be programmed to 'think', might they not be
  programmed to this 'proper intent' as well? In a tentative answer to
  that question, 'Master of Prayer' can be experienced as a high-tech,
  Jewish version of the Tibetan prayer-wheel or Christian rosary beads.
  
  Good night,
  
  Chris.
  
  ---
  http://mccormick.cx
  
  ___
  Pd-list@iem.at mailing list
  UNSUBSCRIBE and account-management - 
  http://lists.puredata.info/listinfo/pd-list
 
 
 -- 
 Use the source
 
 
---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Seam carving audio

2008-06-08 Thread Chris McCormick
Something struck me whilst out walking today; has anyone applied the
seam carving technique:

http://en.wikipedia.org/wiki/Seam_carving
www.youtube.com/watch?v=6NcIJXTlugc

to FFT data to do a timestretch/timecompress that is more sensitive to
attack sounds and note lengths?

Best,

Chris.

---
http://mccormick.cx

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Getting Sysex output to work on Linux

2008-05-25 Thread Chris McCormick
On Sun, May 25, 2008 at 11:12:24AM -0700, Miller Puckette wrote:
 Is it out of the question simply to use the OSS MIDI API?  That should
 be the default, and it's much less buggy than the ALSA one.  (Apparently,
 though, there's sometimes a good reason to use teh ALSA one instead, I
 remember vaguely.)

I think that the good reason to use ALSA is that OSS is even more
deprecated than [namecanvas], in that everyone is switching away from it
as fast as possible.

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Processing ported to browser canvas

2008-05-13 Thread Chris McCormick
Big news!

http://ejohn.org/blog/processingjs/

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jon~ (was: Dattorro plate)

2008-05-06 Thread Chris McCormick
On Wed, May 07, 2008 at 12:03:47AM +0200, Anton Hörnquist wrote:
 Here's jon~, a reverb abstraction based on the algorithm in this
 article by Jon Dattorro:
 http://www.stanford.edu/~dattorro/EffectDesignPart1.pdf
 
 The allpass bit was taken from pd-list and the help file is copied
 from Millers rev3~-help and then modified a bit.
 
 Any feedback is appreciated.

Wow, great reverb! 0% CPU and it sounds sweet. Do you mind if I package
it up into a GOP abstraction and include it in my s-abstractions
collection (with appropriate credit to yourself of course)? I am playing
a set on Saturday and will most certainly make use of this, thanks so
much.

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Skilled Pd reverb person wanted

2008-05-06 Thread Chris McCormick
Hi All,

I would like to pledge $100 AU (roughly 61EU, 48GBP, 94USD) for someone
to re-implement the [freeverb~] external as an efficient pure-pd
abstraction which I can include in my s-abstractions collection. I just
love the sound of that particular reverb and it really ticks me off
that I can't distribute it as part of s-abstractions. You don't have to
make it GOPified or anything; a patch that has the audible
characteristics of Freeverb, and has the same editable parameters is
just fine - I will do the work of tailoring it for s-abstractions. There
is a whole heap of info out there on the net about Freeverb and its
implementation to help you, including an external which is in the
repository. It might even be easiest just to look at the source of the
external in order to turn it into an abstraction. Of course you will
also be credited in the final patch. The [jon~] reverb just posted by
Anton is a perfect example of what I'm looking for in terms of layout,
help-patch, and functionality, except with the freeverb characteristics
and parameters.

Any takers?

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] schedule a sequence of events

2008-05-05 Thread Chris McCormick
Check out [s-midiloop] for something similar. It's SSSAD saveable!

Best,

Chris.

On Mon, May 05, 2008 at 02:38:38PM +0200, altern wrote:
 thanks! i also added loop to it. see attached
 
 enrike
 
 Claude Heiland-Allen(e)k dio:
 This can be done with [pipe] and [list-drip] from list-abs, no externals 
 required.  See attached.  Note: this works in Pd-standard ms instead 
 of s, but the fix is trivial.
 
 Hope this is useful,
 
 
 Claude
 
 altern wrote:
 hi
 
 i needed to schedule a sequence of events, in this case start/stop 
 certain parts of a patch over time. I wanted to be able to pass to an 
 abstraction a list of time intervals (in secs and with variable 
 length) and then get output a series of bangs after each of the 
 intervals. I attach the solution I found, not sure if this is clever 
 or there is maybe something already done for this? I use drip, coll 
 and delay.
 
 It receives a list of times like
 2 3 0.5
 and outputs the index at the right time. In this case after 2 secs 
 outputs num 0, after 3 secs num 1, and after half a sec more outputs 
 num 2.
 
 I called it sequence but i bet this name is already taken and it would 
 be wise to rename it with another one.
 
 thanks for any feedback or ideas
 
 enrike
 
 
 
 
 ___
 PD-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list
 
 

 #N canvas 566 36 318 436 10;
 #X obj 51 177 list-drip;
 #X obj 51 228 t b f;
 #X obj 51 263 f;
 #X obj 77 263 + 1;
 #X msg 124 200 0;
 #X obj 51 153 t a b;
 #X obj 51 293 pipe f 0;
 #X obj 134 263 f;
 #X obj 109 263 +;
 #X obj 51 128 l;
 #X obj 102 127 length;
 #X obj 126 319 select;
 #X obj 144 127 - 1;
 #X obj 30 385 outlet;
 #X obj 128 382 outlet;
 #X text -2 365 index;
 #X obj 51 62 inlet;
 #X obj 184 56 inlet;
 #X text 232 58 loop;
 #X obj 126 343 spigot;
 #X text 89 61 list in secs;
 #X obj 178 102 tgl 15 0 empty empty empty 20 7 0 10 -260097 -1 -1 0
 1;
 #X text 174 382 bangs on done;
 #X obj 51 207 * 1000;
 #X connect 0 0 23 0;
 #X connect 1 0 2 0;
 #X connect 1 1 8 0;
 #X connect 2 0 3 0;
 #X connect 2 0 6 0;
 #X connect 3 0 2 1;
 #X connect 4 0 2 1;
 #X connect 4 0 8 1;
 #X connect 5 0 0 0;
 #X connect 5 1 4 0;
 #X connect 6 0 11 0;
 #X connect 6 0 13 0;
 #X connect 7 0 8 1;
 #X connect 8 0 7 0;
 #X connect 8 0 6 1;
 #X connect 9 0 5 0;
 #X connect 9 0 10 0;
 #X connect 10 0 12 0;
 #X connect 11 0 19 0;
 #X connect 12 0 11 1;
 #X connect 16 0 9 0;
 #X connect 17 0 21 0;
 #X connect 19 0 14 0;
 #X connect 19 0 9 0;
 #X connect 21 0 19 1;
 #X connect 23 0 1 0;
 #X coords 0 -1 1 1 95 19 1 100 100;

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] EU + USA tour!

2008-04-24 Thread Chris McCormick
Hello, (apologies if you recieve this more than once)

My wife and I are doing a tour of Europe (in a campervan) and the USA
starting at the end of August and I'm trying to organise some gigs for
myself. I'm counting on the help of you good folks of the Free Software
music oriented lists! I hope you'll excuse the imposition. I've written
up a bit of a bio[1] and you can download demo tunes from my music
website - see the links below for a selection. Finally, I've put up a
tour page on my music site, so please check it out if you're at all
interested in having me play at your event or venue, and please feel
free to forward this email to anyone you know who might book
experimental electronic/dance music. Here is the tour information:

http://sciencegirlrecords.com/chr15m/page/tour

Please contact me off-list if you are interested. I will be updating the
tour page with dates, as I get them. Thanks for your time.

Best regards,

Chris.

[1] bio - http://sciencegirlrecords.com/chr15m/page/bio

Tunes to sample:

http://sciencegirlrecords.com/chr15m/music/CD004/search_and_rescue.mp3
http://sciencegirlrecords.com/chr15m/music/remixes/your%20love%20is%20like%20tiny%20little%20pixellated%20origami%20hearts%20(the%20bank%20holidays%20-%20folded%20in%20half).mp3
http://sciencegirlrecords.com/chr15m/music/CD005/Chris%20McCormick%20-%20A%20Simple%20Plan.mp3
http://sciencegirlrecords.com/chr15m/music/CD003/ergotchitecture.mp3
http://sciencegirlrecords.com/chr15m/music/CD002/chr15m%20-%20soba%201978.mp3
http://sciencegirlrecords.com/chr15m/music/CD001/Chris%20McCormick%20-%20Poluka%20and%20the%20Android.mp3
http://sciencegirlrecords.com/chr15m/music/CD001/Chris%20McCormick%20-%20Dubious%20Transform.mp3

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Cyclone in vanilla?

2008-04-23 Thread Chris McCormick
On Tue, Apr 22, 2008 at 09:38:25AM +0200, Frank Barknecht wrote:
 Note that I also think, the math objects (abs~, pow~ etc.) should be
 part of Pd, and probably symbol2list.

I second this.

Miller, what do you think? You have mentioned importing Cyclone into Pd;
is it just a matter of yourself not having had the time to do this yet?
Would you rather this happened in pd-extended first, or would you accept
and apply patches rectifying this and making basic math tilde internals
if they didn't conflict with Cyclone externals?

Sorry to be so direct!

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] externals with same names

2008-04-06 Thread Chris McCormick
On Sun, Apr 06, 2008 at 10:53:14PM +0200, Frank Barknecht wrote:
 Hallo,
 IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
  2: don't use the full Pd-extended but strip it down to your needs (i 
  personally use a barebone Pd and add 3 or so libraries - i still have an 
  overview about what is loaded...)
 
 I'm sometimes thinking about making a pd-condensed fork of pd-extended
 which includes only externals and abstractions without nameclashes. ;)

Same here! It would be good to have a distribution with a maintainer
who is slightly less conservative than Miller about what goes in,
but still keep it really tight. Maybe it would also be cool to see a
democratized version of Pd where externals and libraries must be first
nominated and then voted in by some requisite number of positive votes.
For this to work I think we'd need to have people for each major GNU/Linux
distribution who would do the work of the actual packaging and submission,
separate to the building (My aims are totally selfish - I'd love to be
able to apt-get install this).

Even more talking with no action (sorry Roman),

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Reminder: PD VideoPedia

2008-04-01 Thread Chris McCormick
On Tue, Apr 01, 2008 at 11:49:44PM +0200, Frank Barknecht wrote:
 Hallo,
 B. Bogart hat gesagt: // B. Bogart wrote:
 
  Hmm, is this shared account a way of getting around the problem of
  copyright transfer?
  
  Anyone know of a CC/FLOSS utube like thing? (other than the prelinger
  archives)
 
 Why not put this on puredata.info? All that's needed is a flash video
 player, which is available as Open SOurce like the one on archive.org,
 and you can convert avis to flv with ffmpeg or mencoder.

Is it possible to get an RSS feed of a youtube channel or whatever? You
could just syndicate a channel onto the puredata.info site.

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Hidden folders in PD open/save dialog

2008-04-01 Thread Chris McCormick
On Tue, Apr 01, 2008 at 07:56:29PM +0200, Andre Schmidt wrote:
 would be very nice if pd used the open dialog of the current system
 (like gnome open dialog under gnome, windows under windows, etc...)

People used to advocate for Pd to use wxWindows or something similar so
that every part of it looked native on the correct platform, not just
the open dialog. However I think people gave up advocating that as it
became apparent how much Pd is tied into tcl/tk.

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] FUDIKaosDS

2008-03-28 Thread Chris McCormick
On Fri, Mar 28, 2008 at 01:22:19PM +0900, PSPunch wrote:
 Unless I recall incorrectly, FUDIKaosDS does not rely on the DLDI 
 library as it does not access any external file.

Yeah that's right - it does everything via WIFI because I couldn't be
bothered figuring out the DLDI stuff.

 To be honest, I have not tried Knobs  Sliders yet, only FUDIKasoDS.
 Maybe these two binaries were built at different timings, or then again, 
 it may just have been me missing something.
 
 I haven't updated my R4 in a while. If it is of interest to anyone, 
 maybe I can give Chris's binaries another try and apologize for causing 
 all the noise if necessary.

It may well be that I already recompiled it with the newer wifi
libraries and have just forgotten about it.

Anyway, if anyone is having trouble with the software please feel free
to let me know and I'll try to fix it.

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] FUDIKaosDS

2008-03-26 Thread Chris McCormick
On Sat, Mar 22, 2008 at 08:09:33PM +0900, PSPunch wrote:
 Thanks for viewing my work.
 That post on YouTube was made by me. (shortly after I suggested you a 
 while back to recompile the DS binaries using the later Wifi library 
 adding support for R4)

Thanks for making the video available. I am getting an R4 soon, so I'll
certainly be re-compiling the binary with the new wifi library so it
works with that.

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Associative list

2008-03-25 Thread Chris McCormick
Hello,

Just for kicks I implemented a sort of primitive associative array [1]
(also called a 'map' or 'hash' in some languages, depending on the
implementation) in pure Pd:

http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-map.pd?root=svn
http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-map-help.pd?root=svn

It maps symbols/floats to lists. So you can enter a bunch of lists into
it and the first element of each list is the key and the rest of the
list is the value. You can recall values (lists) by their key.

Don't look at the internals or your eyeballs might explode.

Hmmm, I wonder if this could be used with SSSAD to make some kind of
pure Pd pool/memento replacement? Maybe I'm getting ahead of myself.

Best,

Chris.

[1] http://www.wikipedia.org/wiki/Associative_array

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Associative list

2008-03-25 Thread Chris McCormick
Hi Phil,

On Tue, Mar 25, 2008 at 05:11:35PM -0700, Phil Stone wrote:
 This sounds like a great thing for vanilla Pd.  I've had need of 
 something just like this more than once.

Great! I hope it comes in handy.

 Having worked a bit with [pool] recently, especially as it is used in 
 Memento, I'd venture that you'd have to go quite a bit further to match 
 its functionality, though.  It's like a miniature in-memory file system, 
 with directories, clipboard editing, and more.  It would be laudable to 
 do a pure Memento, but I think much of the hierarchic potential of 
 [pool] for state-saving has barely been scratched, and in that direction 

Yeah for sure, that was way too optimistic of me. I think trying to
re-implement all the functionality of [pool] in Pd would be a huge
stretch of Pd and definately not what Pd is best at. [pool] is a great
external already - no point in re-inventing the wheel.

However I guess what I'm thinking is that it may be possible to extend the
functionality of the SSSAD system a bit with this associative list thing
to the point where some of the functionality of memento can be brought
into SSAD. I guess only Frank can really tell us if this will be any use!

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] FUDIKaosDS

2008-03-21 Thread Chris McCormick
Hello,

Sorry to blow my own trumpet twice in a row like this, but I just found
this video somebody made of FUDIKaosDS in action - that's one of the
two bits of software I posted about earlier. This video nicely shows off
it's capabilities:

http://www.youtube.com/watch?v=fDCYaEc2VL8

It looks like this person is using Pure Data and Gem for the sound and
visuals.

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Alternate Controllers

2008-03-20 Thread Chris McCormick
On Mon, Mar 17, 2008 at 05:43:03PM -0500, Mike McGonagle wrote:
 Hello all,
 Over the past few weeks, I have been looking at building a controller for
 myself, but was curious what other sorts of things others are doing with
 alternate controllers. What controllers are you using? How are you using
 them to control your programs? Has anyone considered putting together an
 Alternate Controllers for PD page?

Hi,

An alternate controllers page sounds awesome. Someone should get that
happening on the Pure Data portal.

I wrote some software for the Nintendo DS which allows you to create
dynamic interfaces on the DS touch screen and they talk back to your
Pure Data patches in real time. It's pretty fun and a super-cheap way of
getting lemur[1] style control over your patches. It talks to your patches
over wifi and uses the FUDI protocol. There is also a ROM (FUDIKaosDS)
which emulates a Kaos pad style interface on your DS. You can download
them both here:

http://mccormick.cx/projects/KnobsAndSlidersDS/

Have fun!

Best,

Chris.

[1] http://www.jazzmutant.com/lemur_overview.php

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Lua and PD

2008-03-05 Thread Chris McCormick
On Wed, Mar 05, 2008 at 09:45:47AM +0100, Frank Barknecht wrote:
 Claude Heiland-Allen hat gesagt: // Claude Heiland-Allen wrote:
  Vast amounts of number crunching, for performance reasons.  This 
  includes DSP at the moment, although hopefully Frank's port of 
  Lua~/Vessel~ is a viable alternative (not sure what the current status 
  of that is).
 
 It is working fairly well and now that LAC is almost over I intend to
 work more on it as I want to use it in a project. Vessel is quite
 fast: All synthesis and number crunching happens in a C-library, while
 Lua just serves as a kind of text based patching environment for
 dynamically generating the dsp graphs. This is very handy for granular
 synthesis or any other tasks that require lots of polyphony. So Vessel
 can do things that are nearly impossible with Pd patching alone.

Really excited to try this out!

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Google SoC: call for mentors and project ideas

2008-03-03 Thread Chris McCormick
 On Mon, 03 Mar 2008 14:30:20 +0100
 Georg Holzmann [EMAIL PROTECTED] wrote:
  We discussed at the LAC that we would like to apply again this year for 
  google's summer of code project, which is about to start today 
  (http://code.google.com/soc/2008/).

On Mon, Mar 03, 2008 at 01:41:00PM +, Andy Farnell wrote:
 I'd be happy to join any team that has a games+audio+Pd proposal
 as a mentor.

I have added this:
http://puredata.info/dev/summer-of-code/LibPd

Which is my proposal to make it easier to compile the audio-engine part
of Pd as a library and link it into your own projects. This has been
asked about numerous times on the list, almost always to do with games
related projects, and we all know that it's happening already in Spore.

Also, this could really help with some of the other SOC projects like
PluggoPd, PdVST, etc. so it's highly re-useable.

The only problem here is the confusing name; there is already a PdLib
project, which in my opinion should be called 'PdExternals' or something,
but LibPd seems a very appropriate name for a project for using Pd as
a library.

I guess I'm happy to mentor this but Andy is probably a better candidate
than me if he's interested! Or we could co-mentor - whatevs.

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] *.lua = *.pd_lua or *.l_lua?

2008-02-13 Thread Chris McCormick
On Wed, Feb 13, 2008 at 02:29:31PM -0500, Hans-Christoph Steiner wrote:
 Currently pdlua loads all *.lua files, which complicates working  
 with *.lua modules not intended to be used as pd classes: Those would  
 have to be in a directory outside of Pd's search path to not pollute  
 Pd's namespace. 
 
 So how about using Pd's normal tools for handling name clashes and  
 additionally, using a naming prefix like lib for the lua files that  
 are not intended to be Pd objectclasses (as I described earlier)?  
 Another possibility is using a subdir for these files.

The problem is Hans, that this is not a nameclash issue at all. The
problem is that *all* .pd_linux and .pd files are meant to be read by
Pd as instantiable objects. This is not true for all .lua files.  It's
obvious that the way around this is to make a new prefix which is always
treated by pd-lua like .pd and .pd_linux files are (as an instantiable
object), and keep .lua files completely separate and ignored by Pure Data.

The existing Pd mechanism and convention for knowing what is instantiable
is to use the file extension, which is a perfectly widespread method
across many programs and operating systems ('.exe', '.so', etc. etc.).
Sure, as yout pointed out earlier, you could put a .dll in a directory
and instantiate it in Pd if you want, but nobody in their right mind does
that because it's not the convention and causes more problems without
fixing any.

Adding a lib prefix or moving .lua files into a subdirectory do not
solve the fundemental problem which is that currently pd-lua thinks that
all lua files are instantiable, when they are quite simply not. It makes
no sense whatsoever to have Pd able to load a file type which it's not
supposed to be able to load.

Sorry to add more noise,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Saving Gem output as video file on MacOSX ?

2008-02-13 Thread Chris McCormick
On Wed, Feb 13, 2008 at 09:39:40PM +0100, cyrille henry wrote:
 marius schebella a écrit :
 another way to record your performances is to mirror your display and 
 feed the output with a dv camera or some other device.
 this will limit the quality.
 
 recording your actions is brilliant but a lot of effort during patching.
 
 in fact, not so much effort.
 specially if you use this abstractions.
 you just have to insert a [rec_play_any data_name] on every connections you 
 need to record.
 then the [master_rec_play] allow you to record everything in a qlist, and 
 play it latter in order to record sound/images.
 
 
 this is known to gives good result.
 
 the single magic line i use to create a movie is : 
 
 mencoder -oac mp3lame -lameopts cbr:br=256:aq=0  -audiofile rec_.wav -fps 
 50 -ss 0 -ovc xvid -xvidencopts bitrate=5000 -vop scale=640:480  mf://*.jpg 
 -o out.avi

[plug]

The s-abstractions collection also contains a couple of friendly GOP
helper abstractions (called 'total recall') for doing this:

http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-totalrecall-help.pd?root=svn
http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-totalrecall.pd?root=svn
http://mccormick.cx/viewcvs/*checkout*/s-abstractions/s-tr-node.pd?root=svn

My mencoder script for converting jpg + mp3 to video is attached [and
works in Debian Etch]. This will render a perfectly synchronised video
for you at the exact framerate of Gem - usually 20fps I think.

I made this video with that:
http://archive.org/details/Ergates/

[/plug]

Best,

Chris.

---
http://mccormick.cx
#!/bin/sh

if [ $4 !=  ]
then
mencoder -flip -mf fps=$1:type=jpg -o $4 -nosound -ovc lavc -lavcopts 
vcodec=mjpeg -of lavf -lavfopts 
format=mov:i_certify_that_my_video_stream_does_not_use_b_frames -audiofile $3 
-oac copy mf://$2

#mencoder -mf fps= -ffourcc DX50 -ovc lavc -lavcopts
#vcodec=mpeg4:vbitrate=9800:aspect=4/3:vhq:keyint=15 -audiofile
#verspuckte_Schlucke.mp3 -oac copy -vf scale=640:480 -o
#residuum-verspuckte_schlucke.avi mf://*.jpg

else
echo Turn jpegs into mjpeg movie with .mov container format.
echo Usage:
echo $0 framerate inputfilenames mp3 outputmovie.mov
echo
echo framerate = song length / total frames recorded
echo inputfilenames = e.g. '*.jpg'
echo mp3 = mp3 file containing the audio
echo outputmovie.mov = movie file to write to
fi

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Comments on pd as a library to be used in game

2008-02-12 Thread Chris McCormick
On Tue, Feb 12, 2008 at 11:03:13AM +0100, Pablo Martin wrote:
 Mmmm, not so sure what you mean (i suppose the pd internal scheduler?),
 but i guess the whole thing could be put in a thread maybe... don't know
 why but it's always seemed like it good be a good idea to have pd as a
 library (after using it too many times as external program)... it'd make
 such a cool internal sound system. Still... probably we could handle
 running it as a separate process, but maybe i've had too many bad
 experiences with that :P

I agree that it would be better to run it as a library. I did a bit of
an experiment, putting hte following into the Pd makefile in the src
directory:

libpd.so: $(OBJ) $(BIN_DIR)
cd ../obj; $(LD) $(DBG_CFLAGS) -shared -soname ../bin/libpd.so.1 \
-o ../bin/libpd.so -lc $(OBJ) $(LIB)

Then I tested it with a Python program something like this:

import ctypes
pd = ctypes.CDLL(./libpd.so)
pd.pd_init()
pd.sys_startgui(./pd-gui)

Which seems to vaguely work, although I haven't made it make a sound
yet. Anyway, I think this could be a good strategy for tying Pd into
Blender. I would suggest running Pd in a separate thread and using a
mutexed queue to pass it messages which would then be read from the queue
inside the same thread where Pd was running and passed into Pd in that
thread by using the standard Pd message generating functions. So basically
the game engine and Pd-in-a-thread would only communicate by message
passing over this mutexed queue which should eliminate deadlocks etc.

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pd thunder

2008-02-06 Thread Chris McCormick
On Wed, Feb 06, 2008 at 04:30:19PM +, Andy Farnell wrote:
 As I see, the unipolar vacuum collapse theory only makes sense, if there 
 is a chemical reaction that removes CO2, H2O, O2 or N2 from the atmosphere,
 (and one assumes no matter is transformed to energy) - well NO2 and O3
 are produced, but that doesn't account for the volume.

Really? I'm not so sure about that.

http://en.wikipedia.org/wiki/Sonoluminesence
http://en.wikipedia.org/wiki/Pistol_shrimp
http://youtube.com/results?search_query=pistol+shrimpsearch_type=search=Search

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


<    1   2   3   4   5   >