QuartzBuilder 1.0 Alpha 1

cwright's picture

QuartzBuilder Alpha 1, 2, 3, 4, 5, 6, 7 is almost ready for initial release has been released! -- please post bugs, unexpected behaviour, and other misfeatures here.

(please please please don't turn this into a drawn out feature request listing -- we're well aware of missing features, but lack the time to add them all for the initial release.)

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Where did the template auto-installer put it's plug, in my user name folder? (I think so?) I want to make sure I have it installed correctly...

edit- is it supposed to have a K or no?

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Ok.... I'm thinking that the "unregistered version limited to 25 patches..."... may be counting the patches on the template as well? I seem to have everything in order, but the export prompt is still grayed out... I'm checking it out still.

edit, ok I'm a doofus, because I can't get an app that renders a simple sphere to export. Can you post a template with a simple sphere and lighting that should work when put into Quartz Builder (or something similar, rotating cube, whatever)...? Thanks!

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

it installs to your user folder (it replaces the previous version, if it exists) -- if one's installed in your system folder, it doesn't look for/touch that one.

The template should have a K image

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

it counts template patches, and virtual patches. 25 is quite limiting, honestly.

The template, if you choose to use it, will probably end up exploding, now that I think about it -- there are lots and lots of splitters... (oops, I'm an idiot :/ )

You can also use it without the template, but you'll miss out on some of the functionality.

You can also try removing the input macros (those are the ones with the splitters), that might drop the patch count a bit.

Next build will have a higher ceiling to work with the template.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Ok, what is that saying?.... 12th time's the charm? Finally got something to work.

I think there is a problem with using the render in image patch with the apps... which of course is in many of my compositions... and not even talking about feedback stuff- either way. I'll do more testing.

edit...ok, it's not render in image necessarily, it's using the template! hmm....

edit again... getting it all worked out... I think I was/am doing something funny with the opaque setting, have to mess with it more.

SWEET!!! It's way cool!

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

Cool :) Yeah, Render In Image works correctly -- however, I've found that Official API plugins seems quirky (as in -- strangely absent). Checking into that.

Please take a moment to jot down what you expect vs. what actually happens, so we can work on making things more clear, or more intuitive.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

I have trouble with no borders giving me windows that won't resize... not sure if that is par for the course or not... and I tend to think that the trackball patch doesn't work.

edit.... Ok, I'm going to calm down here, mess with this for awhile, all different settings, etc., and give much more detailed and less sporadic notes here :o) Sorry!

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

I will ask though... is there a method for making published inputs available to the user?

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

