Browsing articles tagged with " code"
May 13, 2012 - 23:14
julien

Circle packing for iOS …



My life is a technology & art exploration.
It can be defined more as explorationS. Plural is important.

I love the circle shape.
A lot of concepts are related to that shape.

You probably see DIGITAL COLLISIONS, I’ll release in few hours MOBILE MOOD MACHINE … every time the circle is here or there.

Here is a picture processed with a java algorithm around the circle packing concept.

Here is a nice scientific publication around the concept :
http://web.sau.edu/lilliskevinm/wirelessbib/CollinsStephenson.pdf 

I’m currently designing a small application.
You’ll be able to take a picture (or grab one in the library of the iOS device), you push a button and it calculates a nice circle packing with circles having the color of the mean of all color “under” the circle (on your picture)

The render is nice.
Maybe a couple of button to tweak (maximum size of circles, border contrast etc) but not sure.

You’ll be able to share the picture on Twitter, Facebook, Email and much more social stuff.
Maybe we could make a little packing contest :)

Let’s see how it can go :)

 

 

May 5, 2012 - 19:27
julien

Early description about my Generative music mood machine



Here is the very early words about my next iOS machine.
This will be my 3rd application on App Store after:
- Mobile Particles
- Digital Collisions for iPad & iPhone/iPod
- The Droner

Best way to keep informed: http://julienbayle.net/contact-subscribe

I’m still developing some parts but the main core is totally ok and I’ll make you hearing a bit asap.
The main purpose is to make the most amazing & efficient mood machine ever.

Because Less is More, I worked and removed progressively a lot of features to keep only the main interesting from an aesthetic & zen point of view.

It includes around 7 moods and more are coming.
Each mood can play (or not, as you’d prefer) unique soundscapes  designed especially for this application by me.

 

Mobile Mood Machine is one of the strangest iOS application amongst a lot of music application for iPad.

Mobile Mood Machine provides a playground you can touch with your fingers.
Rules are really easy and minimalistic:
- touch the screen to create spherical creatures popping out sine waves sounds
- the more the touch is made at the top, the more the creatures pop out high pitched sounds
- choose a Mood which consists in color gradient, sequences rules, scale
- choose to listen especially designed soundscapes in the background or not
- adjust the delay and the effect of time over the age of those digital creatures
- enjoy !

Minimalism, Zen & Quietness are the main words that could describe this iOS application.

The Mobile Mood Machine ‘s engine works with circular buffers recording til 8 sequences represented by 8 colors.
Each sequence is repeated according to specific rules related to the current chosen Mood.
Some Moods are minor, some are major with a lot of time between sequence repetitions, some are hypnotically repetitive.

You can choose to make creatures becoming old. In that case, they will progressively disappear and their sounds will have a bigger attack til their end, when they will completely disappear.
Some Moods make them to be old faster, or slower.

Here are some possible uses:
- walking in the street
- being in the train
- beginning to try to sleep
- before going to an hardcore meeting
- together with your loved one relaxed

This promising system have already a nice roadmap for the next months.
Especially, The mode Near Sleep Experience will provide a nice way to enter in sleep progressively with a VERY long fade out from the moment when you set up the global time of fading and the last notes played.
This is a nice digital creature holding your hand til the dreams’ world.

Apr 10, 2012 - 06:06
julien

Worked on this noise/drone machine for iPad



Here is an audio sample of the iPad application which would be finished in 1 or 2 days.

I hope you’ll like the render.

More infos soon, but a very early view of the GUI:

Mar 26, 2012 - 21:22
julien

Digital Collisions 1.0



NOW ON APP STORE FOR IPHONE & IPOD & FOR IPAD

OFFICIAL FAQ

Just after mobile particles 1.0 has been APPROVED by Apple, I submitted this other one.
I may be in a huge creative mood way these days.

Already featured on MATRIXSYNTH & SYNTHTOPIA & DISCHORD & MUSIC RADAR & iOSNOOPS, I’m very happy that you appreciate my apps.

Check Jordan Crudess‘  video (thanks to him, he made that video, not me)

Digital Collision is a unique sound generator based on physics collisions algorithms.
It can produces real nice sound textures from the most clear to the weirdest granular.
The sound engine is a polyphonic tone generator.

It is the second application designed by Julien Bayle (known as protofuse on the digital electronic music scene)

Touch the screen to create particles.
Each particle lives its own life, making sounds while bumping walls or meeting the other particles.

By clicking on Menu, you can control particles lifes & sounds.

