.DS_Store
data/
+content/
+media/
+++ /dev/null
-title = Audio-ShaderToy\r
-date = 2012-04-03\r
-tags = code audiovisual\r
-gallery = slides\r
-featured = true\r
---\r
-\r
-<!--gallery-->\r
-\r
-<iframe src="http://player.vimeo.com/video/39874057?title=0&byline=0&portrait=0" width="800" height="400" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>\r
-\r
-WebGL + Web Audio live-coding shader toy \r
-Gabriel Dunne, Ryan Alexander, Reza Ali\r
-\r
-Javascript, WebGL/GLSL \r
-[github](https://github.com/quilime/audio-shadertoy/)\r
+++ /dev/null
-title = Boat\r
-date = july 05 2008\r
-tags = video photo\r
---\r
-timelapse\r
+++ /dev/null
-title = Body Negative\r
-date = may 05 2003\r
-tags = print\r
---\r
-8' x 4' x 2' \r
-ink press, 5 wall-mounted panels\r
-\r
+++ /dev/null
-title = Cabspotting\r
-date = july 05 2008\r
-tags = visualization design installation software\r
---\r
-SF taxi visualization, installation. Created with Stamen Design, San Francisco.\r
-\r
-NYMOMA Permenant collection\r
-\r
-Java/Processing/OpenGL\r
+++ /dev/null
-tags = painting
-date = November 14 2008
---
-15" x 20"
-silkscreen, marker, guache
+++ /dev/null
-title = Celestes Calendar\r
-date = 2001-12-6\r
-tags = print design\r
---\r
-\r
-18" x 12" \r
-balsa, foam core\r
-\r
-Adaptation of Galileo's Celestas calendar as a wall-mountable piece that includes phases of the moon, as well as the dates for the equinoxes and solstices. \r
+++ /dev/null
-title = clmpr\r
-date = may 24 2011\r
-tags = code web\r
-gallery = full\r
---\r
-\r
-**c**itation, **l**ogging and **m**ulti-**p**urpose a**r**chive\r
-\r
-an open-source multi-user bookmarking engine, inspired by the original del.icio.us \r
-\r
-<!--gallery-->\r
-\r
-<a href="http://clmpr.com">clmpr.com</a> \r
-<a href="http://github.com/quilime/clmpr">github</a>\r
-\r
+++ /dev/null
-title = Dots
-date = 2008-01-01
-tags = software
---
-Software Experiment. Tones are determined by lines that are attached to a randomly generated series of points, which have a "chaos" variable. Tones range from rigid and rhythmic to degenerative and organic, resulting in system of overlapping frequencies and polyrhythms.
-
-c++/OpenGL
-
+++ /dev/null
-date = 2007-06-23
-title = egg
-tags = painting
---
+++ /dev/null
-title = FaceReplace
-date = December 18 2012
-tags = software installation
-gallery = stacked
---
-Viewers can take a snapshot of their own face which immediately gets stored and superimposed any subsequent viewer.
-
-[github](https://github.com/quilime/face-replace)
-[flickr](http://www.flickr.com/photos/quilime/8282922605/in/photostream/)
-
-<!--more-->
-
-Physical installation built with a pre-existing art frame prototype.
-
-Created and shown over 36 hours during ArtHackDay "Lethal Software", December 15, 2012.
-
-<!--gallery-->
+++ /dev/null
-date = sep 17 2009
-tags = sketchbook
---
-
+++ /dev/null
-title = The Myth of Icarus\r
-date = july 05 2001\r
-tags = sculpture design structure\r
-related = light-heavy troughs\r
---\r
-18" x 18" x 6" \r
-balsa\r
+++ /dev/null
-title = ICOSI\r
-date = july 05 2010\r
-tags = audiovisual projection installation performance sculpture\r
-featured = true\r
-related = icosi_fab icosi_gaffta icosi_gaffta2 icosi_process icosi_studio\r
---\r
-audiovisual installation and performance \r
-\r
+++ /dev/null
-title = ICOSI Fabrication\r
-date = 2010-07-01\r
-tags = process\r
-related = icosi\r
---\r
-Projection surface fabrication\r
+++ /dev/null
-title = ICOSI w/Jeff Lubow\r
-date = 2010-11-06\r
-tags = performance projection audiovisual\r
-related = icosi\r
---\r
-<iframe src="http://player.vimeo.com/video/17394178?title=0&byline=0&portrait=0" width="800" height="400" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>\r
-\r
-audiovisual installation and performance w/Jeff Lubow\r
-\r
-<!--more-->\r
-\r
-\r
-06 Nov 2010 — [Takes on Sound & Space](http://www.gaffta.org/2010/11/03/takes-on-sound-space-symposium-performances-this-saturday/)\r
-\r
+++ /dev/null
-date = july 05 2010\r
-tags = process\r
-related = icosi\r
---\r
-Process blog about ICOSI Process\r
-<!--more-->\r
-Audio created with Ableton Live/Max/MSP, custom software (Processing / Java, OpenGL). Wood and fabric projection surface.\r
-\r
-The software and audio toolset was developed from scratch for this performance. The performance dramatically split my focus into two places (music and visuals), which was a juggle that I didn't fully anticipate as I was developing the visual software on one split-screen before the performance. Inspired to continue pursuing interfaces and controllers to overcome the separation of creating audio and visuals simultaneously.\r
-\r
-The multiple mediums (sculpture, sound, visual media) of this particular project was fascinating. Each iteration represents a process of my own curiosities in technology, consciousness, spirituality, design, and fabrication.\r
-\r
-The piece represents my practice and experiences in regards to my own spiritual growth and experience. Geometrically, the form is inspired by sacred polyhedra that represent forms of transition. The choice of an [icosidodecahedron](http://en.wikipedia.org/wiki/Icosidodecahedron) represents transition of two frequencies, represented by an [icosahedron](http://en.wikipedia.org/wiki/Icosahedron) and its dual polyhedron, a [dodecahedron](http://en.wikipedia.org/wiki/Dodecahedron).\r
-\r
-The form is composed of 7 panels trimmed and scaled from a full icosidodecahedron. The visuals follow the structure of the form nearly explicitly, with the exception of textural elements.\r
-\r
-Debut at Biennial of the Americas, Denver CO, Jul 29 2010.\r
-\r
-[technical rider](http://media.quilime.com/files/projects/icosi/gdunne_rider_diag.pdf)\r
+++ /dev/null
-date = 2010-07-07\r
-tags = studio\r
-related = icosi\r
---\r
-[](http://www.flickr.com/photos/quilime/4773799092/) \r
-\r
-[](http://www.flickr.com/photos/quilime/4773722288/in/photostream/) \r
-\r
-\r
-\r
+++ /dev/null
-date = 2009-01-01
-tags = photo
---
-light collection
+++ /dev/null
-title = Light and Heavy\r
-date = july 05 2001\r
-tags = sculpture design structure\r
-related = troughs icarus-deadalus\r
---\r
-18" x 18" x 18" \r
-balsa, aluminum, foam core \r
+++ /dev/null
-date = 2007-07-02\r
-tags = drawing painting\r
-title = Mask\r
-related = prism\r
---\r
-\r
-12" x 12" \r
-oil on panel\r
+++ /dev/null
-title = CAT Intro
-date = April 8 2009
-tags = commercial opengl processing
-client = Mekanism
---
-Software created with Mekanism for CAT intro. Used for timelapse.
+++ /dev/null
-date = 2007-12-01
-tags = drawing
---
-12" x 12"
-sharpie
-
+++ /dev/null
-title = LVP w/ Chris Carlson\r
-date = may 10 2012\r
-tags = code performance\r
-related = audioshadertoy\r
---\r
-<iframe src="http://player.vimeo.com/video/41406543?title=0&byline=0&portrait=0" width="800" height="400" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>\r
-\r
-Live-Coded Visual Set for audio performance by Chris Carlson\r
+++ /dev/null
-title = Monad
-date = 2011-12-20
-tags = installation projection sculpture
-featured = true
-include_related = true
-comments_enabled = true
---
-a visualization of relative time lengths, oscillating between the age of the universe, and the current moment.
-
-<!--more-->
-
-###### installation
-Cycles are a fundamental part of the universe. We are thoroughly enmeshed in periodic rhythms that span the frequencies of space and time, and are conscious of a small range on a daily basis: Some are regular like minutes, days, and other are subjective like sleep patterns, the weather, the seasons, and even moods. On a larger magnitude: the age of our bodies, the rise and decline of species, the life cycle of stars. On a smaller, our breathing rate, our heart rate, the audio spectrum of music, speaking, the visible light spectrum, radio waves, cosmic rays, and ultimately the smallest measurable amount of time we deem measurable, described as Planck time. Existence, with its cycles, is rooted in the archetypal, cyclical sinusoidal principals of the Monad.
-
-###### installation
-Each ring that moves across the surface represents a length of a time cycle. As each ring passes, we hear an audible click. Higher pitched, rapid clicks count the current order of magnitude, ranging from 10^-18 to 10^-43. When passing the visual spectrum, it is shown as color, while the audible spectrum is heard as audible tones.
-
-###### credits
-fabrication assistance: miles stemper, stephanie sherriff
-audio engineering: jeff lubow
-projection-alignment software: ryan alexander
+++ /dev/null
-date = april 4 2012\r
-tags = studio\r
-related = monad\r
---\r
+++ /dev/null
-date = 2010-01-28\r
-tags = process\r
-related = monad\r
-gallery = stacked\r
---\r
+++ /dev/null
-date = 2010-01-06\r
-tags = process\r
-related = monad\r
---\r
+++ /dev/null
-featured = true\r
-title = NAAG\r
-date = 2012-01-01 \r
-tags = projection sculpture installation\r
---\r
- \r
-<!--gallery-->\r
- \r
-<iframe src="http://player.vimeo.com/video/38492062?title=0&byline=0&portrait=0" width="800" height="400" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>\r
- \r
-<iframe width="425" height="250" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?q=28.519986,+77.181352&hl=en&sll=37.269174,-119.306607&sspn=12.161059,23.181152&t=m&ie=UTF8&z=14&ll=28.519986,77.181352&output=embed"></iframe>\r
-\r
-2 channel projection mapped sculpture \r
-12' x 3' x 3' \r
-\r
-created in collaboration with Vishal K. Dar \r
+++ /dev/null
-date = 2003-10-10
-title = nos reves
-tags = print design typography
-gallery = slides
---
-
-8" x 4", 25 Pages
-
-Dreams are interwoven with visuals and emotion. Nos Revés is a book of dream scenarios, categorized in specific themes. Each dream theme is represented with a unique design.
-
+++ /dev/null
-title = Obsession\r
-date = 2002-12-6\r
-tags = sculpture\r
---\r
-3' x 2' \r
-wire, masonite\r
-\r
+++ /dev/null
-title = The Pik-Me-Up
-gallery = slides
-date = 2005-04-05
-tags = film animation
---
-
-The Pik-Me Up [sic] is an experimental documentary film about historic Los Angeles coffeeshop directed by Damaged Californians. I art directed the film with the intent of bringing the vibrancy and artistic qualities of the source material to the screen. The film was a collage of unique visual ideas, compositing stills with live action footage and interviews.
+++ /dev/null
-date = 2010-10-04
-tags = design
-gallery = slides
---
-Album cover art for <em>jijijiji</em>, collaboration w/The Nimoys
-
-[link](http://jtnimoy.net/?q=153)
-
-
+++ /dev/null
-date = sep 25 2012
-tags = structure process
---
+++ /dev/null
-title = Prism\r
-date = 2007-08-23\r
-tags = painting\r
---\r
-\r
-oil on canvas. 4' x 3'\r
-\r
+++ /dev/null
-title = Rattle\r
-date = 2008-05-02\r
-tags = audiovisual code \r
---\r
-\r
-<iframe src="http://player.vimeo.com/video/978557?title=0&byline=0&portrait=0" width="800" height="400" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>\r
-\r
-An interactive software rattle, using a WiiMote as a controller. \r
-\r
-Created with Processing, ChucK, OSC\r
+++ /dev/null
-date = 2010-01-01
-tags = painting
---
+++ /dev/null
-title = Seaquence\r
-tags = audiovisual software web code\r
-date = 2010-10-04\r
-featured = true\r
---\r
-A biologically inspired music and sound toy. \r
-\r
-[seaquence.org](http://seaquence.org)\r
+++ /dev/null
-date = 2008-01-08
-tags = typography design
---
-typeface
+++ /dev/null
-date = April 2, 2011 5:26 PM
-tags = studio
---
-
+++ /dev/null
-title = Stars\r
-date = sep 20 2009\r
-tags = software projection\r
-featured = true\r
-gallery = slides\r
---\r
-An exploration of infinite/finite space. As the viewpoint moves through macro and micro space, the scope and perspective widends over a variable time length that is performed by hand during installation.\r
-\r
-projection \r
-c++/OpenGL\r
+++ /dev/null
-date = 02/02/2009\r
-title = Synonymovement\r
-tags = audiovisual code\r
---\r
-audiovisual software experiment \r
-c++/opengl\r
-\r
+++ /dev/null
-date = 01-01-2005\r
-title = Tessellated Group\r
-tags = design\r
---\r
-Corporate Identity\r
+++ /dev/null
-title = Triangles
-date = 2009-04-13
-tags = sculpture
-gallery = slides
---
-balanced sticks
-collaboration w/ Ryan Alexander
+++ /dev/null
-title = Troughs\r
-date = july 05 2001\r
-tags = sculpture design structure\r
-related = light-heavy icarus-deadalus\r
---\r
-18" x 18" x 6" \r
-balsa\r
+++ /dev/null
-date = January 21 2008
-tags = typography
---
-collaboration with jtnimoy, ssherriff
-
-[flickr](http://www.flickr.com/photos/quilime/2210086133/in/photostream)
+++ /dev/null
-date = sep 12 2009
-tags = sketchbook
---
-[on flickr](http://www.flickr.com/photos/quilime/3928515140/in/photostream/)
+++ /dev/null
-title = Web\r
-date = jun 4 2007\r
-tags = software\r
-gallery = slides\r
---\r
-Software experiment. Depth determines audio volume. Intersections, connections and line-length determine tones. \r
-\r
-Based on code sketches created in collaboration w/ <a href="http://jtnimoy.com">jtnimoy</a>.\r
-\r
-c++/OpenGL\r
-{"entries":[{"config":{"title":"Tester","date":"2012-05-19","tags":"test project plog","featured":"1"},"title":"Tester","filename":"_config","path":"\/Users\/gdunne\/_portfolio\/www\/content\/tester\/_config","basename":"tester","dirname":"\/Users\/gdunne\/_portfolio\/www\/content","fileInfo":{},"timestamp":"1337410800","tags":["test","project","plog"],"featured":"1","related":null,"content":"<p>A test entrie that uses a self-container folder for its media.\n<!--more-->\nSome more of this post.<\/p>\n","content_short":"<p>A test entrie that uses a self-container folder for its media.<\/p>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_portfolio\/wwwcomments\/Users\/gdunne\/_portfolio\/www\/content\/tester\/_config\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"tester","url":"\/tester\/"},"thumb":"\/content\/tester\/thumb.png","url":"\/tester","edit_url":"\/edit\/tester","media_dir":"\/Users\/gdunne\/_portfolio\/www\/content\/tester\/media","media":[{"filename":"egg.jpg","local":"\/Users\/gdunne\/_portfolio\/www\/content\/tester\/media\/egg.jpg","url":"\/content\/tester\/media\/egg.jpg","extension":"jpg"},{"filename":"Screen Shot 2012-10-08 at 6.08.07 PM.png","local":"\/Users\/gdunne\/_portfolio\/www\/content\/tester\/media\/Screen Shot 2012-10-08 at 6.08.07 PM.png","url":"\/content\/tester\/media\/Screen Shot 2012-10-08 at 6.08.07 PM.png","extension":"png"}]}]}
\ No newline at end of file
+{"entries":[{"config":{"title":"LVP w\/ Chris Carlson","date":"may 10 2012","tags":"code performance","related":"audioshadertoy"},"path":"\/Users\/gdunne\/_portfolio\/www\/content\/modulations\/_config","basename":"modulations","dirname":"\/Users\/gdunne\/_portfolio\/www\/content","filename":"_config","title":"LVP w\/ Chris Carlson","fileInfo":{},"timestamp":"1336633200","tags":["code","performance"],"featured":null,"related":["audioshadertoy"],"content":"<iframe src=\"http:\/\/player.vimeo.com\/video\/41406543?title=0&byline=0&portrait=0\" width=\"800\" height=\"400\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\/iframe>\n\n<p>Live-Coded Visual Set for audio performance by Chris Carlson<\/p>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_portfolio\/wwwcomments\/Users\/gdunne\/_portfolio\/www\/content\/modulations\/_config\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"modulations","url":"\/modulations\/"},"thumb":"\/content\/modulations\/thumb.png","url":"\/modulations","edit_url":"\/edit\/modulations","media_dir":"\/Users\/gdunne\/_portfolio\/www\/content\/modulations\/media","media":null},{"config":{"title":"ICOSI w\/Jeff Lubow","date":"2010-11-06","tags":"performance projection audiovisual","related":"icosi"},"path":"\/Users\/gdunne\/_portfolio\/www\/content\/icosi_jml\/_config","basename":"icosi_jml","dirname":"\/Users\/gdunne\/_portfolio\/www\/content","filename":"_config","title":"ICOSI w\/Jeff Lubow","fileInfo":{},"timestamp":"1289026800","tags":["performance","projection","audiovisual"],"featured":null,"related":["icosi"],"content":"<iframe src=\"http:\/\/player.vimeo.com\/video\/17394178?title=0&byline=0&portrait=0\" width=\"800\" height=\"400\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\/iframe>\n\n<p>audiovisual installation and performance w\/Jeff Lubow<\/p>\n\n<!--more-->\n\n<p>06 Nov 2010 — <a href=\"http:\/\/www.gaffta.org\/2010\/11\/03\/takes-on-sound-space-symposium-performances-this-saturday\/\">Takes on Sound & Space<\/a><\/p>\n","content_short":"<iframe src=\"http:\/\/player.vimeo.com\/video\/17394178?title=0&byline=0&portrait=0\" width=\"800\" height=\"400\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\/iframe>\n\n<p>audiovisual installation and performance w\/Jeff Lubow<\/p>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_portfolio\/wwwcomments\/Users\/gdunne\/_portfolio\/www\/content\/icosi_jml\/_config\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"icosi_jml","url":"\/icosi_jml\/"},"thumb":"\/content\/icosi_jml\/thumb.png","url":"\/icosi_jml","edit_url":"\/edit\/icosi_jml","media_dir":"\/Users\/gdunne\/_portfolio\/www\/content\/icosi_jml\/media","media":null},{"config":{"title":"ICOSI","date":"july 05 2010","tags":"audiovisual projection installation performance sculpture","featured":"1","related":"icosi_fab icosi_gaffta icosi_gaffta2 icosi_process icosi_studio"},"path":"\/Users\/gdunne\/_portfolio\/www\/content\/icosi\/_config","basename":"icosi","dirname":"\/Users\/gdunne\/_portfolio\/www\/content","filename":"_config","title":"ICOSI","fileInfo":{},"timestamp":"1278313200","tags":["audiovisual","projection","installation","performance","sculpture"],"featured":"1","related":["icosi_fab","icosi_gaffta","icosi_gaffta2","icosi_process","icosi_studio"],"content":"<p>audiovisual installation and performance <\/p>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_portfolio\/wwwcomments\/Users\/gdunne\/_portfolio\/www\/content\/icosi\/_config\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"icosi","url":"\/icosi\/"},"thumb":"\/content\/icosi\/thumb.png","url":"\/icosi","edit_url":"\/edit\/icosi","media_dir":"\/Users\/gdunne\/_portfolio\/www\/content\/icosi\/media","media":null}]}
\ No newline at end of file
-{"tags":{"test":1,"project":1,"plog":1}}
\ No newline at end of file
+{"tags":{"software":6,"installation":5,"structure":4,"process":5,"test":2,"project":2,"plog":2,"ahoyo":1,"code":6,"performance":3,"studio":3,"audiovisual":6,"projection":5,"sculpture":8,"web":2,"design":9,"painting":5,"sketchbook":2,"commercial":1,"opengl":1,"processing":1,"photo":2,"video":1,"visualization":1,"typography":3,"drawing":2,"film":1,"animation":1,"print":3}}
\ No newline at end of file
if (!mkdir($data_path, 0777, true)) {
throw new Exception('Error making data folder. Permissions?');
}
- chown($data_path, 'gdunne');
+ // chown($data_path, 'gdunne');
}
$fp = fopen( $data_file, 'w');
fwrite($fp, json_encode(array( 'entries' => $entries )));
$file['config'] = parse_ini_string($config);
- $file['title'] = isset($file['config']['title']) ? $file['config']['title'] : $fileInfo->getFilename();
- $file['filename'] = $fileInfo->getFilename();
$file['path'] = $fileInfo->getPath();
$file['basename'] = basename($fileInfo->getPath());
$file['dirname'] = dirname($fileInfo->getPath());
+ $file['filename'] = $fileInfo->getFilename();
+ $file['title'] = isset($file['config']['title']) ? $file['config']['title'] : ($page ? $file['filename'] : $file['basename']);
$file['fileInfo'] = $fileInfo;
$file['config']['date'] = isset($file['config']['date']) ? $file['config']['date'] : null;
$file['timestamp'] = $file['config']['date'] ? date('U', strtotime( $file['config']['date'])) : $fileInfo->getCTime();
$file['edit_url'] = WEB_ROOT . 'edit' . $file['url'];
$file['media_dir'] = join(DIRECTORY_SEPARATOR, array($file['dirname'], $file['basename'], MEDIA));
- $file['media'] = (array) get_media( $file['media_dir'] );
+ $file['media'] = is_dir($file['media_dir']) ? (array) get_media( $file['media_dir'] ) : null;
$file['cat'] = (object) $file['cat'];
$file['config'] = (object) $file['config'];
$this->entry->is_single = true;
-
- $gallery_type = isset($this->entry->config->gallery) ? $this->entry->config->gallery : null;
+
+ $gallery_type = isset($this->entry->config->gallery) ? $this->entry->config->gallery : null;
if (strpos($this->entry->content, GALLERY_DELIMITER)) {
$this->entry->content = str_replace(GALLERY_DELIMITER, gallerize_media($this->entry->media, $gallery_type), $this->entry->content);
} else {
function has_config()
{
- return is_file(join(array( LOCAL_ROOT, CONTENT_DIR, $this->request['path'], CONFIG_FILE ), '/' )) ? 1 : 0;
+ $f = join(DIRECTORY_SEPARATOR, array( LOCAL_ROOT, CONTENT_DIR, $this->request['path'], CONFIG_FILE ));
+ return is_file($f) ? 1 : 0;
}
function is_multiple()
function gallerize_media( $media, $gallery_type = null ) {
+ if (!$media)
+ return;
+
$g = array();
$type = $gallery_type;
$g[] = $type == 'slides' ? '<ul id="slidenav"></div><ul id="slides">' : '<ul class="gallery '.$type.'">';
$c = 0;
+ // print_r($media);
+ // exit;
foreach($media as $f) {
if (in_array(strtolower($f->extension), array('jpg', 'png', 'gif')) && $f->filename != 'thumb.png') {
$g[] = '<li><img src="'.$f->url.'" /></li>';