not at all -- things we've intentionally omitted:

  • multi-screen support (there's not even single-screen dimensions supplied presently, just a vague "fullscreen" option)
  • published inputs/outputs (this becomes more ambiguous when you consider multi-composition applications in the future -- just who's input is this, anyway?)
  • multi-window stuff -- see above
  • deployable plugins (our commercial plugins that require registration) -- we've got some tricks for this up our sleeve, but we're still working on getting everything organized and tied together.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

cwright wrote:
not at all -- things we've intentionally omitted:

  • multi-screen support (there's not even single-screen dimensions supplied presently, just a vague "fullscreen" option)
  • published inputs/outputs (this becomes more ambiguous when you consider multi-composition applications in the future -- just who's input is this, anyway?)
  • multi-window stuff -- see above
  • deployable plugins (our commercial plugins that require registration) -- we've got some tricks for this up our sleeve, but we're still working on getting everything organized and tied together.

Do you mean, which input would correspond to which composition I guess and that being confusing or something?

The other thing, is the idea of being able to have a user change colors and "line weight" on a qtz, paint style... I'm at a bit of a loss. The only thing that comes to mind is to make little hover zone boxes to the side of the screen to set some of those values, but that method is kind of lacking.

Ouch. If multi composition apps are the only consideration in that, is it possible to have a variant where that could work? Sorry, I know you asked to keep it out of feature request zone, but it shoots many of my ideas out of the water...

Or maybe there is some other way to drag a music file path onto a finished app, besides a published input, that I'm not thinking of? Or set a scale on an object like a sprite?

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

It's actually a very loaded feature -- if we include a published input panel, we wouldn't have a clean way to removing that for an alternative approach in the future. (We're planning on some cool transparent binding stuff in the future, and this mucks that up pretty severely).

I suppose it's possible to have a table show up in advanced settings that lets you select which inputs you want exposed, and have them show up in a HUD or something...

(longer-term, we're also planning on adding composition-controlled drag/drop support, but that's a bit tricky to get right...)

Remember that this is still alpha, and things may change still :)

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Understood... there are plenty of cool things that can still be done within this paradigm.

I rue the idea of having to put a qtz "gui"(like on the "color mask/blend" examples on the quartzcomposition site) into the actual qtz just to do something like make the "line weight" on a doodle composition be able to be changed. Or figuring out how to give someone ability to change color of the line... I guess if the "transparent binding" stuff would cover that, it would be a-ok.

BTW, trackball stuff is working now. I don't know what the error was. I did close everything out, and restart (which I had already done)... and now that is working fine.

I think my glitch errors were from making a comp without a clear (imagine kinme particle paint without a clear)... no render in image stuff going on at all. Then I turned "off" opaque with the template. When I do that, I get a look like when you have a render in image patch working without a clear. I guess what it boils down to is... what is the correct approach for setting the app so that you see render patches without any kind of background color, and you just see your desktop?

If you choose "full screen", would it be expected for it to open in fullscreen as default? And if "desktop" and "fullscreen" were chosen, would it be expected for it to be like a wallpaper? I don't get that with either. Will check more.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

Fullscreen is hardcoded to sit on the shielding level (otherwise, you'd have windows above and below it, which is weird and difficult to deal with) -- in the next build I can let it support desktop-level too (hadn't thought of that).

To make a composition "clear", set the window background color to clear (0,0,0,0), and use a clear patch to also be clear (0,0,0,0) -- this is especially cool with ignore mouse events, shielding level, and always on top -- you can track the mouse to draw things, but still use your other apps correctly.

tomorrow morning there'll be a new build that fixes the patch count and official-api plugin stuff (along with a few other tweaks), then I'll work on a published parameter interface of some sort for the build following that (it's a fair amount of work, and I've got a lot of other things on my plate at the moment).

Trackballs seem to be a bit finicky -- looks like some mouse up/down events are getting lost. I'll take a look at queuing them up to get that smoothed out.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Yeah... I think on one build trackball didn't work at all... then I notice that it sometimes doesn't "ungrab" on one thing I have it working on. But... it's not bad either really... all you do is click again, and it's good. I've actually had this happen with other apps.

The desktop full level can be cool for creating a "pseudo" desktop environment.

Some kind of way of doing published inputs is going to be extremely helpful... maybe it's b/c QC has lent itself to that, and I've thought in those terms for so long.

However... you CAN tweak parameters via onscreen slider objects and such and this will give me an excuse to delve into that a bit until published params get sorted... never have wanted to so much before- I always have problems with that approach when I start shifting window sizes. Don't know how successful that approach will be really!

I guess it isn't impossible to set it up so that you could type a file in either with a mondo keyboard patch, lol....

All in all though, it's actually pretty stunning to see something "wrapped up" and working after all this time. Kudos, I know it has been quite an endeavor to do this.

I wrapped up a kineme3D based one ("space debris" qtz thing)... and I look in the file and don't see the actual fbx's... how cool! You hide that in the executable or something? They aren't still being pulled from the locations on my HD anymore, correct, they are in the app?

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

gtoledo3 wrote:
I wrapped up a kineme3D based one ("space debris" qtz thing)... and I look in the file and don't see the actual fbx's... how cool! You hide that in the executable or something? They aren't still being pulled from the locations on my HD anymore, correct, they are in the app?

We're not hiding resources, so I'm guessing it didn't copy them -- check the Resource Inspector before you export, it'll show you all the plugins and files it finds. (BTW you can delete incorrect plugins and resources, and drop in additional ones if it can't find them)

Right now, it can't handle absolute paths ("/foo/bar/baz") nor user-relative paths ("~/foo/bar/baz") -- it can only find files relative to the composition ("foo/bar/baz"). I suppose I could try changing the inputs to relative, and include the currently-omitted files, but then people can lose settings (i.e. if they want an absolute path in there). There isn't really a good solution, other than not using absolutes in the composition unless you mean it.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

That makes sense, as long as I know how to approach it :o) I thought about checking resources after I posted this...The run down on file paths and how it works with this sounds like the right approach.

yanomano's picture
Re: QuartzBuilder 1.0 Alpha 1

Amazing Chris ;) I have done a little test and it works like a charm....It will be so great with what is coming....Kineme rocks so much ! Unfortunatly i have not so many time to help debug the alpha...argg ! THX.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

Ok, Alpha2 has been released -- it addresses a few of the bugs mentioned above (node limit too low, transparency acting weird, events not working, official-api plugins not working).

leegrosbauer's picture
Re: QuartzBuilder 1.0 Alpha 1

Works well here too for the preliminary observation. 7 Render In Images stacked consecutively with feedback and ... it's smooth as butter. Cool!

(How are .icns created? I used a borrowed one)

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

leegrosbauer wrote:
(How are .icns created? I used a borrowed one)

There's an app called "Icon Composer" that takes pngs, tiffs, etc, and turns them into icns -- eventually I'd like this to be automatic, but Cocoa doesn't have an obvious way to make icns files simply...

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

There is something in the Developer Folder Applications/Utilities called Icon Composer.

My quick/ down and dirty process is... I usually open up Gimp (that comes with the free/X11 stuff), and make a workspace that's 512x512, doodle whatever, save as tiff (could probably save as anything). Then I drop it in the big window of the Icon Composer, it will ask you if you want to use the same images for all sizes, click yes unless you don't. Save the icns and your done.

You can also fly in smaller images, they just won't look as "sharp" if you are looking at them in cover flow or something.

leegrosbauer's picture
Re: QuartzBuilder 1.0 Alpha 1

Perfect. Thanks guys. Onwards to Alpha 2. Exciting stuff! :-)

gtoledo3's picture
Re: QB ALPHA 2

Allright!!!!

Standard API working- check!

Transparent, borderless AND resizable, naming the window, all work now. I have a floating comp running successfully now and it is awesome. All of the stuff that was vexing last night is now working ok. (on the first build)

Soooo, these apps will expire?... awwwww.

cwright's picture
Re: QB ALPHA 2

borderless and resizable should have worked previously (they're not part of the protocol, and were properly preserved), but resizing via the comp wouldn't work (and all the other stuff you mentioned).

the apps will expire, simply because we don't want a potentially buggy built app escaping into the wild doing weird things forever. When we're confident in the runner, or when we make this a public release, that'll be lifted.

gtoledo3's picture
Re: QB ALPHA 2

For whatever reason, with yesterdays build, whenever I chose borderless, I couldn't resize the window... maybe I had some other setting wrong, but I don't think so... anyway, it doesn't matter too much, today's build is good with that.

Ok, some things I notice:

When I have stuff setup for transparent, I will get a grey background for a second or so when I go to run the app, and then it goes transparent. That's not something that I personally care about too much, but I want to mention it nonetheless. If that never changed, I wouldn't care too much I don't think.

Secondly, would it be normal for "don't respond to mouse" to effect the ability to close the window via the red tab on the window? I would have thought that it would have effected everything but that.

I set one up like that, tried to grab the window, wouldn't move, ok. Try to close via the red x, doesn't close, ok. Now, I go to close out from the Menu bar. At first it was a bit hosed and didn't want to respond. After a bit, it pops up, and I quit the "quartz runner". What was weird is that the "app" window still stayed open and running correctly after closing quartz runner. I had to go over and close it via the dock. Then all was actually closed.

I'm feeling WAY more confident than yesterday :o)

Really... it wasn't too much of a big deal even if that is just how it works with this setup. I'm just curious if that would be expected.

gtoledo3's picture
Re: QB ALPHA 2

Oh, I keep forgetting to ask, or maybe I did already...

Works on 10.4 if you stick to 10.4 stuff? Probably not huh?

cwright's picture
Re: QB ALPHA 2

probably doesn't work on 10.4, but I didn't test it -- plugin loading almost certainly doesn't work on tiger, and some of the resource stuff might break as well.

ignore mouse events does what it implies: it causes the window to not intercept any mouse stuff (including closing via red circle). I'm not sure if there's a way to have the window titlebar still respond, but not the rest of the window.

gtoledo3's picture
Re: QB ALPHA 2

That sounds fine... I'll probably just make a point of not putting in title bars for those kind of setups so that people don't get confused...

It is WILD using this on desktop level, clear background, ignore mouse... Having stuff going on, on top of Safari, and still being able to click through to Safari...

As far as Tiger goes, I was thinking "if a qtz uses all standard patches that were used in Tiger, no plugins". I know a numerous amount of musician types that run Tiger (AE's can be notorious for running behind on OS versions, because of the HORRIFIC problems with upgrading plugins, and with needed plugins not being available on the most recent OS, etc...).

I know it probably seems absurd to even be thinking about Tiger, but what can I say :o)

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Ok... with Alpha2...

There needs to be some method to check if the GL Tools Alpha Blend mode is used, or a way to manually insert it into the resources if possible.

It actually makes sense to me why it doesn't detect this as a resource.

What I'm going to try as a workaround is to plop something else from GL Tools into the composition, and just not use it.

edit- Ok, I tried that workaround idea, put a gl point render (not enabled) onto the editor, and it detected GL Tools as a resource. Alpha Blending works in the exported app now.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

Yeah, I've noticed that as well -- I'm thinking about a solution for a future alpha build.

In the mean time, you can drop the GLTools plugin into the Resource Inspector to force it to get included too - it's not as nice or automatic, but it works in a pinch.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Cool, that's logical, hadn't thought about just dropping it onto the resources... I looked up at the menu bar to see if there were any options for that as my first intuition.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

it does need a menu option as well -- as you may have guessed, the menus (in both the builder and the runner) aren't anywhere near polished yet. :/

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Nah, they aren't but it "works".

Man, not to encourage lack of polish, but something isn't always a bug if it's "documented"... like the GL Tools thing.

For example, in my opinion, It is "ok" to go "because of the way GL Tools alpha blending works, this must be added manually if no GL Tools patches are explicitly being used", if it's going to be some crazy time consuming thing to get that to load automatically.

There are other apps where you just have to do whatever it is via the GUI. I think that it is always best practice to have the stuff in menu options, but it's not unheard of not to.

One thing I found... I think if you hide cursor in your build, and have mouse activity ignored... open the app, all is good- the mouse cursor is hidden. Use Spaces, go back to the window your app is in, and the cursor will be there. That is kind of expected given since something would have to trigger the app again. I would have maybe thought that hitting the icon on the dock would have brought it back and made the cursor disappear, but that isn't the case.

It's not really a humongous deal for me personally, but I just want to note that...

PreviewAttachmentSize
Hairball.app_.zip8.7 MB
Hairball Hide Cursor Test.app_.zip8.71 MB

yanomano's picture
Re: QuartzBuilder 1.0 Alpha 1

Nice George ! but how can i work with this hedgehog clipped to my mouse ;)

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

What would be the proscribed way to take advantage of the "preferences" thingee in the template? :o)

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Hahah, thanks.

This app thing is neato. It definitely puts a new twist on things.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

Generate a structure of key/value pairs (using Javascript, for example).

Right now, I don't think it's possible to remove settings once they're added -- that's a bit tricky.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

{lightbulb goes off}

Ohhhhhhhh.

So, to make sure I'm thinking of this correctly-

Someone could select a preference on the menu bar, and that hooks to the javascript in the comp... which I then connect the structure outputs of to the composition to make it do "whatever"?

So, it would be reasonable to have the preferences turn off a render patch, or trigger a different key on a multiplexer? If you happen to have an example of something like that feel free to post it, lol... otherwise I will definitely play around with it. Thanks for the heads up on it.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

Sorta? it's not interfaced with the menu at all (though that's possibly a future feature -- not something I've considered, but it isn't too out there).