Zen defines the quietness of particles.
Autogeneration is a special mode where particles are generated automatically, sometimes.
Birth defines the amount of automatically generated particles in Autogeneration mode.
Delay Amount is the percentage of delay fx, Time is the length of the delay,Feedback is the percentage of output sent back inside the Delay, Symmetry is the most strange parameter involving stereo disorientation.
Filter Freq control the center frequency of the global BandPass filter & High Notes is the Highest Note produced (MIDI notation)

You have to test the Noise.

It produces an unique & nebulous collision soundscape & you can control the amount of nebulosity.

 

Mar 26, 2012 - 09:09
julien

my first app on App Store !



Dear followers/friends, I’m so happy.
I designed this application, based on an algorithm I coded initially for Processing (which is JAVA-based)
I translated it and improved it too inside C++ language in order to fit with Open Frameworks framework, and especially with iOS build.
I want to thank a lot Reza who supports his precious MIT licensed ofxUI addon for UI design purposes.

The first post about it is here.

This application is also a new & nice way to test how I could distribute my music to you.
Music alone can often sound a bit sad.
Now, if you grab that app, you’ll have :
- a 13 minutes track of evolving ambient by me as protofuse
- a visuals generator based on my algorithm of flocking particles

I can now use this logo.
Click on the logo and you’ll be driven to Mobile Particles.


I found a new way of expression which can live on mobile devices and be closer from you.
Here is a view of the menu.
Each parameter is tweakable and make the visuals evolving a lot.

I hope you could share it with your friends.

Mar 16, 2012 - 01:35
julien

Early lines from my next iPad app



When you are coding, you need visuals, sometimes.
Working on my next 2D sequencer for iPad, I just illustrated some values inside the sequencer engine.

Btw, the final product will be very visual but polished & beautiful :)

Things go well & fast considering it totally works on my iPad for the gui (not yet shown), the sound engine (at least the global part), the sequences (multi sequences system)

More, you won’t have seen something like that before.
Stay tuned !

Mar 1, 2012 - 01:18
julien

Maximilian audio library, Openframeworks & iOS



A very fast message, before a longer one.
I hesitated about the right  sound library to use in my iOS machine project.

Maximilian is a very powerful wrapper that allows to use portaudio or rtaudio very easily.

If you try to compile your XCode project using Maximilian, BE SURE you have linked the Accelerate.framework library.
Without it  won’t work anymore and you can look for very long time.

Many thanks to joshua who hardly try to help me as the newbie of the day.
But indeed, it hasn’t been written anywhere !

(so I’m a bit proud to have found this one :p)

The reference post is there

Feb 15, 2012 - 23:03
julien

Ability to cleanly destroy LiveAPI’s callbacks ?



I initiated a post on the Cycling 74 forum.
It was about the fact that if you instantiate LiveAPI objects, setting up callbacks, through javascript, I had doubts about how those callbacks could be cleanly, I mean: with a REAL memory liberation, destroyed and garbage collected.

Indeed, javascript’s Max implementations provide all stuff from classic javascript.
It means the garbage collector is also totally working.

So, if I want to make a LiveAPI call (instantiation) from javascript, I can do that:

trackObject= new LiveAPI(this.patcher, “live_set tracks 5″);

This row call the object in the LOM and “put it” in trackObject variable, basically for further access.

I can also do that:

