--- views_slideshow/contrib/views_slideshow_singleframe/views_slideshow_singleframe.theme.inc	2009-09-28 23:32:22.000000000 +0200
+++ views_slideshow/contrib/views_slideshow_singleframe/views_slideshow_singleframe.theme.inc	2009-11-10 20:11:27.000000000 +0100
@@ -51,10 +51,27 @@ function theme_views_slideshow_singlefra
     drupal_add_js(drupal_get_path('module', 'views_slideshow') .'/js/jquery.cycle.all.min.js', 'module');
   }
   
+  //retrive the number of itmes per frame
+  if(isset($view->display_handler->default_display->options["style_options"]["singleframe"]["items_per_slide"]) && $view->display_handler->default_display->options["style_options"]["singleframe"]["items_per_slide"]>0) {
+    $items_per_slide = $view->display_handler->default_display->options["style_options"]["singleframe"]["items_per_slide"];
+  }
+  else {
+    $items_per_slide = 1;
+  }
+  
   $output = '<div id="views_slideshow_singleframe_teaser_section_' . $id . '" class="views_slideshow_singleframe_teaser_section">' . "\n";
 
-  foreach ($rows as $count => $item) {
-    $output .= theme('views_slideshow_singleframe_no_display_teaser', $item, $id, $count);
+  $items = array();
+  $slidecount = 0;
+
+  for ($i=0;$i<count($rows);$i++) {
+    $item = $rows[$i];
+    $items[] = $item;
+    if(count($items) == $items_per_slide || $i == (count($rows)-1) ) {
+      $slidecount++;
+      $output .= theme('views_slideshow_singleframe_no_display_teaser', $items, $id, $slidecount);
+      $items = array();
+    }
   }
   $output .= "</div><!--close views_slideshow_singleframe_no_display-->\n\n";
   return $output;
@@ -64,20 +81,28 @@ function theme_views_slideshow_singlefra
  *  The html that will be placed into the element in its turn during its frame.
  */
 function theme_views_slideshow_singleframe_no_display_teaser($item, $id, $count) {
-  $class = 'views_slideshow_singleframe_slide';
-  if ($count) {
-    $class .= ' views_slideshow_singleframe_hidden';
-  }
-
-  if ($count % 2) {
-    $class .= ' views-row-even';
-  }
-  else {
-    $class .= ' views-row-odd';
+  $slideclass = 'views_slideshow_singleframe_slide';
+  if ($slidecount>1) {
+    $slideclass .= ' views_slideshow_singleframe_hidden';
+  }
+
+  $output = '  <div id="views_slideshow_singleframe_div_' . $id . '_' . $slidecount . '" class="' . $slideclass .'">' . "\n  ";
+  foreach($items as $itemcount => $item){
+    $itemclass = 'views-row views-row-'.$itemcount;
+    if(!$itemcount){
+        $itemclass .= ' views-row-first';
+    }
+    if ($itemcount % 2) {
+      $itemclass .= ' views-row-even';
+    }
+    else {
+      $itemclass .= ' views-row-odd';
+    }
+    $output .= '    <div class="'.$itemclass.'">'. "\n";
+    $output .= $item . "\n";
+    $output .= '    </div>'. "\n";
   }
-  $output = '  <div id="views_slideshow_singleframe_div_' . $id . '_' . $count . '" class="' . $class .'">' . "\n  ";
-  $output .= $item . "\n";
-  $output .= '  </div><!--close views_slideshow_singleframe_div_' . $id . '_' . $count . '-->' . "\n\n";
+  $output .= '  </div><!--close views_slideshow_singleframe_div_' . $id . '_' . $slidecount . '-->' . "\n\n";
   return $output;
 }
 
--- views_slideshow/contrib/views_slideshow_singleframe/views_slideshow_singleframe.views_slideshow.inc	2009-09-28 23:37:38.000000000 +0200
+++ views_slideshow/contrib/views_slideshow_singleframe/views_slideshow_singleframe.views_slideshow.inc	2009-11-10 20:20:20.000000000 +0100
@@ -19,6 +19,7 @@ function views_slideshow_singleframe_vie
       'timeout' => array('default' => 5000),
       'sort' => array('default' => 1),
       'effect' => array('default' => 'fade'),
+	  'items_per_slide' => array('default' => 1),
       'speed' => array('default' => 700), //normal
       'cleartype' => 'true',
       'cleartypenobg' => 'false',
@@ -101,6 +102,13 @@ function views_slideshow_singleframe_vie
     '#default_value' => (isset($view->options['singleframe']['image_count'])) ? $view->options['singleframe']['image_count'] : 0,
     '#description' => t('Determine if the Image Counter (1 of 4) should be displayed and if so whether they should appear before or after the slideshow.'),
   );
+  $form['singleframe']['items_per_slide'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Items per slide'),
+    '#default_value' => (isset($view->options['singleframe']['items_per_slide'])) ? $view->options['singleframe']['items_per_slide'] : 2,
+    '#description' => t('The number of items per slide'),  
+  );
+  
   $options = array(
     'none' => 'none',
     'blindX' => 'blindX',