It's all internal to QC -- You can have an interface that sets a value, and when it starts up, it uses that value (to turn off renderers, or whatever). It's all contingent upon the composition handling it though, which is a bit difficult.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Ok then, that's what I thought about the parameters of how that worked the first time I saw the template- but I started thinking, ya never know.

cwright's picture
Re: QB ALPHA 2

hrm..

Desktop Level is supposed to be behind everything (on the desktop, as in, behind finder icons etc -- this mode is for wallpaper overlays, etc).

Looks like I made a stupid mistake, and actually forced all exported apps to be on the shielding level (on top of everything, always). oops :( Alpha3 will have that fixed (as well as a few other quirks I've noticed).

Here's what it's supposed to look like:

PreviewAttachmentSize
DesktopLevel.png
DesktopLevel.png89.92 KB

gtoledo3's picture
Re: QB ALPHA 2

Hahah. Yeah, I was thinking... this isn't "desktop" in the way I was thinking of "desktop", but hadn't done enough exports to figure out if I was setting something else incorrectly...

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 3

Alright, THIS is what I was thinking of as desktop! Nice to see that, the "living wall paper" effect is great.

I'm still not 100% convinced by "hide cursor". It only work when the app is first deployed, and then Spaces will screw it up when you return.

Now, I actually view that as expected behavior given the same quirkiness with other "hide cursor" type functions I've used. It makes sense that when you come back to the window, your cursor will be visible, b/c "Finder" toggles to the menu bar item, at that point.

What makes me not 100% "convinced" still, is that I think that hitting the app icon on the doc- which will bring up the app as your menu bar item - should make the cursor become hidden again.

This isn't much of an issue for me, just something that seems aberrant. I haven't tried it with all of the window levels, and I'm also using it with ignore mouse events, so it could be the combo as well...

I just noticed that actually, all I have to do is click onto the desktop (create a mouse event), and the mouse cursor appears. I don't even have to do Spaces to trigger it. My intuition is that if ignore mouse events wasn't on, that the mouse would stay hidden... I'll try that, but it would make it so you couldn't click through to desktop files, etc...

To sum up... for whatever quirks I'm pointing out- not that big a deal overall.

I have noticed that when you have something set for fullscreen that it will tend to do a smaller window for a split second, and then "go to" fullscreen. The lag time seems shorter with this build, but that could be placebo.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 3

Mouse cursor stuff is really lame, and I'm not sure there's a good way to handle it app-side.... I'll think about it.

The split-second lag is because it has to run the composition once to get the output to configure the window -- I might render it once before attaching it to the window to get past the setup frame jump, but I'm not sure if that will add side effects.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 3

hmmm, I could see that adding side effects in certain scenarios, if it "truncated" the start. Maybe that wouldn't be a good route to go down in that case!

I don't think most people would give a second thought about the startup lag/window effect, and again, this wouldn't be the only thing to do it that's for sure. I'm just trying to be as nit-picky as I can possibly be for this phase.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

btw.... I did notice that the resulting apps are now having correct-ish most recently created times in this build. I don't know if that was on purpose or what :o) I know my old version was doing something that was making them come across as "older" than they really were when saved to my desktop.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Is it possible to have something on the desktop level, with the mouse ignore type of feature that lets you open up files, etc... but actually have the qtz not ignore, so that trackball features could still work?

leegrosbauer's picture
Re: QuartzBuilder 1.0 Alpha 1

Regarding the Trackball; I have it located down in some nested Render In Images and it works for the quartz composition but apparently not for the app. If this is expected behavior, I need advice on how to compose alternatively to achieve a Trackball-aware equivalence of some sort.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

not without some nefarious hackery -- it's been a long-standing bug in Finder/Window manager where windows at level kCGDesktopWindowLevel (desktop wall paper level) are clamped to the same layer as the icons (though they're still drawn underneath), and thus intercept mouse events before they go to finder. The only way to not interfere with Finder is to ignore mouse events entirely...

leegrosbauer's picture
Re: QuartzBuilder 1.0 Alpha 1

Ah. `Tis a pity. Ok, that'll give me cause to learn something new. Thanks.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

They work, but mouse up/mouse down events (clicks and releases) get lost along the way pretty frequently -- working on a less glitchy way to pass these along so that they're more reliable. (even outside of render in image, trackballs act a bit strangely)

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Ok...

The reason I ask is, that I have an app that loads as wallpaper that is obviously taking cues from mouse position, but it does "ignore" at the same time, b/c you can "click through" and open up files on the desktop for example. "Offshoots" by digitalwaters.net.

So, this seems to implement a "both" setting...

http://projects.digitalwaters.net/index.php?q=offshoots

Looking at it now, whatever they have for download is way updated from the version I have...

Basically, it tracks your mouse position to create new branches around where your cursor has been, but you can still open desktop files and such... however mine is setup, it loads like wallpaper/desktop level.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Yeah Lee, I've definitely been successfully using trackball...(aside from my one specific combo that I cite below)...

The main thing I notice with trackball is it not "ungrabbing", which makes you have to "click" again. It seems like if you do your clicks very slowly/deliberately, this doesn't tend to happen.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

Note that ignoring mouse events doesn't eliminate getting mouse position data, just click data. I'm not familiar with the linked app, but if it's just using position, you can do that with QuartzBuilder too (just use mouse position, but not clicks).

If it does accept clicks, then it's doing something nasty (undocumented CoreGraphics/Window Manager hacks to) that I'm not confident in.

leegrosbauer's picture
Re: QuartzBuilder 1.0 Alpha 1

ooops .. looks like I misunderstood who Chris was responding to in the above discussion regarding trackballs. I'll reserve further query on the subject pending outcome of the up/down event forwarding study.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Ok.... I did one that was desktop w/ mouse (as a quick test instead trackball), on mouse event ignore, and I think it was ignoring mouse patch outputs... I'm going to double check, b/c it sounds like I did something wrong from what you are saying.

Yep, what I am referencing definitely does not do clicks, so it fits into what you are saying.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

hmmm, I remember having to set something like that up... I'm almost certain that there is something already written that's really polished somewhere, but I feel hopeless as far as actually finding it in the din that is my qtz collection.

Here is an idea that isn't a trackball by any means... but is a "thought" that you can take and run with, and is a little bit of a substitute.

Darrrnnnn, I wish I could remember where that substitute trackball thing is, maybe it's even a developer example....

PreviewAttachmentSize
Untitled.qtz2.11 KB

gtoledo3's picture
Re: QB ALPHA 2

I KNEW the QB icon was a parametric surface patch thing! Now this is the smoking gun :o) (well, maybe I'm wrong, but it sure looks like it). It's very attractive.

Other suggestive things... ImageParticlePatch, and Bool javascript. Desktop voyeur!

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 1

Yep, mouse tracking is definitely fine when mouse events are off... I don't know what I was thinking there...

gtoledo3's picture
shifting levels with key commands

Ok... I can set it up so that hitting a key, or even key command combo, will make something jump to full screen, but there seems to be no "going back" once it's full screen.

To make sure there was nothing convoluted in my patch setups, I stripped it down and did something simple- I just connected the keyboard patch up arrow to the "fullscreen option"- it should pop fullscreen as long as I'm holding down the up arrow, and then when I back let go, it should pop back to regular (or I would hope!). Everytime, it will go to fullscreen like a charm, but even when whatever I'm using to trigger is no longer held, it won't "go back".

Just throwing that out there...

yanomano's picture
Re: QuartzBuilder 1.0 Alpha 1

Do you plan to add a feature like : You drag a file (movie or picture ) on the icon application . The file path is sended to something inside the QC composition. Should work with several elements at the same time (then a structure with paths is created)

cwright's picture
Re: QuartzBuilder 1.0 Alpha 1

We've been considering Drag&Drop/app association stuff, but it requires a more sophisticated UI, and a more sophisticated runner. Probably not for 1.0, but shortly thereafter.

yanomano's picture
Re: QuartzBuilder 1.0 Alpha 1

Nice Chris !

gtoledo3's picture
heheheh

It works! I think. System sounds on parade....

Someone test this thing on their system (pretty please)... it uses directory scanner to load sounds, the sounds aren't in the resource bundle...

PreviewAttachmentSize
Audio Click.app_.zip227.96 KB

gtoledo3's picture
Re: heheheh

One thing I notice during working this out... if you feed the audio file player a new path/trigger and the old file isn't done playing, it keeps playing the file! That's not necessarily bad and is actually really cool for many scenarios (it can save having to load multiple audio loaders and convoluted setups for instances where you want sound layering, awesome!)

... but I find myself at a bit of a loss for scenarios where you want the old file to "stop playing" before the new one begins... still thinking about it...

leegrosbauer's picture
Re: heheheh

Basso, Blow, Bottle, Frog, Funk, etc? Seems to work. Fun too.

Upon further inspection ... I got some graphics glitches briefly, apparently associated with minimizing and maximizing the app. It worked for several cycles .. then it got glitchy for a few cycles .. and now it seems to be fine again. Also, sometimes it minimizes itself to the dock simply from clicking the title bar in other places than on the minimize button.

gtoledo3's picture
Re: heheheh

Hmm, that's interesting... I put exactly.01% thought into any graphic aspect on this, it was more the click/file browser, and it working with a "typical" system file path.

I'll check out maximizing the window...

I don't know if I would feel comfortable assuming that any files are definitely in a certain place like this example macro/test app does; that said, many apps do that. It would be easy enough to do something where if "no structure elements where found", it would return a message saying so I guess...

leegrosbauer's picture
Re: QuartzBuilder 1.0 Alpha 1

Cool. Thanks for the composition. I had indeed gotten it working with the mouse XY converted to the rotation axes, but I didn't know how to utilize the mouse scroll functions. The mathematical expression patch will prove handy. Thanks!

leegrosbauer's picture
Re: heheheh

Well, the audio part is working flawlessly at my house. Made my wife smile. :-)

gtoledo3's picture
Re: heheheh

I find myself clicking out things like a Seinfeld sound tag, or one of those mc donald's commercials where someone starts clinking on something and everyone breaks into music.

I can see using a concept like this with some loaded resources to make a little percussion application, or even a virtual keyboard, etc... I also just setup a simple test desktop level app that browses the "nature" photographs and auto-loads them.

Maybe future versions could have an option to create folders in Library/Application Support or something like that, on the initial install? That would give users an easy way of adding extra media to a pre-established app picture/sound/movie folder loader setup like this, without mucking with creating the folder themselves.

I wish my laptop remote batteries hadn't died, I want to mess with using that as a control for some stuff in these apps... I needsta get a wiimote as well...

gtoledo3's picture
Re: heheheh

What's up with the help file option... is that able to be implemented somehow right now?

gtoledo3's picture
Re: heheheh

Are you maximizing/minimizing via clicking on the window, or by key combo? Or just by grabbing the bottom corner and resizing? I can't get a glitch... Is it just that it slowed down or lagged or something?

Sorry for the flurry of messages here!

leegrosbauer's picture
Re: heheheh

I got the anomalies when minimizing/maximizing by clicking on the window bar buttons and by clicking on the window bar itself. For me, the minimization anomaly when clicking anywhere in the window bar persists as of this posting. Upon a double-click anywhere (other than on the buttons) in the application window bar, the app minimizes to the dock. The graphics anomalies haven't returned but when they did occur they seemed to be associated with maximizing, as commanded from the button in the window bar. That could have been unique to my specific graphics card, perhaps? ATI,RadeonHD2600.

Virtual Keyboard, you propose? Sounds cool. Is there a way to assign specific keyboard keys as triggers in quartz compositions? Seems I saw a patch that would do that somewhere. Maybe coordinate the key designations with the Garageband Musical Typing mapping?

Regarding your concern for comment flurries; maybe a separate 'test my app' topic would prove of value? The app creators could interact somewhat intensively with the testers and then report back in summary to this primary alpha topic if anything significant were to have been observed? Might help to keep things tidier for this alpha thread as the alpha apps accumulate over time. But then ... experience also tells me that dividing a topic between competing threads can be problematic too ... hmmmm. Well, just a thought.

gtoledo3's picture
Re: heheheh

OK, I would expect it to play sound when you hit the window bar, so I guess that's "ok". I didn't try to reign that in or anything like that!

The keyboard patch will return a true/false when you press buttons... for default it just uses arrows, but you can go into settings and add "keys".

In a sense, these are less "things I am concerned with for personal apps" than it is me trying to break the actual Quartz Builder and make it do something messed up. So I'm trying to "hammer it" by kind of accelerating it into weird situations.

As far as QB glitches go-

The one thing I note is glitchy is to do fullscreen, ignore mouse, desktop level, and forgetting to choose "borderless". The performance of the resulting app is glitchy I think... over multiple tests.

That combo of options is somewhat pointless, b/c who would want a "window bar" on desktop level/fullscreen, if it can't do anything anyway? Perhaps that combo could be tested, and if it definitely IS glitchy for everyone, disabled, or jazzed up so that someone can't make something that is laggy and weird? If I take the same app, and go back, check borderless, it will work well/better.

leegrosbauer's picture
Re: heheheh

gtoledo3 wrote:
... who would want a "window bar" on desktop level/fullscreen, if it can't do anything anyway? ...
Window bar aside, what going fullscreen does do for that particular app is create a circumstance of being able to click anywhere on the desktop to activate the audio. Who would want that? I dunno. Prankster app creators? Might go good combined with that hairy cursor gobbler thing or something. :-)

gtoledo3's picture
Re: heheheh

Ooh, I wasn't clear, my comment wasn't directed towards that particular app, it was just about building "any" app with those particular choices... that app wasn't built with that setup, it's floating.

I can definitely see why someone might want a sound trigger thing that's fullscreen.

I think a virtual bongo, or something like that, would be exceedingly easy.

Maybe I should experiment with that "sheild" level more... maybe that would be good for what you are talking about Lee (clicking anywhere)... haven't used it yet!

I should have started with, "on another note"...

What I meant is that, if I build an app using Quartz Builder- in general - and make it fullscreen, desktop level, and dont make sure it is borderless, it ends up a little "weird". Granted I haven't done that build combo with this particular qtz, but I have done it with three others. If you do desktop level, fullscreen, ignore mouse, and forget to make it borderless... it just runs a little funky. You can go back and make the same build, make it borderless, and all is well.

I will extend that to... I don't know if I think window bars and ignore mouse works well in general. I have to mess with that a bit more, but it seems to create a little laggy effect when you purposely try to grab window bar that is actually "ignored". It is totally unscientific, but I also don't think that a window bar "wants" to be on the desktop level behind icons and such and be ignored! And when you eliminate that bar, all of a sudden frame rate and such smooths.

If had wanted to be real prankster, I would have made a clear window, borderless, and had the window track the mouse (plug a mouse input into the protocol x/y)... and put no type at all. That way it would follow your cursor without you seeing it, and it would block your screenclicks and make a funny sound every time you try to click. I guess another possibility would be to set it to ignore mouse, so that you can still open files, etc, but use a key, or key combo to trigger sounds.

The cool thing about an annoying idea like that is that no matter what, you can always go over to the dock and shut it off, or hover out using spaces, etc... So it makes for a new era of annoying desktop toy possibilities.

cwright's picture
Re: QB ALPHA 2

Yeah, it's a parametric surface (alpha 5, hopefully out in another hour or two) will feature a variation that's tweaked by Beth and Steve (and colorized). And, it was rendered at a ridiculous resolution (2kx2k, with 4x AA) in QuartzCrystal -- we eat our own dog food! :)

bool Javascript is part of the wiki page I recently wrote on Javscript in Quartz Composer, and ImageParticlePatch is part of a proprietary project I'm working on (so it'll likely not see the light of day, at least, not on this site).

gtoledo3's picture
Re: QB ALPHA 2

cwright wrote:
Yeah, it's a parametric surface (alpha 5, hopefully out in another hour or two) will feature a variation that's tweaked by Beth and Steve (and colorized). And, it was rendered at a ridiculous resolution (2kx2k, with 4x AA) in QuartzCrystal -- we eat our own dog food! :)

I can believe that, because it is so smooth. Maybe you should describe it as paté.

cwright wrote:
bool Javascript is part of the wiki page I recently wrote on Javscript in Quartz Composer, and ImageParticlePatch is part of a proprietary project I'm working on (so it'll likely not see the light of day, at least, not on this site).

Aha!

leegrosbauer's picture
Re: QB ALPHA 2

cwright wrote:
... bool Javascript is part of the wiki page I recently wrote on Javscript in Quartz Composer ...
There's no place to vote on that wiki page, so I'll just say thanks here. Interesting observation about the QC user demographics. I had wondered about that.

Thank you for the new wiki page. Very helpful.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 5

So, with alpha 5, some UI changes took place -- we're hoping to have them finalized in the coming alphas. Please indicate what you like and dislike about the current UI setup, what you would change, and why.

mattgolsen's picture
Re: QuartzBuilder 1.0 Alpha 5

When do you all think you'll be ready for more feature requests? I'm sure you have a ton of stuff you're implementing so I don't want to bombard you with more stuff.

I'm super happy with it so far, as soon as I saw Alpha 1 posted I purchased it immediately. Keep up the good work!

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 5

It's is really straightforward... "short and sweet". It's kinda hard to find something "wrong" with it. Even dropping a qtz on the dock icon works correctly :o)

Now for really weird/nit-picky aesthetic comments....

There is something about the way that the qtz/app icon/export button are all right justified that bothers my eye... I think that the export button should probably be centered under the app/qtz icons, but I'm not 100% sure about that.

When you click on the various fields, you get the blue outline. The only thing is, you do also get that when you click on the qtz preview, and icon preview... which would seem to suggest ability to load directly from that step, from right click or whatever. You can't really "do anything" by selecting either one of those two windows at any time, the way you can with the text fields, so I don't know that they should even be able to have a blue outline? The one time that I might expect a reason for the blue outline on the qtz preview, for example, would be after drag and drop but you don't get it at that point.

Ok, those are some extremely nit-picky, and "don't matter much to me" points that I just brought up.

As Matt says... not sure if this is more of a feature request (I think it is), but an option on the template/builder to make published ports available somehow (besides the protocol ones) would be a big plus. On the other side of that, maybe there is a way to achieve some similar control using preferences, but I haven't been able to figure out how to get that working with a composition.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 5

You can list features that are "simple", or lists that are "short" :)

(where "simple" = not much additional code, or something that's a glaring omission, and "short" = less than 3 items -- The purpose is that we don't want to defer 1.0 for months and months to throw in everything + the kitchen sink; we'd rather have a simpler 1.0 out with lots of diverse use before regrouping features... this is a fairly open-ended project for us).

cwright's picture
Re: QuartzBuilder 1.0 Alpha 5

The focus rings on the icon/preview are because you can press delete to remove them... otherwise though, you're right and they're useless. For the preview, removing the highlight makes sense (since you can clear the composition field), but the icon doesn't have a way to get removed.... maybe that's a good thing though.

Still investigating published input stuff (after some ambiguity on the mailinglist, as always...) -- hopefully we'll have a solution for that in the next few days.

mattgolsen's picture
Re: QuartzBuilder 1.0 Alpha 5

How difficult or complex do you think a "Kiosk mode" option would be?

cwright's picture
Re: QuartzBuilder 1.0 Alpha 5

What exactly does that entail?

Fullscreen? (check)

Screen saver stuff? (shield-level will actually draw over screensavers -- try it. check)

Hide Dock Icon? That's a plist setting -- I've avoided including that simply because it facilitates malware creation (not that a determined adversary couldn't do that already, but I guess I don't want to encourage it). -- you can modify the exported app's plist to add this functionality.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 5

Oh, I hadn't noticed I could press delete for that, cool.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 5

Does this build have the function so that deselecting full size makes the window go back to the last size? I was just trying that, and not getting that behavior from it...

My methodology was (for sheer speed of testing) - hook up an arrow(keyboard) to increase on a counter, hook up another arrow to the decrease.... The decrease does the previously mentioned thing of releasing it from non full, but doesn't make it go back...

Again... not a big deal, just a "would be nice".

One thought I had about the UI that is just "different" but not better... if the resources popped out like a "drawer" once the qtz loads into QB. That would tend to "make" the user look. I like the current setup, and don't feel that the drawer idea is something that's necessary, but it might be a nice thing, never know. I mean, I didn't realize that GL Tools wasn't loaded on that one thing until looking at the exported app, even though I KNEW I could look at the resources. I could theoretically seeing it come into play for making sure that various media paths were changed correctly, so that they get loaded into resources as well.

Obviously, one can just make a point to look, but a pop out drawer would emphasize this as a necessary part of the process.

I semi-retract my statement about the placement of the export button... The right justify has precedence in many Apple setups. There is something about the spacing on that side of it, that makes my eye not want to see it that way, or make the little icon and qtz preview a bit further from the text boxes. This is a weird aesthetic/design philosophy personal baggage thing.

Did you decide not to make the export button turn blue when things are loaded because of the way that you can still enter in info in the text fields, so it's kinda open ended (though it does turn blue for the second that you select it)? I like the way you did the "ready to export" instead. The file browser for saving was a good add on.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 5

I haven't added the window-frame restoration stuff yet (next build perhaps?).

drawers run the risk of getting deprecated in the future (for good or bad, they get a lot of flack) -- it is possible, however, to just open the resources window when a composition is dropped in and has interesting stuff inside. This doesn't help the non-interesting aspect (i.e. gltools omission), but it's another idea to consider.

blue buttons are a bit tricky (as in, I've never looked into it ;), which is why it doesn't turn blue when it's ready to go. I've noticed that myself though, dropping in stuff, and hitting enter hoping it'll export...

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 5

Yeah, I had vaguely remembered reading something about drawers and that... which is too bad, b/c I kinda like them! Are drawers tied to Carbon in some way, or is it a totally un-related?

The idea was more driven by the concept of "what makes it more impossible for someone to screw up". The way it works now is good for me. It's drop dead simple.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 6

Thanks Chris.

The UI looks SHARP, and the K background logo and the little app icns things added a visual balance, really brought it all together.

Haven't done anything w/ it yet but thanks for taking a look at the mouse event stuff before going into indentured servitude.

In case you all don't know, Chris is working on a special flux capacitor QC plug-in and will be very busy. The Delorean software emulation will prob be pretty tricky.

cwright's picture
Re: QuartzBuilder 1.0 Alpha 5

drawers are Cocoa, so they're not too archaic -- however, they have quirky behaviour that shows that apple hasn't spent much, if any, time polishing them since Tiger... :/

figured out blue-button stuff (for the Flux Capacitor, surprise surprise ;), so that's scheduled for alpha7 I guess.

gtoledo3's picture
Re: QuartzBuilder 1.0 Alpha 5

I did have something happen yesterday that makes me suspect that if something has a slider, the drawer will pop out. Haven't tested the hypothesis yet.

Congrats on blue button :o) I confess I was looking at Cocoa for Dummies on this very thing earlier today.

I'm glad you made the apps not expire... at exactly the time I find the perfect color oscillation effect to make people poop their pants when they look at a program. bwahahah, my plan is complete...

mattgolsen's picture
Re: QuartzBuilder 1.0 Alpha 6

It better have a Mr. Fusion!