trackObject= new LiveAPI(this.patcher,track_callback,”live_set tracks 5″);
trackObject.name = trackObject.get(“name”) ;
trackObject.property = “name”;
function track_callback()
{
post(“The track 5 is named:” + this.name;
}

This piece of code instantiate an object and observe if something changes and react by doing something.
Here, if the name of the track 5 changes, the callback is executed and pops out the new name.

If trackObject is out of scope (I mean, NOONE calls/runs the part of the code where it has been declared), the javascript’s (precious) garbage collector destroy and free the part of the memory where there was this variable.
It works.
BUT the problem is on the LiveAPI (and Live) side.
How could I be sure the callback is totally collected ?

Especially, I have been surprised by using the same piece of code by creating a HUGE table of LiveAPI objects, using callbacks and other stuff.
The Memory was a bit … busy and even the CPU (callbacks were working)

So I decided to … basically as I used to do in javascript: to try:
- myArray.length = 0; (this totally weird tip works fine usually)
-  myArray = null; (no comment)

Nothing worked fine BECAUSE there were those callbacks still working or even sleepy zombified or ?!

So the question became: How to really free memory from this callbacks ?

Tom answered and give an important information in the thread I began there.

cb_private seems to be a property for all LiveAPI objects (I guess it is trivial for those which don’t have a callback)

So, inside the callback, Tom suggests to add

delete liveAPIObject.cb_private

Where liveAPIObject is the related object for which you need to free the memory addressed for the callback.

Let’s test that in case we need it.

I suppose C74′s dudes will answer soon, but it is a nice news/clue/tip to test.
 

Nov 9, 2011 - 09:42
julien

Max 6.0.1 update !



Reference post is http://cycling74.com…ic.php?id=36219

Let’s download it here: http://cycling74.com/downloads
Our friend & mega-dev-guru Joshua (Kit Clayton) wrote:

Max 6.0.1 release notes:
New Features:
• highlight patcher object box via double click on inlet/outlet
• autocompletion now filters out redundancy
• jit.gl.material: messages to open/close material browser window
• pfft~: open original patch under contextual menu
• persistence of object explorer disclosable headers
• autocompletion dimmed text and enter/tab/space/defocus completes text
• implement gen access to the object via help
• new jit.gen, gen, and jit.gl.lua examples
• jit.gl.lua vignette
• MSP optimizations on both platforms
• minimixer improvements
• Gen documentation updates
• reveal preferences toolbar item

Bugs Fixed:
• keyboard shortcuts working in save as dialog
• mxj: outletHigh fixes
• documentation browser: now work on Windows
• hint: documented delay time of 0
• patch cords at edge of window cause no longer cause scroll bars
• jit.pwindow: works as a rendering destination in MFL
• added missing clues in Max Preferences / Patcher Window
• setclock: fixed “mul” mode
• bogus objects now respect Object Defaults color
• Projects: .avi files added to ‘Media’ section
• dict: ‘export’ message fix
• cycle~: fixes for high frequency setting
• jit.displays: verifies that displaymode < count before sending
• cycle~: no longer goes from sinusoid to negative DC with ramp
• jit.gl.slab: slab processing/parameter fixes
• jit.gl.multiple: glparam “color” now works in all cases
• cycle~: improvements to sound “quality” differences between Max 5 and 6
• buffer~: ‘sizeinsamps’ allocates channels properly
• vst~: audio throughput when no plug present
• documentation browser: Forward button now works
• vst~: output no longer limited to first two channels
• ‘Open help patcher’ from reference: does not open an additional copy
• deencapsulate: now disabled for all UI objects
• dict.route: fixed crash for when it receives a dictionary and has no args
• Removing objects from presentation mode: fixed crash
• inspector in the explorer: now gets the focus
• menubar: help menu no longer missing from custom menubar (Mac only)
• Max For Live: fixes for Live windows graphic issues and crash
• waveform~: Ruler BPM now updates
• function: ‘setdomain’ and ‘setrange’ now notify attrui/getattr
• gen~: adding a filename argument to an existing gen~ now loads the file
• .genjit/.gendsp files: can be added to Projects
• jit.gl.model: fixed matrixoutput
• gen patchers: no longer accept inappropriate key commands
• plot~: range caption clipping and positioning fixes
• text editor: now shows correct line number for initial insertion point
• text editing is immediately enabled after dragging an object into a patcher from the object explorer
• circular menu pop-up: fixed positioning
• color: improvements when using color… in the object menu for objects and patch cords
• dropfile: can now resize when corners are very round
• Inspector menus: regularized inspector pop-up menu locating behavior and appearance
• clicking a separator or disabled item closes a JUCE pop-up menu
• attrui: has an icon in object explorer
• Gen: comparison == op improvements
• jit.window: src/dst rect fixes
• audio driver: NRT audio driver now works with new mixer engine
• pattrstorage: ‘setstoragestate’ updates value in param mode
• ‘open original’: disabled for original patcher
• slash in path: Max 6 now opens files with a slash in the path (Mac)
• text editor window: pasting text into jed sets dirty flag for window
• jit.gl.render: fixed texture message error from JS
• ob3d matrixoutput mode 2 documentation
• Inspector menus: clicking on other windows no longer causes crash
• oscbank~: fixed ‘glitches’
• jitter: geometry shaders now work
• zl: fixed frozen @zlmaxsize attribute/argument priority
• bitsafe~: works properly in Max 6
• enable minimum IOVS of 32
• windows support for larger patches
• MaxAPI framework: Apple AppStore-compatible
• nan: fixed issues with average~,atodb~,dbtoa~,sqrt~,ftom~,mtof~,saw~,tri~ and mgraphics
• jit.window: support for modifier keys
• jit.window: suppress ctrl+click window switching popup
• line: fix for erratic behavior in MFL devices while in Max Editor
• projects: eliminated file/folder deletion issue which occurred under certain circumstances when moving project files in the Finder/Explorer

HUGE isn’t it ? ? ?

Pages:12»


Who am I ?

I'm a digital artist & a technology developer.
You can read more about me here.
You are on my official & unique blog.
Feel free to subscribe.

My twitter feed