These are chat archives for learnclang/general

6th
Mar 2015
Alex Widener
@alexwidener
Mar 06 2015 09:01
Mmmmmm… Any new projects?
Marcus Ottosson
@mottosso
Mar 06 2015 09:02
Hey Alex, there's still the audio project, but I haven't had too much time to participate lately, it'd be cool if you could post some progress if you get started.
Alex Widener
@alexwidener
Mar 06 2015 09:08
Oh, wait. I'm missing everything since February 14. I'm assuming that's because I haven't signed in since then and I'm on a free account. Makes sense now.
I thought this was dead, I was bummed.
Marcus Ottosson
@mottosso
Mar 06 2015 09:09
No no, you haven't missed anything, it's been quiet ever since, sadly. :(
All active posters basically went off the grid at the same time.
How's your situation at the moment?
Alex Widener
@alexwidener
Mar 06 2015 09:10
Haha, sorry. It’s been super busy at work. I basically work like 12 hours a day and then go home and pass out. No rigging work for me lately either and that makes me sad :(
Marcus Ottosson
@mottosso
Mar 06 2015 09:10
I know what you mean, I'm in the same boat.
Alex Widener
@alexwidener
Mar 06 2015 09:11
But I’m planning on coding a bunch this weekend. Learning an upgrade from python2 to python3. Maybe some C. Maybe this stuff will be good to work on
Marcus Ottosson
@mottosso
Mar 06 2015 09:12
Cool, I'll try and join in.
Maybe as a next project, we could have a look at doing a C extension for Python (2 or 3)?
Have to run, but I'll be back in a few.
Alex Widener
@alexwidener
Mar 06 2015 09:19
That’s cool, that sounds like something I’d be interested in.
Marcus Ottosson
@mottosso
Mar 06 2015 10:17

Had a quick think about this and it could actually be quite interesting!

Here are my thoughts;

  1. We'll get setup with the simplest of helloworld extensions. Something we can import and run, that prints to the console.
  2. Next, we'll have a look at passing the extension something; a string, or number for example. It does something to it (add 2?) and returns it.
  3. Next, and this is the interesting part, as Maya runs Python, we could have a look at passing a position (i.e. three numbers) and have our extension modify it (add 2 to Y?) and return it. With that, we've basically got a software-independent animation plug-in.
  4. Next, and this is where it gets really interesting, we'll have a look at passing many positions, and possibly other data, modify it in C, and pass it back. Now we've got a deformer running, compatible with any software that runs Python.

By the end of that, we've basically got a simple Fabric Engine running.

Alternatively, instead of making it a C-extension, which would require it to be compiled per-Python version and MSC (on Windows), we could simply make it a separate binary/executable.

Thoughts?

Alex Widener
@alexwidener
Mar 06 2015 10:20
Ah, I’m about to pass out, I can’t think about this at all. I should’ve been asleep 5 hours ago :) I’ll reply back tomorrow afternoon.
Marcus Ottosson
@mottosso
Mar 06 2015 10:20
Haha, no problem. :) Dream of it!