changeset 955:4709ce4e209e trunk

[svn] Run indent -ts4 -nut -bli0 -cdw on this messy lot. Upstream is not consistent with whitespace anyway, no loss there.
author chainsaw
date Sat, 14 Apr 2007 15:23:50 -0700
parents d7a6fd179cd2
children 88ba14f18587
files ChangeLog src/adplug/adplug-xmms.cc src/adplug/core/a2m.cxx src/adplug/core/adl.cxx src/adplug/core/adplug.cxx src/adplug/core/adtrack.cxx src/adplug/core/amd.cxx src/adplug/core/bam.cxx src/adplug/core/bmf.cxx src/adplug/core/cff.cxx src/adplug/core/d00.cxx src/adplug/core/database.cxx src/adplug/core/dfm.cxx src/adplug/core/diskopl.cxx src/adplug/core/dmo.cxx src/adplug/core/dro.cxx src/adplug/core/dtm.cxx src/adplug/core/emuopl.cxx src/adplug/core/flash.cxx src/adplug/core/fmc.cxx src/adplug/core/fprovide.cxx src/adplug/core/hsc.cxx src/adplug/core/hsp.cxx src/adplug/core/hybrid.cxx src/adplug/core/hyp.cxx src/adplug/core/imf.cxx src/adplug/core/ksm.cxx src/adplug/core/lds.cxx src/adplug/core/mad.cxx src/adplug/core/mid.cxx src/adplug/core/mkj.cxx src/adplug/core/msc.cxx src/adplug/core/mtk.cxx src/adplug/core/player.cxx src/adplug/core/players.cxx src/adplug/core/protrack.cxx src/adplug/core/psi.cxx src/adplug/core/rad.cxx src/adplug/core/rat.cxx src/adplug/core/raw.cxx src/adplug/core/rix.cxx src/adplug/core/rol.cxx src/adplug/core/s3m.cxx src/adplug/core/sa2.cxx src/adplug/core/sng.cxx src/adplug/core/temuopl.cxx src/adplug/core/u6m.cxx src/adplug/core/xad.cxx src/adplug/core/xsm.cxx
diffstat 49 files changed, 12310 insertions(+), 9518 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sat Apr 14 08:48:41 2007 -0700
+++ b/ChangeLog	Sat Apr 14 15:23:50 2007 -0700
@@ -1,3 +1,10 @@
+2007-04-14 15:48:41 +0000  Giacomo Lozito <james@develia.org>
+  revision [2048]
+  - changed directory for amidi-plug backends
+  trunk/configure.ac |    2 +-
+  1 file changed, 1 insertion(+), 1 deletion(-)
+
+
 2007-04-13 16:27:41 +0000  Tony Vroon <chainsaw@gentoo.org>
   revision [2040]
   Now in sync with AdPlug upstream, merging their commit: "Removed superfluous exit() call. This was detected as part of a GCC 4.3
--- a/src/adplug/adplug-xmms.cc	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/adplug-xmms.cc	Sat Apr 14 15:23:50 2007 -0700
@@ -35,7 +35,8 @@
 #include "audacious/util.h"
 #include "audacious/configdb.h"
 #include <audacious/i18n.h>
-extern "C" {
+extern "C"
+{
 #include "audacious/output.h"
 }
 
@@ -60,36 +61,42 @@
 
 /***** Global variables *****/
 
-extern "C" InputPlugin	adplug_ip;
-static gboolean		audio_error = FALSE;
-GtkWidget		   *about_win  = NULL;
+extern "C" InputPlugin adplug_ip;
+static gboolean audio_error = FALSE;
+GtkWidget *about_win = NULL;
 
 // Configuration (and defaults)
-static struct {
-  gint		freq;
-  gboolean	bit16, stereo, endless;
-  CPlayers	players;
-} cfg = { 44100l, true, false, false, CAdPlug::players };
+static struct
+{
+  gint freq;
+  gboolean bit16, stereo, endless;
+  CPlayers players;
+} cfg =
+{
+44100l, true, false, false, CAdPlug::players};
 
 // Player variables
-static struct {
-  CPlayer		*p;
-  CAdPlugDatabase	*db;
-  unsigned int		subsong, songlength;
-  int			seek;
-  char			filename[PATH_MAX];
-  char			*songtitle;
-  float			time_ms;
-  bool			playing;
-  GThread		*play_thread;
-  GtkLabel		*infobox;
-  GtkDialog		*infodlg;
-} plr = { 0, 0, 0, 0, -1, "", NULL, 0.0f, false, 0, NULL, NULL };
+static struct
+{
+  CPlayer *p;
+  CAdPlugDatabase *db;
+  unsigned int subsong, songlength;
+  int seek;
+  char filename[PATH_MAX];
+  char *songtitle;
+  float time_ms;
+  bool playing;
+  GThread *play_thread;
+  GtkLabel *infobox;
+  GtkDialog *infodlg;
+} plr =
+{
+0, 0, 0, 0, -1, "", NULL, 0.0f, false, 0, NULL, NULL};
 
 static InputPlayback *playback;
 
 // XXX: this function is not in the public API yet.
-extern "C" VFSFile *vfs_buffered_file_new_from_uri(gchar *uri);
+extern "C" VFSFile * vfs_buffered_file_new_from_uri (gchar * uri);
 
 /***** Debugging *****/
 
@@ -97,629 +104,755 @@
 
 #include <stdarg.h>
 
-static void dbg_printf(const char *fmt, ...)
+static void
+dbg_printf (const char *fmt, ...)
 {
   va_list argptr;
 
-  va_start(argptr, fmt);
-  vfprintf(stderr, fmt, argptr);
-  va_end(argptr);
+  va_start (argptr, fmt);
+  vfprintf (stderr, fmt, argptr);
+  va_end (argptr);
 }
 
 #else
 
-static void dbg_printf(const char *fmt, ...)
-{ }
+static void
+dbg_printf (const char *fmt, ...)
+{
+}
 
 #endif
 
 /***** [Dialog]: Utility functions *****/
 
-static GtkWidget *make_framed(GtkWidget *what, const gchar *label)
+static GtkWidget *
+make_framed (GtkWidget * what, const gchar * label)
 {
-  GtkWidget *framebox = gtk_frame_new(label);
+  GtkWidget *framebox = gtk_frame_new (label);
 
-  gtk_container_add(GTK_CONTAINER(framebox), what);
+  gtk_container_add (GTK_CONTAINER (framebox), what);
   return framebox;
 }
 
-static GtkWidget *print_left(const gchar *text)
+static GtkWidget *
+print_left (const gchar * text)
 {
-  GtkLabel *label = GTK_LABEL(gtk_label_new(text));
+  GtkLabel *label = GTK_LABEL (gtk_label_new (text));
 
-  gtk_label_set_justify(label, GTK_JUSTIFY_LEFT);
-  gtk_misc_set_padding(GTK_MISC(label), 2, 2);
-  return GTK_WIDGET(label);
+  gtk_label_set_justify (label, GTK_JUSTIFY_LEFT);
+  gtk_misc_set_padding (GTK_MISC (label), 2, 2);
+  return GTK_WIDGET (label);
 }
 
-static void MessageBox(const char *title, const char *text, const char *button)
+static void
+MessageBox (const char *title, const char *text, const char *button)
 {
-  char *tmptitle = (char *)malloc(strlen(title) + 1),
-    *tmptxt = (char *)malloc(strlen(text) + 1),
-    *tmpbutton = (char *)malloc(strlen(button) + 1);
+  char *tmptitle = (char *) malloc (strlen (title) + 1),
+    *tmptxt = (char *) malloc (strlen (text) + 1),
+    *tmpbutton = (char *) malloc (strlen (button) + 1);
 
-  strcpy(tmptitle, title); strcpy(tmptxt, text); strcpy(tmpbutton, button);
+  strcpy (tmptitle, title);
+  strcpy (tmptxt, text);
+  strcpy (tmpbutton, button);
 
-  GtkWidget *msgbox = xmms_show_message(tmptitle, tmptxt, tmpbutton, FALSE,
-					G_CALLBACK(gtk_widget_destroyed), &msgbox);
+  GtkWidget *msgbox = xmms_show_message (tmptitle, tmptxt, tmpbutton, FALSE,
+                                         G_CALLBACK (gtk_widget_destroyed),
+                                         &msgbox);
 
-  free(tmptitle); free(tmptxt); free(tmpbutton);
+  free (tmptitle);
+  free (tmptxt);
+  free (tmpbutton);
 }
 
 /***** Dialog boxes *****/
 
-static void adplug_about(void)
+static void
+adplug_about (void)
 {
-  if(!about_win)
+  if (!about_win)
   {
-    gchar * about_title = g_strjoin( "" , _("About ") , ADPLUG_NAME , NULL );
-    const gchar * version_text = CAdPlug::get_version().c_str();
-    gchar * about_text = g_strjoin( "" , ADPLUG_NAME ,
-                              _("\nCopyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n\n"
-                              "This plugin is released under the terms and conditions of the GNU LGPL.\n"
-                              "See http://www.gnu.org/licenses/lgpl.html for details."
-                              "\n\nThis plugin uses the AdPlug library, which is copyright (C) Simon Peter, et al.\n"
-                              "Linked AdPlug library version: ") ,
-                              version_text , NULL );
-    about_win = xmms_show_message( about_title , about_text , _("Ok") , FALSE , NULL , NULL );
-    g_signal_connect( G_OBJECT(about_win) , "destroy" ,
-                        G_CALLBACK(gtk_widget_destroyed), &about_win );
-    g_free( about_text );
-    g_free( about_title );
+    gchar *about_title = g_strjoin ("", _("About "), ADPLUG_NAME, NULL);
+    const gchar *version_text = CAdPlug::get_version ().c_str ();
+    gchar *about_text = g_strjoin ("", ADPLUG_NAME,
+                                   _
+                                   ("\nCopyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n\n"
+                                    "This plugin is released under the terms and conditions of the GNU LGPL.\n"
+                                    "See http://www.gnu.org/licenses/lgpl.html for details."
+                                    "\n\nThis plugin uses the AdPlug library, which is copyright (C) Simon Peter, et al.\n"
+                                    "Linked AdPlug library version: "),
+                                   version_text, NULL);
+    about_win =
+      xmms_show_message (about_title, about_text, _("Ok"), FALSE, NULL, NULL);
+    g_signal_connect (G_OBJECT (about_win), "destroy",
+                      G_CALLBACK (gtk_widget_destroyed), &about_win);
+    g_free (about_text);
+    g_free (about_title);
   }
-  gtk_widget_show( about_win );
+  gtk_widget_show (about_win);
 }
 
-static void close_config_box_ok(GtkButton *button, GPtrArray *rblist)
+static void
+close_config_box_ok (GtkButton * button, GPtrArray * rblist)
 {
   // Apply configuration settings
-  cfg.bit16 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_ptr_array_index(rblist, 0)));
-  cfg.stereo = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_ptr_array_index(rblist, 1)));
-
-  if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_ptr_array_index(rblist, 2)))) cfg.freq = 11025;
-  if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_ptr_array_index(rblist, 3)))) cfg.freq = 22050;
-  if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_ptr_array_index(rblist, 4)))) cfg.freq = 44100;
-  if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_ptr_array_index(rblist, 5)))) cfg.freq = 48000;
-
-  cfg.endless = !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_ptr_array_index(rblist, 6)));
+  cfg.bit16 =
+    gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON
+                                  (g_ptr_array_index (rblist, 0)));
+  cfg.stereo =
+    gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON
+                                  (g_ptr_array_index (rblist, 1)));
 
-  cfg.players = *(CPlayers *)g_ptr_array_index(rblist, 7);
-  delete (CPlayers *)g_ptr_array_index(rblist, 7);
+  if (gtk_toggle_button_get_active
+      (GTK_TOGGLE_BUTTON (g_ptr_array_index (rblist, 2))))
+    cfg.freq = 11025;
+  if (gtk_toggle_button_get_active
+      (GTK_TOGGLE_BUTTON (g_ptr_array_index (rblist, 3))))
+    cfg.freq = 22050;
+  if (gtk_toggle_button_get_active
+      (GTK_TOGGLE_BUTTON (g_ptr_array_index (rblist, 4))))
+    cfg.freq = 44100;
+  if (gtk_toggle_button_get_active
+      (GTK_TOGGLE_BUTTON (g_ptr_array_index (rblist, 5))))
+    cfg.freq = 48000;
 
-  g_ptr_array_free(rblist, FALSE);
-}
+  cfg.endless =
+    !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON
+                                   (g_ptr_array_index (rblist, 6)));
 
-static void close_config_box_cancel(GtkButton *button, GPtrArray *rblist)
-{
-  delete (CPlayers *)g_ptr_array_index(rblist, 7);
-  g_ptr_array_free(rblist, FALSE);
+  cfg.players = *(CPlayers *) g_ptr_array_index (rblist, 7);
+  delete (CPlayers *) g_ptr_array_index (rblist, 7);
+
+  g_ptr_array_free (rblist, FALSE);
 }
 
-static void config_fl_row_select(GtkCList *fl, gint row, gint col,
-				 GdkEventButton *event, CPlayers *pl)
+static void
+close_config_box_cancel (GtkButton * button, GPtrArray * rblist)
 {
-  pl->push_back((CPlayerDesc *)gtk_clist_get_row_data(fl, row));
-  pl->unique();
+  delete (CPlayers *) g_ptr_array_index (rblist, 7);
+  g_ptr_array_free (rblist, FALSE);
 }
 
-static void config_fl_row_unselect(GtkCList *fl, gint row, gint col,
-				   GdkEventButton *event, CPlayers *pl)
+static void
+config_fl_row_select (GtkCList * fl, gint row, gint col,
+                      GdkEventButton * event, CPlayers * pl)
 {
-  pl->remove((CPlayerDesc *)gtk_clist_get_row_data(fl, row));
+  pl->push_back ((CPlayerDesc *) gtk_clist_get_row_data (fl, row));
+  pl->unique ();
 }
 
-static void adplug_config(void)
+static void
+config_fl_row_unselect (GtkCList * fl, gint row, gint col,
+                        GdkEventButton * event, CPlayers * pl)
 {
-  GtkDialog *config_dlg = GTK_DIALOG(gtk_dialog_new());
-  GtkNotebook *notebook = GTK_NOTEBOOK(gtk_notebook_new());
+  pl->remove ((CPlayerDesc *) gtk_clist_get_row_data (fl, row));
+}
+
+static void
+adplug_config (void)
+{
+  GtkDialog *config_dlg = GTK_DIALOG (gtk_dialog_new ());
+  GtkNotebook *notebook = GTK_NOTEBOOK (gtk_notebook_new ());
   GtkTable *table;
-  GtkTooltips *tooltips = gtk_tooltips_new();
-  GPtrArray *rblist = g_ptr_array_new();
+  GtkTooltips *tooltips = gtk_tooltips_new ();
+  GPtrArray *rblist = g_ptr_array_new ();
 
-  gtk_window_set_title(GTK_WINDOW(config_dlg), "AdPlug :: Configuration");
-  gtk_window_set_policy(GTK_WINDOW(config_dlg), FALSE, FALSE, TRUE); // Window is auto sized
-  gtk_window_set_modal(GTK_WINDOW(config_dlg), TRUE);
-  gtk_container_add(GTK_CONTAINER(config_dlg->vbox), GTK_WIDGET(notebook));
+  gtk_window_set_title (GTK_WINDOW (config_dlg), "AdPlug :: Configuration");
+  gtk_window_set_policy (GTK_WINDOW (config_dlg), FALSE, FALSE, TRUE);  // Window is auto sized
+  gtk_window_set_modal (GTK_WINDOW (config_dlg), TRUE);
+  gtk_container_add (GTK_CONTAINER (config_dlg->vbox), GTK_WIDGET (notebook));
 
   // Add Ok & Cancel buttons
   {
     GtkWidget *button;
 
-    button = gtk_button_new_with_label("Ok");
-    g_signal_connect(G_OBJECT(button), "clicked",
-		       G_CALLBACK(close_config_box_ok),
-		       (gpointer)rblist);
-    g_signal_connect_data(G_OBJECT(button), "clicked",
-				    G_CALLBACK(gtk_widget_destroy),
-				    GTK_OBJECT(config_dlg),NULL,(GConnectFlags) (G_CONNECT_AFTER|G_CONNECT_SWAPPED));
-    gtk_container_add(GTK_CONTAINER(config_dlg->action_area), button);
+    button = gtk_button_new_with_label ("Ok");
+    g_signal_connect (G_OBJECT (button), "clicked",
+                      G_CALLBACK (close_config_box_ok), (gpointer) rblist);
+    g_signal_connect_data (G_OBJECT (button), "clicked",
+                           G_CALLBACK (gtk_widget_destroy),
+                           GTK_OBJECT (config_dlg), NULL,
+                           (GConnectFlags) (G_CONNECT_AFTER |
+                                            G_CONNECT_SWAPPED));
+    gtk_container_add (GTK_CONTAINER (config_dlg->action_area), button);
 
-    button = gtk_button_new_with_label("Cancel");
-    g_signal_connect(G_OBJECT(button), "clicked",
-		       G_CALLBACK(close_config_box_cancel),
-		       (gpointer)rblist);
-    g_signal_connect_swapped(G_OBJECT(button), "clicked",
-			      G_CALLBACK(gtk_widget_destroy),
-			      GTK_OBJECT(config_dlg));
-    gtk_container_add(GTK_CONTAINER(config_dlg->action_area), button);
+    button = gtk_button_new_with_label ("Cancel");
+    g_signal_connect (G_OBJECT (button), "clicked",
+                      G_CALLBACK (close_config_box_cancel),
+                      (gpointer) rblist);
+    g_signal_connect_swapped (G_OBJECT (button), "clicked",
+                              G_CALLBACK (gtk_widget_destroy),
+                              GTK_OBJECT (config_dlg));
+    gtk_container_add (GTK_CONTAINER (config_dlg->action_area), button);
   }
 
   /***** Page 1: General *****/
 
-  table = GTK_TABLE(gtk_table_new(1, 2, TRUE));
-  gtk_table_set_row_spacings(table, 5); gtk_table_set_col_spacings(table, 5);
-  gtk_notebook_append_page(notebook, GTK_WIDGET(table), print_left("General"));
+  table = GTK_TABLE (gtk_table_new (1, 2, TRUE));
+  gtk_table_set_row_spacings (table, 5);
+  gtk_table_set_col_spacings (table, 5);
+  gtk_notebook_append_page (notebook, GTK_WIDGET (table),
+                            print_left ("General"));
 
   // Add "Sound quality" section
   {
-    GtkTable *sqt = GTK_TABLE(gtk_table_new(2, 2, FALSE));
+    GtkTable *sqt = GTK_TABLE (gtk_table_new (2, 2, FALSE));
     GtkVBox *fvb;
     GtkRadioButton *rb;
 
-    gtk_table_set_row_spacings(sqt, 5);
-    gtk_table_set_col_spacings(sqt, 5);
-    gtk_table_attach_defaults(table, make_framed(GTK_WIDGET(sqt), "Sound quality"),
-			      0, 1, 0, 1);
+    gtk_table_set_row_spacings (sqt, 5);
+    gtk_table_set_col_spacings (sqt, 5);
+    gtk_table_attach_defaults (table,
+                               make_framed (GTK_WIDGET (sqt),
+                                            "Sound quality"), 0, 1, 0, 1);
 
     // Add "Resolution" section
-    fvb = GTK_VBOX(gtk_vbox_new(TRUE, 0));
-    gtk_table_attach_defaults(sqt, make_framed(GTK_WIDGET(fvb), "Resolution"),
-			      0, 1, 0, 1);
-    rb = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label(NULL, "8bit"));
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rb), !cfg.bit16);
-    gtk_container_add(GTK_CONTAINER(fvb), GTK_WIDGET(rb));
-    rb = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label_from_widget(rb, "16bit"));
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rb), cfg.bit16);
-    gtk_container_add(GTK_CONTAINER(fvb), GTK_WIDGET(rb));
-    g_ptr_array_add(rblist, (gpointer)rb);
+    fvb = GTK_VBOX (gtk_vbox_new (TRUE, 0));
+    gtk_table_attach_defaults (sqt,
+                               make_framed (GTK_WIDGET (fvb), "Resolution"),
+                               0, 1, 0, 1);
+    rb = GTK_RADIO_BUTTON (gtk_radio_button_new_with_label (NULL, "8bit"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), !cfg.bit16);
+    gtk_container_add (GTK_CONTAINER (fvb), GTK_WIDGET (rb));
+    rb =
+      GTK_RADIO_BUTTON (gtk_radio_button_new_with_label_from_widget
+                        (rb, "16bit"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), cfg.bit16);
+    gtk_container_add (GTK_CONTAINER (fvb), GTK_WIDGET (rb));
+    g_ptr_array_add (rblist, (gpointer) rb);
 
     // Add "Channels" section
-    fvb = GTK_VBOX(gtk_vbox_new(TRUE, 0));
-    gtk_table_attach_defaults(sqt, make_framed(GTK_WIDGET(fvb), "Channels"),
-			      0, 1, 1, 2);
-    rb = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label(NULL, "Mono"));
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rb), !cfg.stereo);
-    gtk_container_add(GTK_CONTAINER(fvb), GTK_WIDGET(rb));
-    rb = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label_from_widget(rb, "Stereo"));
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rb), cfg.stereo);
-    gtk_container_add(GTK_CONTAINER(fvb), GTK_WIDGET(rb));
-    gtk_tooltips_set_tip(tooltips, GTK_WIDGET(rb),
-			 "Setting stereo is not recommended, unless you need to. "
-			 "This won't add any stereo effects to the sound - OPL2 "
-			 "is just mono - but eats up more CPU power!", NULL);
-    g_ptr_array_add(rblist, (gpointer)rb);
+    fvb = GTK_VBOX (gtk_vbox_new (TRUE, 0));
+    gtk_table_attach_defaults (sqt,
+                               make_framed (GTK_WIDGET (fvb), "Channels"), 0,
+                               1, 1, 2);
+    rb = GTK_RADIO_BUTTON (gtk_radio_button_new_with_label (NULL, "Mono"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), !cfg.stereo);
+    gtk_container_add (GTK_CONTAINER (fvb), GTK_WIDGET (rb));
+    rb =
+      GTK_RADIO_BUTTON (gtk_radio_button_new_with_label_from_widget
+                        (rb, "Stereo"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), cfg.stereo);
+    gtk_container_add (GTK_CONTAINER (fvb), GTK_WIDGET (rb));
+    gtk_tooltips_set_tip (tooltips, GTK_WIDGET (rb),
+                          "Setting stereo is not recommended, unless you need to. "
+                          "This won't add any stereo effects to the sound - OPL2 "
+                          "is just mono - but eats up more CPU power!", NULL);
+    g_ptr_array_add (rblist, (gpointer) rb);
 
     // Add "Frequency" section
-    fvb = GTK_VBOX(gtk_vbox_new(TRUE, 0));
-    gtk_table_attach_defaults(sqt, make_framed(GTK_WIDGET(fvb), "Frequency"),
-			      1, 2, 0, 2);
-    rb = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label(NULL, "11025"));
-    if(cfg.freq == 11025) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rb), TRUE);
-    gtk_container_add(GTK_CONTAINER(fvb), GTK_WIDGET(rb));
-    g_ptr_array_add(rblist, (gpointer)rb);
-    rb = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label_from_widget(rb, "22050"));
-    if(cfg.freq == 22050) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rb), TRUE);
-    gtk_container_add(GTK_CONTAINER(fvb), GTK_WIDGET(rb));
-    g_ptr_array_add(rblist, (gpointer)rb);
-    rb = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label_from_widget(rb, "44100"));
-    if(cfg.freq == 44100) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rb), TRUE);
-    gtk_container_add(GTK_CONTAINER(fvb), GTK_WIDGET(rb));
-    g_ptr_array_add(rblist, (gpointer)rb);
-    rb = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label_from_widget(rb, "48000"));
-    if(cfg.freq == 48000) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rb), TRUE);
-    gtk_container_add(GTK_CONTAINER(fvb), GTK_WIDGET(rb));
-    g_ptr_array_add(rblist, (gpointer)rb);
+    fvb = GTK_VBOX (gtk_vbox_new (TRUE, 0));
+    gtk_table_attach_defaults (sqt,
+                               make_framed (GTK_WIDGET (fvb), "Frequency"), 1,
+                               2, 0, 2);
+    rb = GTK_RADIO_BUTTON (gtk_radio_button_new_with_label (NULL, "11025"));
+    if (cfg.freq == 11025)
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), TRUE);
+    gtk_container_add (GTK_CONTAINER (fvb), GTK_WIDGET (rb));
+    g_ptr_array_add (rblist, (gpointer) rb);
+    rb =
+      GTK_RADIO_BUTTON (gtk_radio_button_new_with_label_from_widget
+                        (rb, "22050"));
+    if (cfg.freq == 22050)
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), TRUE);
+    gtk_container_add (GTK_CONTAINER (fvb), GTK_WIDGET (rb));
+    g_ptr_array_add (rblist, (gpointer) rb);
+    rb =
+      GTK_RADIO_BUTTON (gtk_radio_button_new_with_label_from_widget
+                        (rb, "44100"));
+    if (cfg.freq == 44100)
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), TRUE);
+    gtk_container_add (GTK_CONTAINER (fvb), GTK_WIDGET (rb));
+    g_ptr_array_add (rblist, (gpointer) rb);
+    rb =
+      GTK_RADIO_BUTTON (gtk_radio_button_new_with_label_from_widget
+                        (rb, "48000"));
+    if (cfg.freq == 48000)
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), TRUE);
+    gtk_container_add (GTK_CONTAINER (fvb), GTK_WIDGET (rb));
+    g_ptr_array_add (rblist, (gpointer) rb);
   }
 
   // Add "Playback" section
   {
-    GtkVBox *vb = GTK_VBOX(gtk_vbox_new(FALSE, 0));
+    GtkVBox *vb = GTK_VBOX (gtk_vbox_new (FALSE, 0));
     GtkCheckButton *cb;
 
-    gtk_table_attach_defaults(table, make_framed(GTK_WIDGET(vb), "Playback"),
-			      1, 2, 0, 1);
+    gtk_table_attach_defaults (table,
+                               make_framed (GTK_WIDGET (vb), "Playback"), 1,
+                               2, 0, 1);
 
-    cb = GTK_CHECK_BUTTON(gtk_check_button_new_with_label("Detect songend"));
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb), !cfg.endless);
-    gtk_container_add(GTK_CONTAINER(vb), GTK_WIDGET(cb));
-    gtk_tooltips_set_tip(tooltips, GTK_WIDGET(cb),
-			 "If enabled, XMMS will detect a song's ending, stop "
-			 "it and advance in the playlist. If disabled, XMMS "
-			 "won't take notice of a song's ending and loop it all "
-			 "over again and again.", NULL);
-    g_ptr_array_add(rblist, (gpointer)cb);
+    cb =
+      GTK_CHECK_BUTTON (gtk_check_button_new_with_label ("Detect songend"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cb), !cfg.endless);
+    gtk_container_add (GTK_CONTAINER (vb), GTK_WIDGET (cb));
+    gtk_tooltips_set_tip (tooltips, GTK_WIDGET (cb),
+                          "If enabled, XMMS will detect a song's ending, stop "
+                          "it and advance in the playlist. If disabled, XMMS "
+                          "won't take notice of a song's ending and loop it all "
+                          "over again and again.", NULL);
+    g_ptr_array_add (rblist, (gpointer) cb);
   }
 
   /***** Page 2: Formats *****/
 
-  table = GTK_TABLE(gtk_table_new(1, 1, TRUE));
-  gtk_notebook_append_page(notebook, GTK_WIDGET(table), print_left("Formats"));
+  table = GTK_TABLE (gtk_table_new (1, 1, TRUE));
+  gtk_notebook_append_page (notebook, GTK_WIDGET (table),
+                            print_left ("Formats"));
 
   // Add "Format selection" section
   {
-    GtkHBox *vb = GTK_HBOX(gtk_hbox_new(FALSE, 0));
-    gtk_table_attach_defaults(table, make_framed(GTK_WIDGET(vb), "Format selection"),
-			      0, 1, 0, 1);
+    GtkHBox *vb = GTK_HBOX (gtk_hbox_new (FALSE, 0));
+    gtk_table_attach_defaults (table,
+                               make_framed (GTK_WIDGET (vb),
+                                            "Format selection"), 0, 1, 0, 1);
     // Add scrollable list
     {
-      gchar *rowstr[] = {"Format", "Extension"};
-      GtkEventBox *eventbox = GTK_EVENT_BOX(gtk_event_box_new());
-      GtkScrolledWindow *formatswnd = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new(NULL, NULL));
-      GtkCList *fl = GTK_CLIST(gtk_clist_new_with_titles(2, rowstr));
+      gchar *rowstr[] = { "Format", "Extension" };
+      GtkEventBox *eventbox = GTK_EVENT_BOX (gtk_event_box_new ());
+      GtkScrolledWindow *formatswnd =
+        GTK_SCROLLED_WINDOW (gtk_scrolled_window_new (NULL, NULL));
+      GtkCList *fl = GTK_CLIST (gtk_clist_new_with_titles (2, rowstr));
       CPlayers::const_iterator i;
       unsigned int j;
-      gtk_clist_set_selection_mode(fl, GTK_SELECTION_MULTIPLE);
+      gtk_clist_set_selection_mode (fl, GTK_SELECTION_MULTIPLE);
 
       // Build list
-      for(i = CAdPlug::players.begin(); i != CAdPlug::players.end(); i++) {
-	gint rownum;
+      for (i = CAdPlug::players.begin (); i != CAdPlug::players.end (); i++)
+      {
+        gint rownum;
 
-	gchar *rws[2];
-	rws[0] = g_strdup((*i)->filetype.c_str());
-	rws[1] = g_strdup((*i)->get_extension(0));
-	for(j = 1; (*i)->get_extension(j); j++)
-	  rws[1] = g_strjoin(", ", rws[1], (*i)->get_extension(j), NULL);
-	rownum = gtk_clist_append(fl, rws);
-	g_free(rws[0]); g_free(rws[1]);
-	gtk_clist_set_row_data(fl, rownum, (gpointer)(*i));
-	if(find(cfg.players.begin(), cfg.players.end(), *i) != cfg.players.end())
-	  gtk_clist_select_row(fl, rownum, 0);
+        gchar *rws[2];
+        rws[0] = g_strdup ((*i)->filetype.c_str ());
+        rws[1] = g_strdup ((*i)->get_extension (0));
+        for (j = 1; (*i)->get_extension (j); j++)
+          rws[1] = g_strjoin (", ", rws[1], (*i)->get_extension (j), NULL);
+        rownum = gtk_clist_append (fl, rws);
+        g_free (rws[0]);
+        g_free (rws[1]);
+        gtk_clist_set_row_data (fl, rownum, (gpointer) (*i));
+        if (find (cfg.players.begin (), cfg.players.end (), *i) !=
+            cfg.players.end ())
+          gtk_clist_select_row (fl, rownum, 0);
       }
 
-      gtk_clist_columns_autosize(fl);
-      gtk_scrolled_window_set_policy(formatswnd, GTK_POLICY_AUTOMATIC,
-				     GTK_POLICY_AUTOMATIC);
-      gpointer pl = (gpointer)new CPlayers(cfg.players);
-      g_signal_connect(G_OBJECT(fl), "select-row",
-			 G_CALLBACK(config_fl_row_select), pl);
-      g_signal_connect(G_OBJECT(fl), "unselect-row",
-			 G_CALLBACK(config_fl_row_unselect), pl);
-      gtk_container_add(GTK_CONTAINER(formatswnd), GTK_WIDGET(fl));
-      gtk_container_add(GTK_CONTAINER(eventbox), GTK_WIDGET(formatswnd));
-      gtk_container_add(GTK_CONTAINER(vb), GTK_WIDGET(eventbox));
-      gtk_tooltips_set_tip(tooltips, GTK_WIDGET(eventbox),
-			   "Selected file types will be recognized and played "
-			   "back by this plugin. Deselected types will be "
-			   "ignored to make room for other plugins to play "
-			   "these files.", NULL);
-      g_ptr_array_add(rblist, pl);
+      gtk_clist_columns_autosize (fl);
+      gtk_scrolled_window_set_policy (formatswnd, GTK_POLICY_AUTOMATIC,
+                                      GTK_POLICY_AUTOMATIC);
+      gpointer pl = (gpointer) new CPlayers (cfg.players);
+      g_signal_connect (G_OBJECT (fl), "select-row",
+                        G_CALLBACK (config_fl_row_select), pl);
+      g_signal_connect (G_OBJECT (fl), "unselect-row",
+                        G_CALLBACK (config_fl_row_unselect), pl);
+      gtk_container_add (GTK_CONTAINER (formatswnd), GTK_WIDGET (fl));
+      gtk_container_add (GTK_CONTAINER (eventbox), GTK_WIDGET (formatswnd));
+      gtk_container_add (GTK_CONTAINER (vb), GTK_WIDGET (eventbox));
+      gtk_tooltips_set_tip (tooltips, GTK_WIDGET (eventbox),
+                            "Selected file types will be recognized and played "
+                            "back by this plugin. Deselected types will be "
+                            "ignored to make room for other plugins to play "
+                            "these files.", NULL);
+      g_ptr_array_add (rblist, pl);
     }
   }
 
   // Show window
-  gtk_widget_show_all(GTK_WIDGET(config_dlg));
+  gtk_widget_show_all (GTK_WIDGET (config_dlg));
 }
 
-static void add_instlist(GtkCList *instlist, const char *t1, const char *t2)
+static void
+add_instlist (GtkCList * instlist, const char *t1, const char *t2)
 {
   gchar *rowstr[2];
 
-  rowstr[0] = g_strdup(t1); rowstr[1] = g_strdup(t2);
-  gtk_clist_append(instlist, rowstr);
-  g_free(rowstr[0]); g_free(rowstr[1]);
+  rowstr[0] = g_strdup (t1);
+  rowstr[1] = g_strdup (t2);
+  gtk_clist_append (instlist, rowstr);
+  g_free (rowstr[0]);
+  g_free (rowstr[1]);
 }
 
-static CPlayer *factory(VFSFile *fd, Copl *newopl)
+static CPlayer *
+factory (VFSFile * fd, Copl * newopl)
 {
-  CPlayers::const_iterator	i;
+  CPlayers::const_iterator i;
 
-  dbg_printf("factory(%p<%s>,opl): ", fd, fd->uri != NULL ? fd->uri : "unknown");
-  return CAdPlug::factory(fd, newopl, cfg.players);
+  dbg_printf ("factory(%p<%s>,opl): ", fd,
+              fd->uri != NULL ? fd->uri : "unknown");
+  return CAdPlug::factory (fd, newopl, cfg.players);
 }
 
-static void adplug_stop(InputPlayback *data);
-static void adplug_play(InputPlayback *data);
+static void adplug_stop (InputPlayback * data);
+static void adplug_play (InputPlayback * data);
 
 
 
-static void subsong_slider(GtkAdjustment *adj)
+static void
+subsong_slider (GtkAdjustment * adj)
 {
-  adplug_stop(NULL);
-  plr.subsong = (unsigned int)adj->value - 1;
-  adplug_play(playback);
+  adplug_stop (NULL);
+  plr.subsong = (unsigned int) adj->value - 1;
+  adplug_play (playback);
 }
 
-static void close_infobox(GtkDialog *infodlg)
+static void
+close_infobox (GtkDialog * infodlg)
 {
   // Forget our references to the instance of the "currently playing song" info
   // box. But only if we're really destroying that one... ;)
-  if(infodlg == plr.infodlg) {
+  if (infodlg == plr.infodlg)
+  {
     plr.infobox = NULL;
     plr.infodlg = NULL;
   }
 }
 
-static void adplug_info_box(char *filename)
+static void
+adplug_info_box (char *filename)
 {
   CSilentopl tmpopl;
-  VFSFile *fd = vfs_buffered_file_new_from_uri(filename);
+  VFSFile *fd = vfs_buffered_file_new_from_uri (filename);
 
-  if (!fd) return;
+  if (!fd)
+    return;
 
-  CPlayer *p = (strcmp(filename, plr.filename) || !plr.p) ?
-    factory(fd, &tmpopl) : plr.p;
+  CPlayer *p = (strcmp (filename, plr.filename) || !plr.p) ?
+    factory (fd, &tmpopl) : plr.p;
 
-  if(!p) return; // bail out if no player could be created
-  if(p == plr.p && plr.infodlg) return; // only one info box for active song
+  if (!p)
+    return;                     // bail out if no player could be created
+  if (p == plr.p && plr.infodlg)
+    return;                     // only one info box for active song
 
   std::ostringstream infotext;
   unsigned int i;
-  GtkDialog *infobox = GTK_DIALOG(gtk_dialog_new());
-  GtkButton *okay_button = GTK_BUTTON(gtk_button_new_with_label("Ok"));
+  GtkDialog *infobox = GTK_DIALOG (gtk_dialog_new ());
+  GtkButton *okay_button = GTK_BUTTON (gtk_button_new_with_label ("Ok"));
 
-  GtkVBox *box = GTK_VBOX(gtk_vbox_new(TRUE,2));
-  GtkHBox *hbox = GTK_HBOX(gtk_hbox_new(TRUE, 2));
-  GtkHBox *hbox2 = GTK_HBOX(gtk_hbox_new(TRUE, 2));
+  GtkVBox *box = GTK_VBOX (gtk_vbox_new (TRUE, 2));
+  GtkHBox *hbox = GTK_HBOX (gtk_hbox_new (TRUE, 2));
+  GtkHBox *hbox2 = GTK_HBOX (gtk_hbox_new (TRUE, 2));
 
   // Build file info box
-  gtk_window_set_title(GTK_WINDOW(infobox), "AdPlug :: File Info");
-  gtk_window_set_policy(GTK_WINDOW(infobox), FALSE, FALSE, TRUE); // Window is auto sized
+  gtk_window_set_title (GTK_WINDOW (infobox), "AdPlug :: File Info");
+  gtk_window_set_policy (GTK_WINDOW (infobox), FALSE, FALSE, TRUE); // Window is auto sized
 
-  gtk_container_add(GTK_CONTAINER(infobox->vbox), GTK_WIDGET(box));
+  gtk_container_add (GTK_CONTAINER (infobox->vbox), GTK_WIDGET (box));
 // Former packer layout, for future reproduction
 //  gtk_packer_set_default_border_width(packer, 2);
 
-  gtk_box_set_homogeneous(GTK_BOX(hbox), FALSE);
-  g_signal_connect_swapped(G_OBJECT(okay_button), "clicked",
-			    G_CALLBACK(gtk_widget_destroy),
-			    GTK_OBJECT(infobox));
-  g_signal_connect(G_OBJECT(infobox), "destroy",
-		     G_CALLBACK(close_infobox), 0);
-  gtk_container_add(GTK_CONTAINER(infobox->action_area), GTK_WIDGET(okay_button));
+  gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
+  g_signal_connect_swapped (G_OBJECT (okay_button), "clicked",
+                            G_CALLBACK (gtk_widget_destroy),
+                            GTK_OBJECT (infobox));
+  g_signal_connect (G_OBJECT (infobox), "destroy",
+                    G_CALLBACK (close_infobox), 0);
+  gtk_container_add (GTK_CONTAINER (infobox->action_area),
+                     GTK_WIDGET (okay_button));
 
   // Add filename section
 // Former packer layout, for future reproduction
 //  gtk_packer_add_defaults(packer, make_framed(print_left(filename), "Filename"),
-//			  GTK_SIDE_TOP, GTK_ANCHOR_CENTER, GTK_FILL_X);
-  gtk_box_pack_end(GTK_BOX(box), GTK_WIDGET(hbox2), TRUE, TRUE, 2);
-  gtk_box_pack_end(GTK_BOX(box), make_framed(print_left(filename), "Filename"), TRUE, TRUE, 2);
+//            GTK_SIDE_TOP, GTK_ANCHOR_CENTER, GTK_FILL_X);
+  gtk_box_pack_end (GTK_BOX (box), GTK_WIDGET (hbox2), TRUE, TRUE, 2);
+  gtk_box_pack_end (GTK_BOX (box),
+                    make_framed (print_left (filename), "Filename"), TRUE,
+                    TRUE, 2);
 
   // Add "Song info" section
-  infotext << "Title: " << p->gettitle() << std::endl <<
-    "Author: " << p->getauthor() << std::endl <<
-    "File Type: " << p->gettype() << std::endl <<
-    "Subsongs: " << p->getsubsongs() << std::endl <<
-    "Instruments: " << p->getinstruments();
-  if(plr.p == p)
+  infotext << "Title: " << p->gettitle () << std::endl <<
+    "Author: " << p->getauthor () << std::endl <<
+    "File Type: " << p->gettype () << std::endl <<
+    "Subsongs: " << p->getsubsongs () << std::endl <<
+    "Instruments: " << p->getinstruments ();
+  if (plr.p == p)
     infotext << std::ends;
-  else {
-    infotext << std::endl << "Orders: " << p->getorders() << std::endl <<
-      "Patterns: " << p->getpatterns() << std::ends;
+  else
+  {
+    infotext << std::endl << "Orders: " << p->getorders () << std::endl <<
+      "Patterns: " << p->getpatterns () << std::ends;
   }
-  gtk_container_add(GTK_CONTAINER(hbox),
-		    make_framed(print_left(infotext.str().c_str()), "Song"));
+  gtk_container_add (GTK_CONTAINER (hbox),
+                     make_framed (print_left (infotext.str ().c_str ()),
+                                  "Song"));
 
   // Add "Playback info" section if currently playing
-  if(plr.p == p) {
-    plr.infobox = GTK_LABEL(gtk_label_new(""));
-    gtk_label_set_justify(plr.infobox, GTK_JUSTIFY_LEFT);
-    gtk_misc_set_padding(GTK_MISC(plr.infobox), 2, 2);
-    gtk_container_add(GTK_CONTAINER(hbox),
-		      make_framed(GTK_WIDGET(plr.infobox), "Playback"));
+  if (plr.p == p)
+  {
+    plr.infobox = GTK_LABEL (gtk_label_new (""));
+    gtk_label_set_justify (plr.infobox, GTK_JUSTIFY_LEFT);
+    gtk_misc_set_padding (GTK_MISC (plr.infobox), 2, 2);
+    gtk_container_add (GTK_CONTAINER (hbox),
+                       make_framed (GTK_WIDGET (plr.infobox), "Playback"));
   }
 
 // Former packer layout, for future reproduction
 //  gtk_packer_add_defaults(packer, GTK_WIDGET(hbox), GTK_SIDE_TOP,
-//			  GTK_ANCHOR_CENTER, GTK_FILL_X);
-    gtk_box_pack_end(GTK_BOX(hbox2), GTK_WIDGET(hbox), TRUE, TRUE, 2);
+//            GTK_ANCHOR_CENTER, GTK_FILL_X);
+  gtk_box_pack_end (GTK_BOX (hbox2), GTK_WIDGET (hbox), TRUE, TRUE, 2);
 
   // Add instrument names section
-  if(p->getinstruments()) {
-    GtkScrolledWindow *instwnd = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new(NULL, NULL));
+  if (p->getinstruments ())
+  {
+    GtkScrolledWindow *instwnd =
+      GTK_SCROLLED_WINDOW (gtk_scrolled_window_new (NULL, NULL));
     GtkCList *instnames;
     gchar tmpstr[10];
 
     {
-      gchar *rowstr[] = {"#","Instrument name"};
-      instnames = GTK_CLIST(gtk_clist_new_with_titles(2, rowstr));
+      gchar *rowstr[] = { "#", "Instrument name" };
+      instnames = GTK_CLIST (gtk_clist_new_with_titles (2, rowstr));
     }
-    gtk_clist_set_column_justification(instnames, 0, GTK_JUSTIFY_RIGHT);
+    gtk_clist_set_column_justification (instnames, 0, GTK_JUSTIFY_RIGHT);
 
-    for(i=0;i<p->getinstruments();i++) {
-      sprintf(tmpstr, "%d", i + 1);
-      add_instlist(instnames, tmpstr, p->getinstrument(i).c_str());
+    for (i = 0; i < p->getinstruments (); i++)
+    {
+      sprintf (tmpstr, "%d", i + 1);
+      add_instlist (instnames, tmpstr, p->getinstrument (i).c_str ());
     }
 
-    gtk_clist_columns_autosize(instnames);
-    gtk_scrolled_window_set_policy(instwnd, GTK_POLICY_AUTOMATIC,
-				   GTK_POLICY_AUTOMATIC);
-    gtk_container_add(GTK_CONTAINER(instwnd), GTK_WIDGET(instnames));
+    gtk_clist_columns_autosize (instnames);
+    gtk_scrolled_window_set_policy (instwnd, GTK_POLICY_AUTOMATIC,
+                                    GTK_POLICY_AUTOMATIC);
+    gtk_container_add (GTK_CONTAINER (instwnd), GTK_WIDGET (instnames));
 // Former packer layout, for future reproduction
 //    gtk_packer_add(packer, GTK_WIDGET(instwnd), GTK_SIDE_TOP,
-//		   GTK_ANCHOR_CENTER, GTK_FILL_X, 0, 0, 0, 0, 50);
-    gtk_box_pack_end(GTK_BOX(hbox2), GTK_WIDGET(instwnd), TRUE, TRUE, 2);
+//         GTK_ANCHOR_CENTER, GTK_FILL_X, 0, 0, 0, 0, 50);
+    gtk_box_pack_end (GTK_BOX (hbox2), GTK_WIDGET (instwnd), TRUE, TRUE, 2);
   }
 
   // Add "Song message" section
-  if(!p->getdesc().empty()) {
-    GtkScrolledWindow *msgwnd = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new(NULL, NULL));
-    GtkTextView *msg = GTK_TEXT_VIEW(gtk_text_view_new());
+  if (!p->getdesc ().empty ())
+  {
+    GtkScrolledWindow *msgwnd =
+      GTK_SCROLLED_WINDOW (gtk_scrolled_window_new (NULL, NULL));
+    GtkTextView *msg = GTK_TEXT_VIEW (gtk_text_view_new ());
 
-    gtk_scrolled_window_set_policy(msgwnd, GTK_POLICY_AUTOMATIC,
-				   GTK_POLICY_AUTOMATIC);
-    gtk_text_view_set_editable(msg, FALSE);
-    gtk_text_view_set_wrap_mode(msg, GTK_WRAP_WORD_CHAR);
+    gtk_scrolled_window_set_policy (msgwnd, GTK_POLICY_AUTOMATIC,
+                                    GTK_POLICY_AUTOMATIC);
+    gtk_text_view_set_editable (msg, FALSE);
+    gtk_text_view_set_wrap_mode (msg, GTK_WRAP_WORD_CHAR);
 
-	gtk_text_buffer_set_text(gtk_text_view_get_buffer(msg),p->getdesc().c_str(),p->getdesc().length());
-    gtk_container_add(GTK_CONTAINER(msgwnd), GTK_WIDGET(msg));
-	
+    gtk_text_buffer_set_text (gtk_text_view_get_buffer (msg),
+                              p->getdesc ().c_str (),
+                              p->getdesc ().length ());
+    gtk_container_add (GTK_CONTAINER (msgwnd), GTK_WIDGET (msg));
+
 // Former packer layout, for future reproduction
 //    gtk_packer_add(packer, make_framed(GTK_WIDGET(msgwnd), "Song message"),
-//		   GTK_SIDE_TOP, GTK_ANCHOR_CENTER, GTK_FILL_X, 2, 0, 0, 200, 50);
-    gtk_box_pack_end(GTK_BOX(hbox2), make_framed(GTK_WIDGET(msgwnd), "Song message"), TRUE, TRUE, 2);
+//         GTK_SIDE_TOP, GTK_ANCHOR_CENTER, GTK_FILL_X, 2, 0, 0, 200, 50);
+    gtk_box_pack_end (GTK_BOX (hbox2),
+                      make_framed (GTK_WIDGET (msgwnd), "Song message"), TRUE,
+                      TRUE, 2);
   }
 
   // Add subsong slider section
-  if(p == plr.p && p->getsubsongs() > 1) {
-    GtkAdjustment *adj = GTK_ADJUSTMENT(gtk_adjustment_new(plr.subsong + 1, 1,
-							   p->getsubsongs() + 1,
-							   1, 5, 1));
-    GtkHScale *slider = GTK_HSCALE(gtk_hscale_new(adj));
+  if (p == plr.p && p->getsubsongs () > 1)
+  {
+    GtkAdjustment *adj =
+      GTK_ADJUSTMENT (gtk_adjustment_new (plr.subsong + 1, 1,
+                                          p->getsubsongs () + 1,
+                                          1, 5, 1));
+    GtkHScale *slider = GTK_HSCALE (gtk_hscale_new (adj));
 
-    g_signal_connect(G_OBJECT(adj), "value_changed",
-		       G_CALLBACK(subsong_slider), NULL);
-    gtk_range_set_update_policy(GTK_RANGE(slider), GTK_UPDATE_DISCONTINUOUS);
-    gtk_scale_set_digits(GTK_SCALE(slider), 0);
+    g_signal_connect (G_OBJECT (adj), "value_changed",
+                      G_CALLBACK (subsong_slider), NULL);
+    gtk_range_set_update_policy (GTK_RANGE (slider),
+                                 GTK_UPDATE_DISCONTINUOUS);
+    gtk_scale_set_digits (GTK_SCALE (slider), 0);
 // Former packer layout, for future reproduction
 //   gtk_packer_add_defaults(packer, make_framed(GTK_WIDGET(slider), "Subsong selection"),
-//			    GTK_SIDE_TOP, GTK_ANCHOR_CENTER, GTK_FILL_X);
-    gtk_box_pack_end(GTK_BOX(hbox2), make_framed(GTK_WIDGET(slider), "Subsong selection"), TRUE, TRUE, 2);
+//              GTK_SIDE_TOP, GTK_ANCHOR_CENTER, GTK_FILL_X);
+    gtk_box_pack_end (GTK_BOX (hbox2),
+                      make_framed (GTK_WIDGET (slider), "Subsong selection"),
+                      TRUE, TRUE, 2);
   }
 
   // Show dialog box
-  gtk_widget_show_all(GTK_WIDGET(infobox));
-  if(p == plr.p) { // Remember widget, so we could destroy it later
+  gtk_widget_show_all (GTK_WIDGET (infobox));
+  if (p == plr.p)
+  {                             // Remember widget, so we could destroy it later
     plr.infodlg = infobox;
-  } else // Delete temporary player
+  }
+  else                          // Delete temporary player
     delete p;
 }
 
 /***** Main player (!! threaded !!) *****/
 
-static void update_infobox(void)
+static void
+update_infobox (void)
 {
   std::ostringstream infotext;
 
   // Recreate info string
-  infotext << "Order: " << plr.p->getorder() << " / " << plr.p->getorders() <<
-    std::endl << "Pattern: " << plr.p->getpattern() << " / " <<
-    plr.p->getpatterns() << std::endl << "Row: " << plr.p->getrow() <<
-    std::endl << "Speed: " << plr.p->getspeed() << std::endl << "Timer: " <<
-    plr.p->getrefresh() << "Hz" << std::ends;
+  infotext << "Order: " << plr.p->getorder () << " / " << plr.p->
+    getorders () << std::endl << "Pattern: " << plr.p->
+    getpattern () << " / " << plr.p->
+    getpatterns () << std::endl << "Row: " << plr.p->
+    getrow () << std::endl << "Speed: " << plr.p->
+    getspeed () << std::endl << "Timer: " << plr.p->
+    getrefresh () << "Hz" << std::ends;
 
-  GDK_THREADS_ENTER();
-  gtk_label_set_text(plr.infobox, infotext.str().c_str());
-  GDK_THREADS_LEAVE();
+  GDK_THREADS_ENTER ();
+  gtk_label_set_text (plr.infobox, infotext.str ().c_str ());
+  GDK_THREADS_LEAVE ();
 }
 
 // Define sampsize macro (only usable inside play_loop()!)
 #define sampsize ((bit16 ? 2 : 1) * (stereo ? 2 : 1))
 
-static void *play_loop(void *data)
+static void *
+play_loop (void *data)
 /* Main playback thread. Takes the filename to play as argument. */
 {
   InputPlayback *playback = (InputPlayback *) data;
   char *filename = (char *) playback->filename;
-  dbg_printf("play_loop(\"%s\"): ", filename);
-  CEmuopl opl(cfg.freq, cfg.bit16, cfg.stereo);
+  dbg_printf ("play_loop(\"%s\"): ", filename);
+  CEmuopl opl (cfg.freq, cfg.bit16, cfg.stereo);
   long toadd = 0, i, towrite;
   char *sndbuf, *sndbufpos;
-  bool playing = true,		// Song self-end indicator.
-    bit16 = cfg.bit16,		// Duplicate config, so it doesn't affect us if
-    stereo = cfg.stereo;	// the user changes it while we're playing.
+  bool playing = true,          // Song self-end indicator.
+    bit16 = cfg.bit16,          // Duplicate config, so it doesn't affect us if
+    stereo = cfg.stereo;        // the user changes it while we're playing.
   unsigned long freq = cfg.freq;
 
   // we use VfsBufferedFile class here because adplug does a lot of
   // probing. a short delay before probing begins is better than
   // a lot of delay during probing.
-  VFSFile *fd = vfs_buffered_file_new_from_uri(playback->filename);
+  VFSFile *fd = vfs_buffered_file_new_from_uri (playback->filename);
 
-  if (!fd) { plr.playing = false; g_thread_exit(NULL); }
+  if (!fd)
+  {
+    plr.playing = false;
+    g_thread_exit (NULL);
+  }
 
   // Try to load module
-  dbg_printf("factory, ");
-  if(!(plr.p = factory(fd, &opl))) {
-    dbg_printf("error!\n");
-   // MessageBox("AdPlug :: Error", "File could not be opened!", "Ok");
+  dbg_printf ("factory, ");
+  if (!(plr.p = factory (fd, &opl)))
+  {
+    dbg_printf ("error!\n");
+    // MessageBox("AdPlug :: Error", "File could not be opened!", "Ok");
     plr.playing = false;
-    g_thread_exit(NULL);
+    g_thread_exit (NULL);
   }
 
   // Cache song length
-  dbg_printf("length, ");
-  plr.songlength = plr.p->songlength(plr.subsong);
+  dbg_printf ("length, ");
+  plr.songlength = plr.p->songlength (plr.subsong);
 
   // cache song title
-  dbg_printf("title, ");
-  if(!plr.p->gettitle().empty()) {
-    plr.songtitle = (char *)malloc(plr.p->gettitle().length() + 1);
-    strcpy(plr.songtitle, plr.p->gettitle().c_str());
+  dbg_printf ("title, ");
+  if (!plr.p->gettitle ().empty ())
+  {
+    plr.songtitle = (char *) malloc (plr.p->gettitle ().length () + 1);
+    strcpy (plr.songtitle, plr.p->gettitle ().c_str ());
   }
 
   // reset to first subsong on new file
-  dbg_printf("subsong, ");
-  if(strcmp(filename, plr.filename)) {
-    strcpy(plr.filename, filename);
+  dbg_printf ("subsong, ");
+  if (strcmp (filename, plr.filename))
+  {
+    strcpy (plr.filename, filename);
     plr.subsong = 0;
   }
 
   // Allocate audio buffer
-  dbg_printf("buffer, ");
-  sndbuf = (char *)malloc(SNDBUFSIZE * sampsize);
+  dbg_printf ("buffer, ");
+  sndbuf = (char *) malloc (SNDBUFSIZE * sampsize);
 
   // Set XMMS main window information
-  dbg_printf("xmms, ");
-  adplug_ip.set_info(plr.songtitle, plr.songlength, freq * sampsize * 8,
-		     freq, stereo ? 2 : 1);
+  dbg_printf ("xmms, ");
+  adplug_ip.set_info (plr.songtitle, plr.songlength, freq * sampsize * 8,
+                      freq, stereo ? 2 : 1);
 
   // Rewind player to right subsong
-  dbg_printf("rewind, ");
-  plr.p->rewind(plr.subsong);
+  dbg_printf ("rewind, ");
+  plr.p->rewind (plr.subsong);
 
   // main playback loop
-  dbg_printf("loop.\n");
-  while((playing || cfg.endless) && plr.playing) {
+  dbg_printf ("loop.\n");
+  while ((playing || cfg.endless) && plr.playing)
+  {
     // seek requested ?
-    if(plr.seek != -1) {
+    if (plr.seek != -1)
+    {
       // backward seek ?
-      if(plr.seek < plr.time_ms) {
-        plr.p->rewind(plr.subsong);
+      if (plr.seek < plr.time_ms)
+      {
+        plr.p->rewind (plr.subsong);
         plr.time_ms = 0.0f;
       }
 
       // seek to requested position
-      while((plr.time_ms < plr.seek) && plr.p->update())
-        plr.time_ms += 1000 / plr.p->getrefresh();
+      while ((plr.time_ms < plr.seek) && plr.p->update ())
+        plr.time_ms += 1000 / plr.p->getrefresh ();
 
       // Reset output plugin and some values
-      playback->output->flush((int)plr.time_ms);
+      playback->output->flush ((int) plr.time_ms);
       plr.seek = -1;
     }
 
     // fill sound buffer
-    towrite = SNDBUFSIZE; sndbufpos = sndbuf;
-    while (towrite > 0) {
-      while (toadd < 0) {
+    towrite = SNDBUFSIZE;
+    sndbufpos = sndbuf;
+    while (towrite > 0)
+    {
+      while (toadd < 0)
+      {
         toadd += freq;
-	playing = plr.p->update();
-        plr.time_ms += 1000 / plr.p->getrefresh();
+        playing = plr.p->update ();
+        plr.time_ms += 1000 / plr.p->getrefresh ();
       }
-      i = MIN(towrite, (long)(toadd / plr.p->getrefresh() + 4) & ~3);
-      opl.update((short *)sndbufpos, i);
-      sndbufpos += i * sampsize; towrite -= i;
-      toadd -= (long)(plr.p->getrefresh() * i);
+      i = MIN (towrite, (long) (toadd / plr.p->getrefresh () + 4) & ~3);
+      opl.update ((short *) sndbufpos, i);
+      sndbufpos += i * sampsize;
+      towrite -= i;
+      toadd -= (long) (plr.p->getrefresh () * i);
     }
 
     // write sound buffer
-    while(playback->output->buffer_free() < SNDBUFSIZE * sampsize) xmms_usleep(10000);
-    produce_audio(playback->output->written_time(),
-			  bit16 ? FORMAT_16 : FORMAT_8,
-			  stereo ? 2 : 1, SNDBUFSIZE * sampsize, sndbuf, NULL);
+    while (playback->output->buffer_free () < SNDBUFSIZE * sampsize)
+      xmms_usleep (10000);
+    produce_audio (playback->output->written_time (),
+                   bit16 ? FORMAT_16 : FORMAT_8,
+                   stereo ? 2 : 1, SNDBUFSIZE * sampsize, sndbuf, NULL);
 
     // update infobox, if necessary
-    if(plr.infobox && plr.playing) update_infobox();
+    if (plr.infobox && plr.playing)
+      update_infobox ();
   }
 
   // playback finished - deinit
-  dbg_printf("play_loop(\"%s\"): ", filename);
-  if(!playing) { // wait for output plugin to finish if song has self-ended
-    dbg_printf("wait, ");
-    while(playback->output->buffer_playing()) xmms_usleep(10000);
-  } else { // or else, flush its output buffers
-    dbg_printf("flush, ");
-    playback->output->buffer_free(); playback->output->buffer_free();
+  dbg_printf ("play_loop(\"%s\"): ", filename);
+  if (!playing)
+  {                             // wait for output plugin to finish if song has self-ended
+    dbg_printf ("wait, ");
+    while (playback->output->buffer_playing ())
+      xmms_usleep (10000);
+  }
+  else
+  {                             // or else, flush its output buffers
+    dbg_printf ("flush, ");
+    playback->output->buffer_free ();
+    playback->output->buffer_free ();
   }
 
   // free everything and exit
-  dbg_printf("free");
-  delete plr.p; plr.p = 0;
-  if(plr.songtitle) { free(plr.songtitle); plr.songtitle = NULL; }
-  free(sndbuf);
-  plr.playing = false; // important! XMMS won't get a self-ended song without it.
-  dbg_printf(".\n");
-  vfs_fclose(fd);
-  g_thread_exit(NULL);
-  return(NULL);
+  dbg_printf ("free");
+  delete plr.p;
+  plr.p = 0;
+  if (plr.songtitle)
+  {
+    free (plr.songtitle);
+    plr.songtitle = NULL;
+  }
+  free (sndbuf);
+  plr.playing = false;          // important! XMMS won't get a self-ended song without it.
+  dbg_printf (".\n");
+  vfs_fclose (fd);
+  g_thread_exit (NULL);
+  return (NULL);
 }
 
 // sampsize macro not useful anymore.
@@ -727,97 +860,121 @@
 
 /***** Informational *****/
 
-static int adplug_is_our_fd(gchar *filename, VFSFile *fd)
+static int
+adplug_is_our_fd (gchar * filename, VFSFile * fd)
 {
   CSilentopl tmpopl;
 
-  CPlayer *p = factory(fd,&tmpopl);
+  CPlayer *p = factory (fd, &tmpopl);
 
-  dbg_printf("adplug_is_our_file(\"%s\"): returned ",filename);
+  dbg_printf ("adplug_is_our_file(\"%s\"): returned ", filename);
 
-  if(p) {
+  if (p)
+  {
     delete p;
-    dbg_printf("TRUE\n");
+    dbg_printf ("TRUE\n");
     return TRUE;
   }
 
-  dbg_printf("FALSE\n");
+  dbg_printf ("FALSE\n");
   return FALSE;
 }
 
-static int adplug_is_our_file(char *filename)
+static int
+adplug_is_our_file (char *filename)
 {
   CSilentopl tmpopl;
-  VFSFile *fd = vfs_buffered_file_new_from_uri(filename); if (!fd) return FALSE;
+  VFSFile *fd = vfs_buffered_file_new_from_uri (filename);
+  if (!fd)
+    return FALSE;
 
-  CPlayer *p = factory(fd,&tmpopl);
+  CPlayer *p = factory (fd, &tmpopl);
 
-  dbg_printf("adplug_is_our_file(\"%s\"): returned ",filename);
+  dbg_printf ("adplug_is_our_file(\"%s\"): returned ", filename);
 
-  if(p) {
+  if (p)
+  {
     delete p;
-    dbg_printf("TRUE\n");
+    dbg_printf ("TRUE\n");
     return TRUE;
   }
 
-  dbg_printf("FALSE\n");
+  dbg_printf ("FALSE\n");
   return FALSE;
 }
 
-static int adplug_get_time(InputPlayback *data)
+static int
+adplug_get_time (InputPlayback * data)
 {
-  if(audio_error) { dbg_printf("adplug_get_time(): returned -2\n"); return -2; }
-  if(!plr.playing) { dbg_printf("adplug_get_time(): returned -1\n"); return -1; }
-  return playback->output->output_time();
+  if (audio_error)
+  {
+    dbg_printf ("adplug_get_time(): returned -2\n");
+    return -2;
+  }
+  if (!plr.playing)
+  {
+    dbg_printf ("adplug_get_time(): returned -1\n");
+    return -1;
+  }
+  return playback->output->output_time ();
 }
 
-static void adplug_song_info(char *filename, char **title, int *length)
+static void
+adplug_song_info (char *filename, char **title, int *length)
 {
   CSilentopl tmpopl;
-  VFSFile *fd = vfs_buffered_file_new_from_uri(filename);
+  VFSFile *fd = vfs_buffered_file_new_from_uri (filename);
 
-  if (!fd) return;
+  if (!fd)
+    return;
 
-  CPlayer *p = factory(fd, &tmpopl);
+  CPlayer *p = factory (fd, &tmpopl);
 
-  dbg_printf("adplug_song_info(\"%s\", \"%s\", %d): ", filename, *title, *length);
+  dbg_printf ("adplug_song_info(\"%s\", \"%s\", %d): ", filename, *title,
+              *length);
 
-  if(p) {
+  if (p)
+  {
     // allocate and set title string
-    if(p->gettitle().empty())
+    if (p->gettitle ().empty ())
       *title = 0;
-    else {
-      *title = (char *)malloc(p->gettitle().length() + 1);
-      strcpy(*title, p->gettitle().c_str());
+    else
+    {
+      *title = (char *) malloc (p->gettitle ().length () + 1);
+      strcpy (*title, p->gettitle ().c_str ());
     }
 
     // get song length
-    *length = p->songlength(plr.subsong);
+    *length = p->songlength (plr.subsong);
 
     // delete temporary player object
     delete p;
   }
 
-  dbg_printf("title = \"%s\", length = %d\n", *title, *length);
+  dbg_printf ("title = \"%s\", length = %d\n", *title, *length);
 }
 
 /***** Player control *****/
 
-static void adplug_play(InputPlayback *data)
+static void
+adplug_play (InputPlayback * data)
 {
   char *filename = data->filename;
   playback = data;
-  dbg_printf("adplug_play(\"%s\"): ", filename);
+  dbg_printf ("adplug_play(\"%s\"): ", filename);
   audio_error = FALSE;
 
   // On new song, re-open "Song info" dialog, if open
-  dbg_printf("dialog, ");
-  if(plr.infobox && strcmp(filename, plr.filename))
-    gtk_widget_destroy(GTK_WIDGET(plr.infodlg));
+  dbg_printf ("dialog, ");
+  if (plr.infobox && strcmp (filename, plr.filename))
+    gtk_widget_destroy (GTK_WIDGET (plr.infodlg));
 
   // open output plugin
-  dbg_printf("open, ");
-  if (!playback->output->open_audio(cfg.bit16 ? FORMAT_16 : FORMAT_8, cfg.freq, cfg.stereo ? 2 : 1)) {
+  dbg_printf ("open, ");
+  if (!playback->output->
+      open_audio (cfg.bit16 ? FORMAT_16 : FORMAT_8, cfg.freq,
+                  cfg.stereo ? 2 : 1))
+  {
     audio_error = TRUE;
     return;
   }
@@ -825,158 +982,177 @@
   // Initialize global player data (this is here to prevent a race condition
   // between adplug_get_time() returning the playback state and adplug_loop()
   // initializing the playback state)
-  dbg_printf("init, ");
-  plr.playing = true; plr.time_ms = 0.0f; plr.seek = -1;
+  dbg_printf ("init, ");
+  plr.playing = true;
+  plr.time_ms = 0.0f;
+  plr.seek = -1;
 
   // start player thread
-  dbg_printf("create");
-  plr.play_thread = g_thread_create(play_loop, playback, TRUE, NULL);
-  dbg_printf(".\n");
+  dbg_printf ("create");
+  plr.play_thread = g_thread_create (play_loop, playback, TRUE, NULL);
+  dbg_printf (".\n");
 }
 
-static void adplug_stop(InputPlayback * playback)
+static void
+adplug_stop (InputPlayback * playback)
 {
-  dbg_printf("adplug_stop(): join, ");
-  plr.playing = false; g_thread_join(plr.play_thread); // stop player thread
-  dbg_printf("close"); playback->output->close_audio();
-  dbg_printf(".\n");
+  dbg_printf ("adplug_stop(): join, ");
+  plr.playing = false;
+  g_thread_join (plr.play_thread);  // stop player thread
+  dbg_printf ("close");
+  playback->output->close_audio ();
+  dbg_printf (".\n");
 }
 
-static void adplug_pause(InputPlayback * playback, short paused)
+static void
+adplug_pause (InputPlayback * playback, short paused)
 {
-  dbg_printf("adplug_pause(%d)\n", paused);
-  playback->output->pause(paused);
+  dbg_printf ("adplug_pause(%d)\n", paused);
+  playback->output->pause (paused);
 }
 
-static void adplug_seek(InputPlayback * data, int time)
+static void
+adplug_seek (InputPlayback * data, int time)
 {
-  dbg_printf("adplug_seek(%d)\n", time);
-  plr.seek = time * 1000; // time is in seconds, but we count in ms
+  dbg_printf ("adplug_seek(%d)\n", time);
+  plr.seek = time * 1000;       // time is in seconds, but we count in ms
 }
 
 /***** Configuration file handling *****/
 
 #define CFG_VERSION "AdPlug"
 
-static void adplug_init(void)
+static void
+adplug_init (void)
 {
-  dbg_printf("adplug_init(): open, ");
-  ConfigDb *db = bmp_cfg_db_open();
+  dbg_printf ("adplug_init(): open, ");
+  ConfigDb *db = bmp_cfg_db_open ();
 
   // Read configuration
-  dbg_printf("read, ");
-  bmp_cfg_db_get_bool(db, CFG_VERSION, "16bit", (gboolean *)&cfg.bit16);
-  bmp_cfg_db_get_bool(db, CFG_VERSION, "Stereo", (gboolean *)&cfg.stereo);
-  bmp_cfg_db_get_int(db, CFG_VERSION, "Frequency", (gint *)&cfg.freq);
-  bmp_cfg_db_get_bool(db, CFG_VERSION, "Endless", (gboolean *)&cfg.endless);
+  dbg_printf ("read, ");
+  bmp_cfg_db_get_bool (db, CFG_VERSION, "16bit", (gboolean *) & cfg.bit16);
+  bmp_cfg_db_get_bool (db, CFG_VERSION, "Stereo", (gboolean *) & cfg.stereo);
+  bmp_cfg_db_get_int (db, CFG_VERSION, "Frequency", (gint *) & cfg.freq);
+  bmp_cfg_db_get_bool (db, CFG_VERSION, "Endless",
+                       (gboolean *) & cfg.endless);
 
   // Read file type exclusion list
-  dbg_printf("exclusion, ");
+  dbg_printf ("exclusion, ");
   {
     gchar *cfgstr = "", *exclude;
     gboolean cfgread;
 
-    cfgread = bmp_cfg_db_get_string(db, CFG_VERSION, "Exclude", &cfgstr);
-    exclude = (char *)malloc(strlen(cfgstr) + 2); strcpy(exclude, cfgstr);
-    exclude[strlen(exclude) + 1] = '\0';
-    if(cfgread) free(cfgstr);
-    g_strdelimit(exclude, ":", '\0');
-    for(gchar *p = exclude; *p; p += strlen(p) + 1)
-      cfg.players.remove(cfg.players.lookup_filetype(p));
-    free(exclude);
+    cfgread = bmp_cfg_db_get_string (db, CFG_VERSION, "Exclude", &cfgstr);
+    exclude = (char *) malloc (strlen (cfgstr) + 2);
+    strcpy (exclude, cfgstr);
+    exclude[strlen (exclude) + 1] = '\0';
+    if (cfgread)
+      free (cfgstr);
+    g_strdelimit (exclude, ":", '\0');
+    for (gchar * p = exclude; *p; p += strlen (p) + 1)
+      cfg.players.remove (cfg.players.lookup_filetype (p));
+    free (exclude);
   }
-  bmp_cfg_db_close(db);
+  bmp_cfg_db_close (db);
 
   // Load database from disk and hand it to AdPlug
-  dbg_printf("database");
+  dbg_printf ("database");
   plr.db = new CAdPlugDatabase;
 
   {
-    const char *homedir = getenv("HOME");
+    const char *homedir = getenv ("HOME");
 
-    if(homedir) {
-      char *userdb = (char *)malloc(strlen(homedir) + strlen(ADPLUG_CONFDIR) +
-				    strlen(ADPLUGDB_FILE) + 3);
-      strcpy(userdb, homedir); strcat(userdb, "/" ADPLUG_CONFDIR "/");
-      strcat(userdb, ADPLUGDB_FILE);
-      plr.db->load(userdb);		// load user's database
-      dbg_printf(" (userdb=\"%s\")", userdb);
-      free(userdb);
+    if (homedir)
+    {
+      char *userdb =
+        (char *) malloc (strlen (homedir) + strlen (ADPLUG_CONFDIR) +
+                         strlen (ADPLUGDB_FILE) + 3);
+      strcpy (userdb, homedir);
+      strcat (userdb, "/" ADPLUG_CONFDIR "/");
+      strcat (userdb, ADPLUGDB_FILE);
+      plr.db->load (userdb);    // load user's database
+      dbg_printf (" (userdb=\"%s\")", userdb);
+      free (userdb);
     }
   }
-  CAdPlug::set_database(plr.db);
-  dbg_printf(".\n");
+  CAdPlug::set_database (plr.db);
+  dbg_printf (".\n");
 }
 
-static void adplug_quit(void)
+static void
+adplug_quit (void)
 {
-  dbg_printf("adplug_quit(): open, ");
-  ConfigDb *db = bmp_cfg_db_open();
+  dbg_printf ("adplug_quit(): open, ");
+  ConfigDb *db = bmp_cfg_db_open ();
 
   // Close database
-  dbg_printf("db, ");
-  if(plr.db) delete plr.db;
+  dbg_printf ("db, ");
+  if (plr.db)
+    delete plr.db;
 
   // Write configuration
-  dbg_printf("write, ");
-  bmp_cfg_db_set_bool(db, CFG_VERSION, "16bit", cfg.bit16);
-  bmp_cfg_db_set_bool(db, CFG_VERSION, "Stereo", cfg.stereo);
-  bmp_cfg_db_set_int(db, CFG_VERSION, "Frequency", cfg.freq);
-  bmp_cfg_db_set_bool(db, CFG_VERSION, "Endless", cfg.endless);
+  dbg_printf ("write, ");
+  bmp_cfg_db_set_bool (db, CFG_VERSION, "16bit", cfg.bit16);
+  bmp_cfg_db_set_bool (db, CFG_VERSION, "Stereo", cfg.stereo);
+  bmp_cfg_db_set_int (db, CFG_VERSION, "Frequency", cfg.freq);
+  bmp_cfg_db_set_bool (db, CFG_VERSION, "Endless", cfg.endless);
 
-  dbg_printf("exclude, ");
+  dbg_printf ("exclude, ");
   std::string exclude;
-  for(CPlayers::const_iterator i = CAdPlug::players.begin();
-      i != CAdPlug::players.end(); i++)
-    if(find(cfg.players.begin(), cfg.players.end(), *i) == cfg.players.end()) {
-      if(!exclude.empty()) exclude += ":";
+  for (CPlayers::const_iterator i = CAdPlug::players.begin ();
+       i != CAdPlug::players.end (); i++)
+    if (find (cfg.players.begin (), cfg.players.end (), *i) ==
+        cfg.players.end ())
+    {
+      if (!exclude.empty ())
+        exclude += ":";
       exclude += (*i)->filetype;
     }
-  gchar *cfgval = g_strdup(exclude.c_str());
-  bmp_cfg_db_set_string(db, CFG_VERSION, "Exclude", cfgval);
-  free(cfgval);
+  gchar *cfgval = g_strdup (exclude.c_str ());
+  bmp_cfg_db_set_string (db, CFG_VERSION, "Exclude", cfgval);
+  free (cfgval);
 
-  dbg_printf("close");
-  bmp_cfg_db_close(db);
-  dbg_printf(".\n");
+  dbg_printf ("close");
+  bmp_cfg_db_close (db);
+  dbg_printf (".\n");
 }
 
 /***** Plugin (exported) *****/
 
-InputPlugin adplug_ip =
-  {
-    NULL,                       // handle (filled by XMMS)
-    NULL,                       // filename (filled by XMMS)
-    ADPLUG_NAME,        	// plugin description
-    adplug_init,                // plugin functions...
-    adplug_about,
-    adplug_config,
-    adplug_is_our_file,
-    NULL, 			// scan_dir (look in Input/cdaudio/cdaudio.c)
-    adplug_play,
-    adplug_stop,
-    adplug_pause,
-    adplug_seek,
-    NULL, // set_eq
-    adplug_get_time,
-    NULL,                       // get_volume (handled by output plugin)
-    NULL,                       // set_volume (...)
-    adplug_quit,
-    NULL,                       // OBSOLETE - DO NOT USE!
-    NULL,                       // add_vis_pcm (filled by XMMS)
-    NULL,                       // set_info (filled by XMMS)
-    NULL,                       // set_info_text (filled by XMMS)
-    adplug_song_info,
-    adplug_info_box,            // adplug_info_box was here (but it used deprecated GTK+ functions)
-    NULL,                       // output plugin (filled by XMMS)
-    NULL,
-    NULL,
-    NULL,
-    adplug_is_our_fd,
-    NULL,
-  };
+InputPlugin adplug_ip = {
+  NULL,                         // handle (filled by XMMS)
+  NULL,                         // filename (filled by XMMS)
+  ADPLUG_NAME,                  // plugin description
+  adplug_init,                  // plugin functions...
+  adplug_about,
+  adplug_config,
+  adplug_is_our_file,
+  NULL,                         // scan_dir (look in Input/cdaudio/cdaudio.c)
+  adplug_play,
+  adplug_stop,
+  adplug_pause,
+  adplug_seek,
+  NULL,                         // set_eq
+  adplug_get_time,
+  NULL,                         // get_volume (handled by output plugin)
+  NULL,                         // set_volume (...)
+  adplug_quit,
+  NULL,                         // OBSOLETE - DO NOT USE!
+  NULL,                         // add_vis_pcm (filled by XMMS)
+  NULL,                         // set_info (filled by XMMS)
+  NULL,                         // set_info_text (filled by XMMS)
+  adplug_song_info,
+  adplug_info_box,              // adplug_info_box was here (but it used deprecated GTK+ functions)
+  NULL,                         // output plugin (filled by XMMS)
+  NULL,
+  NULL,
+  NULL,
+  adplug_is_our_fd,
+  NULL,
+};
 
-extern "C" InputPlugin *get_iplugin_info(void)
+extern "C" InputPlugin *
+get_iplugin_info (void)
 {
   return &adplug_ip;
 }
--- a/src/adplug/core/a2m.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/a2m.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -31,455 +31,563 @@
 
 #include "a2m.h"
 
-const unsigned int Ca2mLoader::MAXFREQ = 2000,
-Ca2mLoader::MINCOPY = ADPLUG_A2M_MINCOPY,
-Ca2mLoader::MAXCOPY = ADPLUG_A2M_MAXCOPY,
-Ca2mLoader::COPYRANGES = ADPLUG_A2M_COPYRANGES,
-Ca2mLoader::CODESPERRANGE = ADPLUG_A2M_CODESPERRANGE,
-Ca2mLoader::TERMINATE = 256,
-Ca2mLoader::FIRSTCODE = ADPLUG_A2M_FIRSTCODE,
-Ca2mLoader::MAXCHAR = FIRSTCODE + COPYRANGES * CODESPERRANGE - 1,
-Ca2mLoader::SUCCMAX = MAXCHAR + 1,
-Ca2mLoader::TWICEMAX = ADPLUG_A2M_TWICEMAX,
-Ca2mLoader::ROOT = 1, Ca2mLoader::MAXBUF = 42 * 1024,
-Ca2mLoader::MAXDISTANCE = 21389, Ca2mLoader::MAXSIZE = 21389 + MAXCOPY;
+const unsigned int
+  Ca2mLoader::MAXFREQ = 2000,
+  Ca2mLoader::MINCOPY = ADPLUG_A2M_MINCOPY,
+  Ca2mLoader::MAXCOPY = ADPLUG_A2M_MAXCOPY,
+  Ca2mLoader::COPYRANGES = ADPLUG_A2M_COPYRANGES,
+  Ca2mLoader::CODESPERRANGE = ADPLUG_A2M_CODESPERRANGE,
+  Ca2mLoader::TERMINATE = 256,
+  Ca2mLoader::FIRSTCODE = ADPLUG_A2M_FIRSTCODE,
+  Ca2mLoader::MAXCHAR = FIRSTCODE + COPYRANGES * CODESPERRANGE - 1,
+  Ca2mLoader::SUCCMAX = MAXCHAR + 1,
+  Ca2mLoader::TWICEMAX = ADPLUG_A2M_TWICEMAX,
+  Ca2mLoader::ROOT = 1, Ca2mLoader::MAXBUF = 42 * 1024,
+  Ca2mLoader::MAXDISTANCE = 21389, Ca2mLoader::MAXSIZE = 21389 + MAXCOPY;
 
-const unsigned short Ca2mLoader::bitvalue[14] =
-  {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192};
+const unsigned short
+Ca2mLoader::bitvalue[14] =
+  { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192 };
 
-const signed short Ca2mLoader::copybits[COPYRANGES] =
-  {4, 6, 8, 10, 12, 14};
+const signed short
+Ca2mLoader::copybits[COPYRANGES] = { 4, 6, 8, 10, 12, 14 };
 
-const signed short Ca2mLoader::copymin[COPYRANGES] =
-  {0, 16, 80, 336, 1360, 5456};
+const signed short
+Ca2mLoader::copymin[COPYRANGES] = { 0, 16, 80, 336, 1360, 5456 };
 
-CPlayer *Ca2mLoader::factory(Copl *newopl)
+CPlayer *
+Ca2mLoader::factory (Copl * newopl)
 {
-  return new Ca2mLoader(newopl);
+  return new Ca2mLoader (newopl);
 }
 
-bool Ca2mLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+Ca2mLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
   char id[10];
-  int i,j,k,t;
+  int i, j, k, t;
   unsigned int l;
   unsigned char *org, *orgptr, flags = 0, numpats, version;
   unsigned long crc, alength;
   unsigned short len[9], *secdata, *secptr;
-  const unsigned char convfx[16] = {0,1,2,23,24,3,5,4,6,9,17,13,11,19,7,14};
-  const unsigned char convinf1[16] = {0,1,2,6,7,8,9,4,5,3,10,11,12,13,14,15};
-  const unsigned char newconvfx[] = {0,1,2,3,4,5,6,23,24,21,10,11,17,13,7,19,
-				     255,255,22,25,255,15,255,255,255,255,255,
-				     255,255,255,255,255,255,255,255,14,255};
+  const unsigned char convfx[16] =
+    { 0, 1, 2, 23, 24, 3, 5, 4, 6, 9, 17, 13, 11, 19, 7, 14 };
+  const unsigned char convinf1[16] =
+    { 0, 1, 2, 6, 7, 8, 9, 4, 5, 3, 10, 11, 12, 13, 14, 15 };
+  const unsigned char newconvfx[] =
+    { 0, 1, 2, 3, 4, 5, 6, 23, 24, 21, 10, 11, 17, 13, 7, 19,
+    255, 255, 22, 25, 255, 15, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255, 14, 255
+  };
 
   // read header
-  f->readString(id, 10); crc = f->readInt(4);
-  version = f->readInt(1); numpats = f->readInt(1);
+  f->readString (id, 10);
+  crc = f->readInt (4);
+  version = f->readInt (1);
+  numpats = f->readInt (1);
 
   // file validation section
-  if(strncmp(id,"_A2module_",10) || (version != 1 && version != 5 &&
-				     version != 4 && version != 8)) {
-    fp.close(f);
+  if (strncmp (id, "_A2module_", 10) || (version != 1 && version != 5 &&
+                                         version != 4 && version != 8))
+  {
+    fp.close (f);
     return false;
   }
 
   // load, depack & convert section
-  nop = numpats; length = 128; restartpos = 0;
-  if(version < 5) {
-    for(i=0;i<5;i++) len[i] = f->readInt(2);
+  nop = numpats;
+  length = 128;
+  restartpos = 0;
+  if (version < 5)
+  {
+    for (i = 0; i < 5; i++)
+      len[i] = f->readInt (2);
     t = 9;
-  } else {	// version >= 5
-    for(i=0;i<9;i++) len[i] = f->readInt(2);
+  }
+  else
+  {                             // version >= 5
+    for (i = 0; i < 9; i++)
+      len[i] = f->readInt (2);
     t = 18;
   }
 
   // block 0
-  secdata = new unsigned short [len[0] / 2];
-  if(version == 1 || version == 5) {
-    for(i=0;i<len[0]/2;i++) secdata[i] = f->readInt(2);
-    org = new unsigned char [MAXBUF]; orgptr = org;
-    sixdepak(secdata,org,len[0]);
-  } else {
-    orgptr = (unsigned char *)secdata;
-    for(i=0;i<len[0];i++) orgptr[i] = f->readInt(1);
+  secdata = new unsigned short[len[0] / 2];
+  if (version == 1 || version == 5)
+  {
+    for (i = 0; i < len[0] / 2; i++)
+      secdata[i] = f->readInt (2);
+    org = new unsigned char[MAXBUF];
+    orgptr = org;
+    sixdepak (secdata, org, len[0]);
   }
-  memcpy(songname,orgptr,43); orgptr += 43;
-  memcpy(author,orgptr,43); orgptr += 43;
-  memcpy(instname,orgptr,250*33); orgptr += 250*33;
+  else
+  {
+    orgptr = (unsigned char *) secdata;
+    for (i = 0; i < len[0]; i++)
+      orgptr[i] = f->readInt (1);
+  }
+  memcpy (songname, orgptr, 43);
+  orgptr += 43;
+  memcpy (author, orgptr, 43);
+  orgptr += 43;
+  memcpy (instname, orgptr, 250 * 33);
+  orgptr += 250 * 33;
 
-  for(i=0;i<250;i++) {	// instruments
-    inst[i].data[0] = *(orgptr+i*13+10);
-    inst[i].data[1] = *(orgptr+i*13);
-    inst[i].data[2] = *(orgptr+i*13+1);
-    inst[i].data[3] = *(orgptr+i*13+4);
-    inst[i].data[4] = *(orgptr+i*13+5);
-    inst[i].data[5] = *(orgptr+i*13+6);
-    inst[i].data[6] = *(orgptr+i*13+7);
-    inst[i].data[7] = *(orgptr+i*13+8);
-    inst[i].data[8] = *(orgptr+i*13+9);
-    inst[i].data[9] = *(orgptr+i*13+2);
-    inst[i].data[10] = *(orgptr+i*13+3);
-    if(version < 5)
-      inst[i].misc = *(orgptr+i*13+11);
-    else {    // version >= 5 -> OPL3 format
-      int pan = *(orgptr+i*13+11);
+  for (i = 0; i < 250; i++)
+  {                             // instruments
+    inst[i].data[0] = *(orgptr + i * 13 + 10);
+    inst[i].data[1] = *(orgptr + i * 13);
+    inst[i].data[2] = *(orgptr + i * 13 + 1);
+    inst[i].data[3] = *(orgptr + i * 13 + 4);
+    inst[i].data[4] = *(orgptr + i * 13 + 5);
+    inst[i].data[5] = *(orgptr + i * 13 + 6);
+    inst[i].data[6] = *(orgptr + i * 13 + 7);
+    inst[i].data[7] = *(orgptr + i * 13 + 8);
+    inst[i].data[8] = *(orgptr + i * 13 + 9);
+    inst[i].data[9] = *(orgptr + i * 13 + 2);
+    inst[i].data[10] = *(orgptr + i * 13 + 3);
+    if (version < 5)
+      inst[i].misc = *(orgptr + i * 13 + 11);
+    else
+    {                           // version >= 5 -> OPL3 format
+      int pan = *(orgptr + i * 13 + 11);
 
-      if(pan)
-      inst[i].data[0] |= (pan & 3) << 4;      // set pan
+      if (pan)
+        inst[i].data[0] |= (pan & 3) << 4;  // set pan
       else
-      inst[i].data[0] |= 48;                  // enable both speakers
+        inst[i].data[0] |= 48;  // enable both speakers
     }
 
-    inst[i].slide = *(orgptr+i*13+12);
+    inst[i].slide = *(orgptr + i * 13 + 12);
   }
 
-  orgptr += 250*13;
-  memcpy(order,orgptr,128); orgptr += 128;
-  bpm = *orgptr; orgptr++;
-  initspeed = *orgptr; orgptr++;
-  if(version >= 5) flags = *orgptr;
-  if(version == 1 || version == 5) delete [] org;
-  delete [] secdata;
+  orgptr += 250 * 13;
+  memcpy (order, orgptr, 128);
+  orgptr += 128;
+  bpm = *orgptr;
+  orgptr++;
+  initspeed = *orgptr;
+  orgptr++;
+  if (version >= 5)
+    flags = *orgptr;
+  if (version == 1 || version == 5)
+    delete[]org;
+  delete[]secdata;
 
   // blocks 1-4 or 1-8
   alength = len[1];
-  for(i = 0; i < (version < 5 ? numpats / 16 : numpats / 8); i++)
-    alength += len[i+2];
+  for (i = 0; i < (version < 5 ? numpats / 16 : numpats / 8); i++)
+    alength += len[i + 2];
 
-  secdata = new unsigned short [alength / 2];
-  if(version == 1 || version == 5) {
-    for(l=0;l<alength/2;l++) secdata[l] = f->readInt(2);
-    org = new unsigned char [MAXBUF * (numpats / (version == 1 ? 16 : 8) + 1)];
-    orgptr = org; secptr = secdata;
-    orgptr += sixdepak(secptr,orgptr,len[1]); secptr += len[1] / 2;
-    if(version == 1) {
-      if(numpats > 16)
-	orgptr += sixdepak(secptr,orgptr,len[2]); secptr += len[2] / 2;
-      if(numpats > 32)
-	orgptr += sixdepak(secptr,orgptr,len[3]); secptr += len[3] / 2;
-      if(numpats > 48)
-	sixdepak(secptr,orgptr,len[4]);
-    } else {
-      if(numpats > 8)
-	orgptr += sixdepak(secptr,orgptr,len[2]); secptr += len[2] / 2;
-      if(numpats > 16)
-	orgptr += sixdepak(secptr,orgptr,len[3]); secptr += len[3] / 2;
-      if(numpats > 24)
-	orgptr += sixdepak(secptr,orgptr,len[4]); secptr += len[4] / 2;
-      if(numpats > 32)
-	orgptr += sixdepak(secptr,orgptr,len[5]); secptr += len[5] / 2;
-      if(numpats > 40)
-	orgptr += sixdepak(secptr,orgptr,len[6]); secptr += len[6] / 2;
-      if(numpats > 48)
-	orgptr += sixdepak(secptr,orgptr,len[7]); secptr += len[7] / 2;
-      if(numpats > 56)
-	sixdepak(secptr,orgptr,len[8]);
+  secdata = new unsigned short[alength / 2];
+  if (version == 1 || version == 5)
+  {
+    for (l = 0; l < alength / 2; l++)
+      secdata[l] = f->readInt (2);
+    org = new unsigned char[MAXBUF * (numpats / (version == 1 ? 16 : 8) + 1)];
+    orgptr = org;
+    secptr = secdata;
+    orgptr += sixdepak (secptr, orgptr, len[1]);
+    secptr += len[1] / 2;
+    if (version == 1)
+    {
+      if (numpats > 16)
+        orgptr += sixdepak (secptr, orgptr, len[2]);
+      secptr += len[2] / 2;
+      if (numpats > 32)
+        orgptr += sixdepak (secptr, orgptr, len[3]);
+      secptr += len[3] / 2;
+      if (numpats > 48)
+        sixdepak (secptr, orgptr, len[4]);
     }
-    delete [] secdata; secdata = 0;
-  } else {
-    org = (unsigned char *)secdata;
-    for(l=0;l<alength;l++) org[l] = f->readInt(1);
+    else
+    {
+      if (numpats > 8)
+        orgptr += sixdepak (secptr, orgptr, len[2]);
+      secptr += len[2] / 2;
+      if (numpats > 16)
+        orgptr += sixdepak (secptr, orgptr, len[3]);
+      secptr += len[3] / 2;
+      if (numpats > 24)
+        orgptr += sixdepak (secptr, orgptr, len[4]);
+      secptr += len[4] / 2;
+      if (numpats > 32)
+        orgptr += sixdepak (secptr, orgptr, len[5]);
+      secptr += len[5] / 2;
+      if (numpats > 40)
+        orgptr += sixdepak (secptr, orgptr, len[6]);
+      secptr += len[6] / 2;
+      if (numpats > 48)
+        orgptr += sixdepak (secptr, orgptr, len[7]);
+      secptr += len[7] / 2;
+      if (numpats > 56)
+        sixdepak (secptr, orgptr, len[8]);
+    }
+    delete[]secdata;
+    secdata = 0;
+  }
+  else
+  {
+    org = (unsigned char *) secdata;
+    for (l = 0; l < alength; l++)
+      org[l] = f->readInt (1);
   }
 
-  if(version < 5) {
-    for(i=0;i<numpats;i++)
-      for(j=0;j<64;j++)
-	for(k=0;k<9;k++) {
-        struct Tracks *track = &tracks[i * 9 + k][j];
-        unsigned char *o = &org[i*64*t*4+j*t*4+k*4];
+  if (version < 5)
+  {
+    for (i = 0; i < numpats; i++)
+      for (j = 0; j < 64; j++)
+        for (k = 0; k < 9; k++)
+        {
+          struct Tracks *track = &tracks[i * 9 + k][j];
+          unsigned char *o = &org[i * 64 * t * 4 + j * t * 4 + k * 4];
 
-        track->note = o[0] == 255 ? 127 : o[0];
-        track->inst = o[1];
-        track->command = convfx[o[2]];
-        track->param2 = o[3] & 0x0f;
-        if(track->command != 14)
-          track->param1 = o[3] >> 4;
-	  else {
-          track->param1 = convinf1[o[3] >> 4];
-          if(track->param1 == 15 && !track->param2) { // convert key-off
-            track->command = 8;
-            track->param1 = 0;
-            track->param2 = 0;
-	    }
-	  }
-        if(track->command == 14) {
-          switch(track->param1) {
-	    case 2: // convert define waveform
+          track->note = o[0] == 255 ? 127 : o[0];
+          track->inst = o[1];
+          track->command = convfx[o[2]];
+          track->param2 = o[3] & 0x0f;
+          if (track->command != 14)
+            track->param1 = o[3] >> 4;
+          else
+          {
+            track->param1 = convinf1[o[3] >> 4];
+            if (track->param1 == 15 && !track->param2)
+            {                   // convert key-off
+              track->command = 8;
+              track->param1 = 0;
+              track->param2 = 0;
+            }
+          }
+          if (track->command == 14)
+          {
+            switch (track->param1)
+            {
+            case 2:            // convert define waveform
               track->command = 25;
               track->param1 = track->param2;
               track->param2 = 0xf;
-	      break;
-	    case 8: // convert volume slide up
+              break;
+            case 8:            // convert volume slide up
               track->command = 26;
               track->param1 = track->param2;
               track->param2 = 0;
-	      break;
-	    case 9: // convert volume slide down
+              break;
+            case 9:            // convert volume slide down
               track->command = 26;
               track->param1 = 0;
-	      break;
-	    }
-	  }
-	}
-  } else {    // version >= 5
-    realloc_patterns(64, 64, 18);
+              break;
+            }
+          }
+        }
+  }
+  else
+  {                             // version >= 5
+    realloc_patterns (64, 64, 18);
 
-    for(i=0;i<numpats;i++)
-      for(j=0;j<18;j++)
-	for(k=0;k<64;k++) {
+    for (i = 0; i < numpats; i++)
+      for (j = 0; j < 18; j++)
+        for (k = 0; k < 64; k++)
+        {
           struct Tracks *track = &tracks[i * 18 + j][k];
-          unsigned char *o = &org[i*64*t*4+j*64*4+k*4];
+          unsigned char *o = &org[i * 64 * t * 4 + j * 64 * 4 + k * 4];
 
           track->note = o[0] == 255 ? 127 : o[0];
           track->inst = o[1];
           track->command = newconvfx[o[2]];
           track->param1 = o[3] >> 4;
           track->param2 = o[3] & 0x0f;
- 
+
           // Convert '&' command
-          if(o[2] == 36)
-            switch(track->param1) {
-            case 0:     // pattern delay (frames)
+          if (o[2] == 36)
+            switch (track->param1)
+            {
+            case 0:            // pattern delay (frames)
               track->command = 29;
               track->param1 = 0;
               // param2 already set correctly
               break;
- 
-            case 1:     // pattern delay (rows)
+
+            case 1:            // pattern delay (rows)
               track->command = 14;
               track->param1 = 8;
               // param2 already set correctly
               break;
             }
-	}
+        }
+  }
+
+  init_trackord ();
+
+  if (version == 1 || version == 5)
+  {
+    delete[]org;
+  }
+  else
+  {
+    delete[]secdata;
   }
 
-  init_trackord();
-
-  if(version == 1 || version == 5)
-    {
-      delete [] org;
-    }
-  else
-    {
-      delete [] secdata;
-    }
+  // Process flags
+  if (version >= 5)
+  {
+    CmodPlayer::flags |= Opl3;  // All versions >= 5 are OPL3
+    if (flags & 8)
+      CmodPlayer::flags |= Tremolo; // Tremolo depth
+    if (flags & 16)
+      CmodPlayer::flags |= Vibrato; // Vibrato depth
+  }
 
-    // Process flags
-    if(version >= 5) {
-      CmodPlayer::flags |= Opl3;                                // All versions >= 5 are OPL3
-      if(flags & 8) CmodPlayer::flags |= Tremolo;               // Tremolo depth
-      if(flags & 16) CmodPlayer::flags |= Vibrato;      // Vibrato depth
-    }
- 
-    fp.close(f);
-    rewind(0);
-    return true;
+  fp.close (f);
+  rewind (0);
+  return true;
 }
 
-float Ca2mLoader::getrefresh()
+float
+Ca2mLoader::getrefresh ()
 {
-	if(tempo != 18)
-		return (float) (tempo);
-	else
-		return 18.2f;
+  if (tempo != 18)
+    return (float) (tempo);
+  else
+    return 18.2f;
 }
 
 /*** private methods *************************************/
 
-void Ca2mLoader::inittree()
+void
+Ca2mLoader::inittree ()
 {
-	unsigned short i;
+  unsigned short i;
 
-	for(i=2;i<=TWICEMAX;i++) {
-		dad[i] = i / 2;
-		freq[i] = 1;
-	}
+  for (i = 2; i <= TWICEMAX; i++)
+  {
+    dad[i] = i / 2;
+    freq[i] = 1;
+  }
 
-	for(i=1;i<=MAXCHAR;i++) {
-		leftc[i] = 2 * i;
-		rghtc[i] = 2 * i + 1;
-	}
+  for (i = 1; i <= MAXCHAR; i++)
+  {
+    leftc[i] = 2 * i;
+    rghtc[i] = 2 * i + 1;
+  }
 }
 
-void Ca2mLoader::updatefreq(unsigned short a,unsigned short b)
+void
+Ca2mLoader::updatefreq (unsigned short a, unsigned short b)
 {
-	do {
-		freq[dad[a]] = freq[a] + freq[b];
-		a = dad[a];
-		if(a != ROOT)
-			if(leftc[dad[a]] == a)
-				b = rghtc[dad[a]];
-			else
-				b = leftc[dad[a]];
-	} while(a != ROOT);
+  do
+  {
+    freq[dad[a]] = freq[a] + freq[b];
+    a = dad[a];
+    if (a != ROOT)
+      if (leftc[dad[a]] == a)
+        b = rghtc[dad[a]];
+      else
+        b = leftc[dad[a]];
+  } while (a != ROOT);
 
-	if(freq[ROOT] == MAXFREQ)
-		for(a=1;a<=TWICEMAX;a++)
-			freq[a] >>= 1;
+  if (freq[ROOT] == MAXFREQ)
+    for (a = 1; a <= TWICEMAX; a++)
+      freq[a] >>= 1;
 }
 
-void Ca2mLoader::updatemodel(unsigned short code)
+void
+Ca2mLoader::updatemodel (unsigned short code)
 {
-	unsigned short a=code+SUCCMAX,b,c,code1,code2;
+  unsigned short a = code + SUCCMAX, b, c, code1, code2;
+
+  freq[a]++;
+  if (dad[a] != ROOT)
+  {
+    code1 = dad[a];
+    if (leftc[code1] == a)
+      updatefreq (a, rghtc[code1]);
+    else
+      updatefreq (a, leftc[code1]);
 
-	freq[a]++;
-	if(dad[a] != ROOT) {
-		code1 = dad[a];
-		if(leftc[code1] == a)
-			updatefreq(a,rghtc[code1]);
-		else
-			updatefreq(a,leftc[code1]);
+    do
+    {
+      code2 = dad[code1];
+      if (leftc[code2] == code1)
+        b = rghtc[code2];
+      else
+        b = leftc[code2];
 
-		do {
-			code2 = dad[code1];
-			if(leftc[code2] == code1)
-				b = rghtc[code2];
-			else
-				b = leftc[code2];
+      if (freq[a] > freq[b])
+      {
+        if (leftc[code2] == code1)
+          rghtc[code2] = a;
+        else
+          leftc[code2] = a;
 
-			if(freq[a] > freq[b]) {
-				if(leftc[code2] == code1)
-					rghtc[code2] = a;
-				else
-					leftc[code2] = a;
+        if (leftc[code1] == a)
+        {
+          leftc[code1] = b;
+          c = rghtc[code1];
+        }
+        else
+        {
+          rghtc[code1] = b;
+          c = leftc[code1];
+        }
+
+        dad[b] = code1;
+        dad[a] = code2;
+        updatefreq (b, c);
+        a = b;
+      }
+
+      a = dad[a];
+      code1 = dad[a];
+    } while (code1 != ROOT);
+  }
+}
 
-				if(leftc[code1] == a) {
-					leftc[code1] = b;
-					c = rghtc[code1];
-				} else {
-					rghtc[code1] = b;
-					c = leftc[code1];
-				}
+unsigned short
+Ca2mLoader::inputcode (unsigned short bits)
+{
+  unsigned short i, code = 0;
 
-				dad[b] = code1;
-				dad[a] = code2;
-				updatefreq(b,c);
-				a = b;
-			}
+  for (i = 1; i <= bits; i++)
+  {
+    if (!ibitcount)
+    {
+      if (ibitcount == MAXBUF)
+        ibufcount = 0;
+      ibitbuffer = wdbuf[ibufcount];
+      ibufcount++;
+      ibitcount = 15;
+    }
+    else
+      ibitcount--;
 
-			a = dad[a];
-			code1 = dad[a];
-		} while(code1 != ROOT);
-	}
+    if (ibitbuffer > 0x7fff)
+      code |= bitvalue[i - 1];
+    ibitbuffer <<= 1;
+  }
+
+  return code;
 }
 
-unsigned short Ca2mLoader::inputcode(unsigned short bits)
+unsigned short
+Ca2mLoader::uncompress ()
 {
-	unsigned short i,code=0;
-
-	for(i=1;i<=bits;i++) {
-		if(!ibitcount) {
-			if(ibitcount == MAXBUF)
-				ibufcount = 0;
-			ibitbuffer = wdbuf[ibufcount];
-			ibufcount++;
-			ibitcount = 15;
-		} else
-			ibitcount--;
-
-		if(ibitbuffer > 0x7fff)
-			code |= bitvalue[i-1];
-		ibitbuffer <<= 1;
-	}
-
-	return code;
-}
+  unsigned short a = 1;
 
-unsigned short Ca2mLoader::uncompress()
-{
-	unsigned short a=1;
+  do
+  {
+    if (!ibitcount)
+    {
+      if (ibufcount == MAXBUF)
+        ibufcount = 0;
+      ibitbuffer = wdbuf[ibufcount];
+      ibufcount++;
+      ibitcount = 15;
+    }
+    else
+      ibitcount--;
 
-	do {
-		if(!ibitcount) {
-			if(ibufcount == MAXBUF)
-				ibufcount = 0;
-			ibitbuffer = wdbuf[ibufcount];
-			ibufcount++;
-			ibitcount = 15;
-		} else
-			ibitcount--;
+    if (ibitbuffer > 0x7fff)
+      a = rghtc[a];
+    else
+      a = leftc[a];
+    ibitbuffer <<= 1;
+  } while (a <= MAXCHAR);
 
-		if(ibitbuffer > 0x7fff)
-			a = rghtc[a];
-		else
-			a = leftc[a];
-		ibitbuffer <<= 1;
-	} while(a <= MAXCHAR);
-
-	a -= SUCCMAX;
-	updatemodel(a);
-	return a;
+  a -= SUCCMAX;
+  updatemodel (a);
+  return a;
 }
 
-void Ca2mLoader::decode()
+void
+Ca2mLoader::decode ()
 {
-	unsigned short i,j,k,t,c,count=0,dist,len,index;
+  unsigned short i, j, k, t, c, count = 0, dist, len, index;
 
-	inittree();
-	c = uncompress();
+  inittree ();
+  c = uncompress ();
 
-	while(c != TERMINATE) {
-		if(c < 256) {
-			obuf[obufcount] = (unsigned char)c;
-			obufcount++;
-			if(obufcount == MAXBUF) {
-				output_size = MAXBUF;
-				obufcount = 0;
-			}
+  while (c != TERMINATE)
+  {
+    if (c < 256)
+    {
+      obuf[obufcount] = (unsigned char) c;
+      obufcount++;
+      if (obufcount == MAXBUF)
+      {
+        output_size = MAXBUF;
+        obufcount = 0;
+      }
 
-			buf[count] = (unsigned char)c;
-			count++;
-			if(count == MAXSIZE)
-				count = 0;
-		} else {
-			t = c - FIRSTCODE;
-			index = t / CODESPERRANGE;
-			len = t + MINCOPY - index * CODESPERRANGE;
-			dist = inputcode(copybits[index]) + len + copymin[index];
+      buf[count] = (unsigned char) c;
+      count++;
+      if (count == MAXSIZE)
+        count = 0;
+    }
+    else
+    {
+      t = c - FIRSTCODE;
+      index = t / CODESPERRANGE;
+      len = t + MINCOPY - index * CODESPERRANGE;
+      dist = inputcode (copybits[index]) + len + copymin[index];
 
-			j = count;
-			k = count - dist;
-			if(count < dist)
-				k += MAXSIZE;
+      j = count;
+      k = count - dist;
+      if (count < dist)
+        k += MAXSIZE;
 
-			for(i=0;i<=len-1;i++) {
-				obuf[obufcount] = buf[k];
-				obufcount++;
-				if(obufcount == MAXBUF) {
-					output_size = MAXBUF;
-					obufcount = 0;
-				}
+      for (i = 0; i <= len - 1; i++)
+      {
+        obuf[obufcount] = buf[k];
+        obufcount++;
+        if (obufcount == MAXBUF)
+        {
+          output_size = MAXBUF;
+          obufcount = 0;
+        }
 
-				buf[j] = buf[k];
-				j++; k++;
-				if(j == MAXSIZE) j = 0;
-				if(k == MAXSIZE) k = 0;
-			}
+        buf[j] = buf[k];
+        j++;
+        k++;
+        if (j == MAXSIZE)
+          j = 0;
+        if (k == MAXSIZE)
+          k = 0;
+      }
 
-			count += len;
-			if(count >= MAXSIZE)
-				count -= MAXSIZE;
-		}
-		c = uncompress();
-	}
-	output_size = obufcount;
+      count += len;
+      if (count >= MAXSIZE)
+        count -= MAXSIZE;
+    }
+    c = uncompress ();
+  }
+  output_size = obufcount;
 }
 
-unsigned short Ca2mLoader::sixdepak(unsigned short *source, unsigned char *dest,
-				    unsigned short size)
+unsigned short
+Ca2mLoader::sixdepak (unsigned short *source, unsigned char *dest,
+                      unsigned short size)
 {
-	if((unsigned int)size + 4096 > MAXBUF)
-		return 0;
+  if ((unsigned int) size + 4096 > MAXBUF)
+    return 0;
 
-	buf = new unsigned char [MAXSIZE];
-	input_size = size;
-	ibitcount = 0; ibitbuffer = 0;
-	obufcount = 0; ibufcount = 0;
-	wdbuf = source; obuf = dest;
+  buf = new unsigned char[MAXSIZE];
+  input_size = size;
+  ibitcount = 0;
+  ibitbuffer = 0;
+  obufcount = 0;
+  ibufcount = 0;
+  wdbuf = source;
+  obuf = dest;
 
-	decode();
-	if (buf) { delete [] buf; buf = 0; }
-	return output_size;
+  decode ();
+  if (buf)
+  {
+    delete[]buf;
+    buf = 0;
+  }
+  return output_size;
 }
--- a/src/adplug/core/adl.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/adl.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -61,11 +61,13 @@
 #else
 #	define kDebugLevelSound	1
 
-static inline void warning(const char *str, ...)
+static inline void
+warning (const char *str, ...)
 {
 }
 
-static inline void debugC(int i1, int i2, const char *str, ...)
+static inline void
+debugC (int i1, int i2, const char *str, ...)
 {
 }
 #endif
@@ -80,88 +82,100 @@
 
 #define CALLBACKS_PER_SECOND 72
 
-typedef uint8_t	uint8;
-typedef int8_t	int8;
-typedef uint16_t	uint16;
-typedef int16_t	int16;
-typedef uint32_t	uint32;
-typedef int32_t	int32;
-typedef uint8_t	byte;
-
-static inline uint16 READ_LE_UINT16(const void *ptr) {
-  const byte *b = (const byte *)ptr;
+typedef uint8_t uint8;
+typedef int8_t int8;
+typedef uint16_t uint16;
+typedef int16_t int16;
+typedef uint32_t uint32;
+typedef int32_t int32;
+typedef uint8_t byte;
+
+static inline uint16
+READ_LE_UINT16 (const void *ptr)
+{
+  const byte *b = (const byte *) ptr;
   return (b[1] << 8) + b[0];
 }
 
-static inline uint16 READ_BE_UINT16(const void *ptr) {
-  const byte *b = (const byte *)ptr;
+static inline uint16
+READ_BE_UINT16 (const void *ptr)
+{
+  const byte *b = (const byte *) ptr;
   return (b[0] << 8) + b[1];
 }
 
-class AdlibDriver {
+class AdlibDriver
+{
 public:
-  AdlibDriver(Copl *opl);
-  ~AdlibDriver();
-
-  int callback(int opcode, ...);
-  void callback();
+  AdlibDriver (Copl * opl);
+  ~AdlibDriver ();
+
+  int callback (int opcode, ...);
+  void callback ();
 
   // AudioStream API
-  // 	int readBuffer(int16 *buffer, const int numSamples) {
-  // 		int32 samplesLeft = numSamples;
-  // 		memset(buffer, 0, sizeof(int16) * numSamples);
-  // 		while (samplesLeft) {
-  // 			if (!_samplesTillCallback) {
-  // 				callback();
-  // 				_samplesTillCallback = _samplesPerCallback;
-  // 				_samplesTillCallbackRemainder += _samplesPerCallbackRemainder;
-  // 				if (_samplesTillCallbackRemainder >= CALLBACKS_PER_SECOND) {
-  // 					_samplesTillCallback++;
-  // 					_samplesTillCallbackRemainder -= CALLBACKS_PER_SECOND;
-  // 				}
-  // 			}
-
-  // 			int32 render = MIN(samplesLeft, _samplesTillCallback);
-  // 			samplesLeft -= render;
-  // 			_samplesTillCallback -= render;
-  // 			YM3812UpdateOne(_adlib, buffer, render);
-  // 			buffer += render;
-  // 		}
-  // 		return numSamples;
-  // 	}
-
-  bool isStereo() const { return false; }
-  bool endOfData() const { return false; }
-  // 	int getRate() const { return _mixer->getOutputRate(); }
-
-  struct OpcodeEntry {
-    typedef int (AdlibDriver::*DriverOpcode)(va_list &list);
+  //    int readBuffer(int16 *buffer, const int numSamples) {
+  //        int32 samplesLeft = numSamples;
+  //        memset(buffer, 0, sizeof(int16) * numSamples);
+  //        while (samplesLeft) {
+  //            if (!_samplesTillCallback) {
+  //                callback();
+  //                _samplesTillCallback = _samplesPerCallback;
+  //                _samplesTillCallbackRemainder += _samplesPerCallbackRemainder;
+  //                if (_samplesTillCallbackRemainder >= CALLBACKS_PER_SECOND) {
+  //                    _samplesTillCallback++;
+  //                    _samplesTillCallbackRemainder -= CALLBACKS_PER_SECOND;
+  //                }
+  //            }
+
+  //            int32 render = MIN(samplesLeft, _samplesTillCallback);
+  //            samplesLeft -= render;
+  //            _samplesTillCallback -= render;
+  //            YM3812UpdateOne(_adlib, buffer, render);
+  //            buffer += render;
+  //        }
+  //        return numSamples;
+  //    }
+
+  bool isStereo () const
+  {
+    return false;
+  }
+  bool endOfData () const
+  {
+    return false;
+  }
+  //    int getRate() const { return _mixer->getOutputRate(); }
+
+  struct OpcodeEntry
+  {
+    typedef int (AdlibDriver::*DriverOpcode) (va_list & list);
     DriverOpcode function;
     const char *name;
   };
 
-  void setupOpcodeList();
+  void setupOpcodeList ();
   const OpcodeEntry *_opcodeList;
   int _opcodesEntries;
 
-  int snd_ret0x100(va_list &list);
-  int snd_ret0x1983(va_list &list);
-  int snd_initDriver(va_list &list);
-  int snd_deinitDriver(va_list &list);
-  int snd_setSoundData(va_list &list);
-  int snd_unkOpcode1(va_list &list);
-  int snd_startSong(va_list &list);
-  int snd_unkOpcode2(va_list &list);
-  int snd_unkOpcode3(va_list &list);
-  int snd_readByte(va_list &list);
-  int snd_writeByte(va_list &list);
-  int snd_getSoundTrigger(va_list &list);
-  int snd_unkOpcode4(va_list &list);
-  int snd_dummy(va_list &list);
-  int snd_getNullvar4(va_list &list);
-  int snd_setNullvar3(va_list &list);
-  int snd_setFlag(va_list &list);
-  int snd_clearFlag(va_list &list);
+  int snd_ret0x100 (va_list & list);
+  int snd_ret0x1983 (va_list & list);
+  int snd_initDriver (va_list & list);
+  int snd_deinitDriver (va_list & list);
+  int snd_setSoundData (va_list & list);
+  int snd_unkOpcode1 (va_list & list);
+  int snd_startSong (va_list & list);
+  int snd_unkOpcode2 (va_list & list);
+  int snd_unkOpcode3 (va_list & list);
+  int snd_readByte (va_list & list);
+  int snd_writeByte (va_list & list);
+  int snd_getSoundTrigger (va_list & list);
+  int snd_unkOpcode4 (va_list & list);
+  int snd_dummy (va_list & list);
+  int snd_getNullvar4 (va_list & list);
+  int snd_setNullvar3 (va_list & list);
+  int snd_setFlag (va_list & list);
+  int snd_clearFlag (va_list & list);
 
   // These variables have not yet been named, but some of them are partly
   // known nevertheless:
@@ -186,7 +200,8 @@
   // unk40 - Currently unused, except for updateCallback56()
   // unk41 - Sound-effect. Used for primaryEffect2()
 
-  struct Channel {
+  struct Channel
+  {
     uint8 opExtraLevel2;
     uint8 *dataptr;
     uint8 duration;
@@ -214,7 +229,7 @@
     uint8 position;
     uint8 regAx;
     uint8 regBx;
-    typedef void (AdlibDriver::*Callback)(Channel&);
+    typedef void (AdlibDriver::*Callback) (Channel &);
     Callback primaryEffect;
     Callback secondaryEffect;
     uint8 fractionalSpacing;
@@ -222,7 +237,7 @@
     uint8 opLevel2;
     uint8 opExtraLevel3;
     uint8 twoChan;
-    uint8 unk39;	
+    uint8 unk39;
     uint8 unk40;
     uint8 spacing1;
     uint8 durationRandomness;
@@ -237,29 +252,30 @@
     int8 unk16;
   };
 
-  void primaryEffect1(Channel &channel);
-  void primaryEffect2(Channel &channel);
-  void secondaryEffect1(Channel &channel);
-
-  void resetAdlibState();
-  void writeOPL(byte reg, byte val);
-  void initChannel(Channel &channel);
-  void noteOff(Channel &channel);
-  void unkOutput2(uint8 num);
-
-  uint16 getRandomNr();
-  void setupDuration(uint8 duration, Channel &channel);
-
-  void setupNote(uint8 rawNote, Channel &channel, bool flag = false);
-  void setupInstrument(uint8 regOffset, uint8 *dataptr, Channel &channel);
-  void noteOn(Channel &channel);
-
-  void adjustVolume(Channel &channel);
-
-  uint8 calculateOpLevel1(Channel &channel);
-  uint8 calculateOpLevel2(Channel &channel);
-
-  uint16 checkValue(int16 val) {
+  void primaryEffect1 (Channel & channel);
+  void primaryEffect2 (Channel & channel);
+  void secondaryEffect1 (Channel & channel);
+
+  void resetAdlibState ();
+  void writeOPL (byte reg, byte val);
+  void initChannel (Channel & channel);
+  void noteOff (Channel & channel);
+  void unkOutput2 (uint8 num);
+
+  uint16 getRandomNr ();
+  void setupDuration (uint8 duration, Channel & channel);
+
+  void setupNote (uint8 rawNote, Channel & channel, bool flag = false);
+  void setupInstrument (uint8 regOffset, uint8 * dataptr, Channel & channel);
+  void noteOn (Channel & channel);
+
+  void adjustVolume (Channel & channel);
+
+  uint8 calculateOpLevel1 (Channel & channel);
+  uint8 calculateOpLevel2 (Channel & channel);
+
+  uint16 checkValue (int16 val)
+  {
     if (val < 0)
       val = 0;
     else if (val > 0x3F)
@@ -272,83 +288,115 @@
   // * One for programs, starting at offset 0.
   // * One for instruments, starting at offset 500.
 
-  uint8 *getProgram(int progId) {
-    return _soundData + READ_LE_UINT16(_soundData + 2 * progId);
+  uint8 *getProgram (int progId)
+  {
+    return _soundData + READ_LE_UINT16 (_soundData + 2 * progId);
   }
 
-  uint8 *getInstrument(int instrumentId) {
-    return _soundData + READ_LE_UINT16(_soundData + 500 + 2 * instrumentId);
+  uint8 *getInstrument (int instrumentId)
+  {
+    return _soundData + READ_LE_UINT16 (_soundData + 500 + 2 * instrumentId);
   }
 
-  void setupPrograms();
-  void executePrograms();
-
-  struct ParserOpcode {
-    typedef int (AdlibDriver::*POpcode)(uint8 *&dataptr, Channel &channel, uint8 value);
+  void setupPrograms ();
+  void executePrograms ();
+
+  struct ParserOpcode
+  {
+    typedef int (AdlibDriver::*POpcode) (uint8 * &dataptr, Channel & channel,
+                                         uint8 value);
     POpcode function;
     const char *name;
   };
 
-  void setupParserOpcodeTable();
+  void setupParserOpcodeTable ();
   const ParserOpcode *_parserOpcodeTable;
   int _parserOpcodeTableSize;
 
-  int update_setRepeat(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_checkRepeat(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setupProgram(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setNoteSpacing(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_jump(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_jumpToSubroutine(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_returnFromSubroutine(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setBaseOctave(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_stopChannel(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_playRest(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_writeAdlib(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setupNoteAndDuration(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setBaseNote(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setupSecondaryEffect1(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_stopOtherChannel(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_waitForEndOfProgram(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setupInstrument(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setupPrimaryEffect1(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_removePrimaryEffect1(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setBaseFreq(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setupPrimaryEffect2(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setPriority(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback23(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback24(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setExtraLevel1(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setupDuration(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_playNote(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setFractionalNoteSpacing(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setTempo(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_removeSecondaryEffect1(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setChannelTempo(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setExtraLevel3(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setExtraLevel2(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_changeExtraLevel2(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setAMDepth(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setVibratoDepth(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_changeExtraLevel1(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback38(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback39(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_removePrimaryEffect2(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback41(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_resetToGlobalTempo(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_nop1(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setDurationRandomness(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_changeChannelTempo(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback46(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_nop2(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setupRhythmSection(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_playRhythmSection(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_removeRhythmSection(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback51(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback52(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback53(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setSoundTrigger(uint8 *&dataptr, Channel &channel, uint8 value);
-  int update_setTempoReset(uint8 *&dataptr, Channel &channel, uint8 value);
-  int updateCallback56(uint8 *&dataptr, Channel &channel, uint8 value);
+  int update_setRepeat (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_checkRepeat (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setupProgram (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setNoteSpacing (uint8 * &dataptr, Channel & channel,
+                             uint8 value);
+  int update_jump (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_jumpToSubroutine (uint8 * &dataptr, Channel & channel,
+                               uint8 value);
+  int update_returnFromSubroutine (uint8 * &dataptr, Channel & channel,
+                                   uint8 value);
+  int update_setBaseOctave (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_stopChannel (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_playRest (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_writeAdlib (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setupNoteAndDuration (uint8 * &dataptr, Channel & channel,
+                                   uint8 value);
+  int update_setBaseNote (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setupSecondaryEffect1 (uint8 * &dataptr, Channel & channel,
+                                    uint8 value);
+  int update_stopOtherChannel (uint8 * &dataptr, Channel & channel,
+                               uint8 value);
+  int update_waitForEndOfProgram (uint8 * &dataptr, Channel & channel,
+                                  uint8 value);
+  int update_setupInstrument (uint8 * &dataptr, Channel & channel,
+                              uint8 value);
+  int update_setupPrimaryEffect1 (uint8 * &dataptr, Channel & channel,
+                                  uint8 value);
+  int update_removePrimaryEffect1 (uint8 * &dataptr, Channel & channel,
+                                   uint8 value);
+  int update_setBaseFreq (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setupPrimaryEffect2 (uint8 * &dataptr, Channel & channel,
+                                  uint8 value);
+  int update_setPriority (uint8 * &dataptr, Channel & channel, uint8 value);
+  int updateCallback23 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int updateCallback24 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setExtraLevel1 (uint8 * &dataptr, Channel & channel,
+                             uint8 value);
+  int update_setupDuration (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_playNote (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setFractionalNoteSpacing (uint8 * &dataptr, Channel & channel,
+                                       uint8 value);
+  int update_setTempo (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_removeSecondaryEffect1 (uint8 * &dataptr, Channel & channel,
+                                     uint8 value);
+  int update_setChannelTempo (uint8 * &dataptr, Channel & channel,
+                              uint8 value);
+  int update_setExtraLevel3 (uint8 * &dataptr, Channel & channel,
+                             uint8 value);
+  int update_setExtraLevel2 (uint8 * &dataptr, Channel & channel,
+                             uint8 value);
+  int update_changeExtraLevel2 (uint8 * &dataptr, Channel & channel,
+                                uint8 value);
+  int update_setAMDepth (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setVibratoDepth (uint8 * &dataptr, Channel & channel,
+                              uint8 value);
+  int update_changeExtraLevel1 (uint8 * &dataptr, Channel & channel,
+                                uint8 value);
+  int updateCallback38 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int updateCallback39 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_removePrimaryEffect2 (uint8 * &dataptr, Channel & channel,
+                                   uint8 value);
+  int updateCallback41 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_resetToGlobalTempo (uint8 * &dataptr, Channel & channel,
+                                 uint8 value);
+  int update_nop1 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setDurationRandomness (uint8 * &dataptr, Channel & channel,
+                                    uint8 value);
+  int update_changeChannelTempo (uint8 * &dataptr, Channel & channel,
+                                 uint8 value);
+  int updateCallback46 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_nop2 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setupRhythmSection (uint8 * &dataptr, Channel & channel,
+                                 uint8 value);
+  int update_playRhythmSection (uint8 * &dataptr, Channel & channel,
+                                uint8 value);
+  int update_removeRhythmSection (uint8 * &dataptr, Channel & channel,
+                                  uint8 value);
+  int updateCallback51 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int updateCallback52 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int updateCallback53 (uint8 * &dataptr, Channel & channel, uint8 value);
+  int update_setSoundTrigger (uint8 * &dataptr, Channel & channel,
+                              uint8 value);
+  int update_setTempoReset (uint8 * &dataptr, Channel & channel, uint8 value);
+  int updateCallback56 (uint8 * &dataptr, Channel & channel, uint8 value);
 
   // These variables have not yet been named, but some of them are partly
   // known nevertheless:
@@ -440,19 +488,18 @@
   Copl *opl;
 };
 
-AdlibDriver::AdlibDriver(Copl *newopl)
-  : opl(newopl)
+AdlibDriver::AdlibDriver (Copl * newopl):opl (newopl)
 {
-  setupOpcodeList();
-  setupParserOpcodeTable();
-
-  // 	_mixer = mixer;
+  setupOpcodeList ();
+  setupParserOpcodeTable ();
+
+  //    _mixer = mixer;
 
   _flags = 0;
-  // 	_adlib = makeAdlibOPL(getRate());
-  // 	assert(_adlib);
-
-  memset(_channels, 0, sizeof(_channels));
+  //    _adlib = makeAdlibOPL(getRate());
+  //    assert(_adlib);
+
+  memset (_channels, 0, sizeof (_channels));
   _soundData = 0;
 
   _vibratoAndAMDepthBits = _curRegOffset = 0;
@@ -472,87 +519,111 @@
 
   _tablePtr1 = _tablePtr2 = 0;
 
-  // 	_mixer->setupPremix(this);
-
-  // 	_samplesPerCallback = getRate() / CALLBACKS_PER_SECOND;
-  // 	_samplesPerCallbackRemainder = getRate() % CALLBACKS_PER_SECOND;
+  //    _mixer->setupPremix(this);
+
+  //    _samplesPerCallback = getRate() / CALLBACKS_PER_SECOND;
+  //    _samplesPerCallbackRemainder = getRate() % CALLBACKS_PER_SECOND;
   _samplesTillCallback = 0;
   _samplesTillCallbackRemainder = 0;
 }
 
-AdlibDriver::~AdlibDriver() {
-  // 	_mixer->setupPremix(0);
-  // 	OPLDestroy(_adlib);
-  // 	_adlib = 0;
+AdlibDriver::~AdlibDriver ()
+{
+  //    _mixer->setupPremix(0);
+  //    OPLDestroy(_adlib);
+  //    _adlib = 0;
 }
 
-int AdlibDriver::callback(int opcode, ...) {
-  // 	lock();
-  if (opcode >= _opcodesEntries || opcode < 0) {
-    warning("AdlibDriver: calling unknown opcode '%d'", opcode);
+int
+AdlibDriver::callback (int opcode, ...)
+{
+  //    lock();
+  if (opcode >= _opcodesEntries || opcode < 0)
+  {
+    warning ("AdlibDriver: calling unknown opcode '%d'", opcode);
     return 0;
   }
 
-  debugC(9, kDebugLevelSound, "Calling opcode '%s' (%d)", _opcodeList[opcode].name, opcode);
+  debugC (9, kDebugLevelSound, "Calling opcode '%s' (%d)",
+          _opcodeList[opcode].name, opcode);
 
   va_list args;
-  va_start(args, opcode);
-  int returnValue = (this->*(_opcodeList[opcode].function))(args);
-  va_end(args);
-  // 	unlock();
+  va_start (args, opcode);
+  int returnValue = (this->*(_opcodeList[opcode].function)) (args);
+  va_end (args);
+  //    unlock();
   return returnValue;
 }
 
 // Opcodes
 
-int AdlibDriver::snd_ret0x100(va_list &list) {
+int
+AdlibDriver::snd_ret0x100 (va_list & list)
+{
   return 0x100;
 }
 
-int AdlibDriver::snd_ret0x1983(va_list &list) {
+int
+AdlibDriver::snd_ret0x1983 (va_list & list)
+{
   return 0x1983;
 }
 
-int AdlibDriver::snd_initDriver(va_list &list) {
+int
+AdlibDriver::snd_initDriver (va_list & list)
+{
   _lastProcessed = _soundsPlaying = 0;
-  resetAdlibState();
+  resetAdlibState ();
   return 0;
 }
 
-int AdlibDriver::snd_deinitDriver(va_list &list) {
-  resetAdlibState();
+int
+AdlibDriver::snd_deinitDriver (va_list & list)
+{
+  resetAdlibState ();
   return 0;
 }
 
-int AdlibDriver::snd_setSoundData(va_list &list) {
-  if (_soundData) {
-    delete [] _soundData;
+int
+AdlibDriver::snd_setSoundData (va_list & list)
+{
+  if (_soundData)
+  {
+    delete[]_soundData;
     _soundData = 0;
   }
-  _soundData = va_arg(list, uint8*);
+  _soundData = va_arg (list, uint8 *);
   return 0;
 }
 
-int AdlibDriver::snd_unkOpcode1(va_list &list) {
-  warning("unimplemented snd_unkOpcode1");
+int
+AdlibDriver::snd_unkOpcode1 (va_list & list)
+{
+  warning ("unimplemented snd_unkOpcode1");
   return 0;
 }
 
-int AdlibDriver::snd_startSong(va_list &list) {
-  int songId = va_arg(list, int);
+int
+AdlibDriver::snd_startSong (va_list & list)
+{
+  int songId = va_arg (list, int);
   _flags |= 8;
   _flagTrigger = 1;
 
-  uint8 *ptr = getProgram(songId);
+  uint8 *ptr = getProgram (songId);
   uint8 chan = *ptr;
 
-  if ((songId << 1) != 0) {
-    if (chan == 9) {
+  if ((songId << 1) != 0)
+  {
+    if (chan == 9)
+    {
       if (_flags & 2)
-	return 0;
-    } else {
+        return 0;
+    }
+    else
+    {
       if (_flags & 1)
-	return 0;
+        return 0;
     }
   }
 
@@ -562,28 +633,35 @@
   return 0;
 }
 
-int AdlibDriver::snd_unkOpcode2(va_list &list) {
-  warning("unimplemented snd_unkOpcode2");
+int
+AdlibDriver::snd_unkOpcode2 (va_list & list)
+{
+  warning ("unimplemented snd_unkOpcode2");
   return 0;
 }
 
-int AdlibDriver::snd_unkOpcode3(va_list &list) {
-  int value = va_arg(list, int);
+int
+AdlibDriver::snd_unkOpcode3 (va_list & list)
+{
+  int value = va_arg (list, int);
   int loop = value;
-  if (value < 0) {
+  if (value < 0)
+  {
     value = 0;
     loop = 9;
   }
   loop -= value;
   ++loop;
 
-  while (loop--) {
+  while (loop--)
+  {
     _curChannel = value;
-    Channel &channel = _channels[_curChannel];
+    Channel & channel = _channels[_curChannel];
     channel.priority = 0;
     channel.dataptr = 0;
-    if (value != 9) {
-      noteOff(channel);
+    if (value != 9)
+    {
+      noteOff (channel);
     }
     ++value;
   }
@@ -591,98 +669,124 @@
   return 0;
 }
 
-int AdlibDriver::snd_readByte(va_list &list) {
-  int a = va_arg(list, int);
-  int b = va_arg(list, int);
-  uint8 *ptr = getProgram(a) + b;
+int
+AdlibDriver::snd_readByte (va_list & list)
+{
+  int a = va_arg (list, int);
+  int b = va_arg (list, int);
+  uint8 *ptr = getProgram (a) + b;
   return *ptr;
 }
 
-int AdlibDriver::snd_writeByte(va_list &list) {
-  int a = va_arg(list, int);
-  int b = va_arg(list, int);
-  int c = va_arg(list, int);
-  uint8 *ptr = getProgram(a) + b;
+int
+AdlibDriver::snd_writeByte (va_list & list)
+{
+  int a = va_arg (list, int);
+  int b = va_arg (list, int);
+  int c = va_arg (list, int);
+  uint8 *ptr = getProgram (a) + b;
   uint8 oldValue = *ptr;
-  *ptr = (uint8)c;
+  *ptr = (uint8) c;
   return oldValue;
 }
 
-int AdlibDriver::snd_getSoundTrigger(va_list &list) {
+int
+AdlibDriver::snd_getSoundTrigger (va_list & list)
+{
   return _soundTrigger;
 }
 
-int AdlibDriver::snd_unkOpcode4(va_list &list) {
-  warning("unimplemented snd_unkOpcode4");
+int
+AdlibDriver::snd_unkOpcode4 (va_list & list)
+{
+  warning ("unimplemented snd_unkOpcode4");
   return 0;
 }
 
-int AdlibDriver::snd_dummy(va_list &list) {
+int
+AdlibDriver::snd_dummy (va_list & list)
+{
   return 0;
 }
 
-int AdlibDriver::snd_getNullvar4(va_list &list) {
-  warning("unimplemented snd_getNullvar4");
+int
+AdlibDriver::snd_getNullvar4 (va_list & list)
+{
+  warning ("unimplemented snd_getNullvar4");
   return 0;
 }
 
-int AdlibDriver::snd_setNullvar3(va_list &list) {
-  warning("unimplemented snd_setNullvar3");
+int
+AdlibDriver::snd_setNullvar3 (va_list & list)
+{
+  warning ("unimplemented snd_setNullvar3");
   return 0;
 }
 
-int AdlibDriver::snd_setFlag(va_list &list) {
+int
+AdlibDriver::snd_setFlag (va_list & list)
+{
   int oldFlags = _flags;
-  _flags |= va_arg(list, int);
+  _flags |= va_arg (list, int);
   return oldFlags;
 }
 
-int AdlibDriver::snd_clearFlag(va_list &list) {
+int
+AdlibDriver::snd_clearFlag (va_list & list)
+{
   int oldFlags = _flags;
-  _flags &= ~(va_arg(list, int));
+  _flags &= ~(va_arg (list, int));
   return oldFlags;
 }
 
 // timer callback
 
-void AdlibDriver::callback() {
-  // 	lock();
+void
+AdlibDriver::callback ()
+{
+  //    lock();
   --_flagTrigger;
   if (_flagTrigger < 0)
     _flags &= ~8;
-  setupPrograms();
-  executePrograms();
+  setupPrograms ();
+  executePrograms ();
 
   uint8 temp = _unkValue3;
   _unkValue3 += _tempo;
-  if (_unkValue3 < temp) {
-    if (!(--_unkValue2)) {
+  if (_unkValue3 < temp)
+  {
+    if (!(--_unkValue2))
+    {
       _unkValue2 = _unkValue1;
       ++_unkValue4;
     }
   }
-  // 	unlock();
+  //    unlock();
 }
 
-void AdlibDriver::setupPrograms() {
-  while (_lastProcessed != _soundsPlaying) {
-    uint8 *ptr = getProgram(_soundIdTable[_lastProcessed]);
+void
+AdlibDriver::setupPrograms ()
+{
+  while (_lastProcessed != _soundsPlaying)
+  {
+    uint8 *ptr = getProgram (_soundIdTable[_lastProcessed]);
     uint8 chan = *ptr++;
     uint8 priority = *ptr++;
 
     // Only start this sound if its priority is higher than the one
     // already playing.
 
-    Channel &channel = _channels[chan];
-
-    if (priority >= channel.priority) {
-      initChannel(channel);
+    Channel & channel = _channels[chan];
+
+    if (priority >= channel.priority)
+    {
+      initChannel (channel);
       channel.priority = priority;
       channel.dataptr = ptr;
       channel.tempo = 0xFF;
       channel.position = 0xFF;
       channel.duration = 1;
-      unkOutput2(chan);
+      unkOutput2 (chan);
     }
 
     ++_lastProcessed;
@@ -724,116 +828,147 @@
 // effects callbacks. The final opcode in a set can prevent this, if it's a
 // function and it returns anything other than 1.
 
-void AdlibDriver::executePrograms() {
+void
+AdlibDriver::executePrograms ()
+{
   // Each channel runs its own program. There are ten channels: One for
   // each Adlib channel (0-8), plus one "control channel" (9) which is
   // the one that tells the other channels what to do. 
 
-  for (_curChannel = 9; _curChannel >= 0; --_curChannel) {
+  for (_curChannel = 9; _curChannel >= 0; --_curChannel)
+  {
     int result = 1;
 
-    if (!_channels[_curChannel].dataptr) {
+    if (!_channels[_curChannel].dataptr)
+    {
       continue;
     }
-	
-    Channel &channel = _channels[_curChannel];
+
+    Channel & channel = _channels[_curChannel];
     _curRegOffset = _regOffset[_curChannel];
 
-    if (channel.tempoReset) {
+    if (channel.tempoReset)
+    {
       channel.tempo = _tempo;
     }
 
     uint8 backup = channel.position;
     channel.position += channel.tempo;
-    if (channel.position < backup) {
-      if (--channel.duration) {
-	if (channel.duration == channel.spacing2)
-	  noteOff(channel);
-	if (channel.duration == channel.spacing1 && _curChannel != 9)
-	  noteOff(channel);
-      } else {
-	// An opcode is not allowed to modify its own
-	// data pointer except through the 'dataptr'
-	// parameter. To enforce that, we have to work
-	// on a copy of the data pointer.
-	//
-	// This fixes a subtle music bug where the
-	// wrong music would play when getting the
-	// quill in Kyra 1.
-	uint8 *dataptr = channel.dataptr;
-	while (dataptr) {
-	  uint8 opcode = *dataptr++;
-	  uint8 param = *dataptr++;
-
-	  if (opcode & 0x80) {
-	    opcode &= 0x7F;
-	    if (opcode >= _parserOpcodeTableSize)
-	      opcode = _parserOpcodeTableSize - 1;
-	    debugC(9, kDebugLevelSound, "Calling opcode '%s' (%d) (channel: %d)", _parserOpcodeTable[opcode].name, opcode, _curChannel);
-	    result = (this->*(_parserOpcodeTable[opcode].function))(dataptr, channel, param);
-	    channel.dataptr = dataptr;
-	    if (result)
-	      break;
-	  } else {
-	    debugC(9, kDebugLevelSound, "Note on opcode 0x%02X (duration: %d) (channel: %d)", opcode, param, _curChannel);
-	    setupNote(opcode, channel);
-	    noteOn(channel);
-	    setupDuration(param, channel);
-	    if (param) {
-	      channel.dataptr = dataptr;
-	      break;
-	    }
-	  }
-	}
+    if (channel.position < backup)
+    {
+      if (--channel.duration)
+      {
+        if (channel.duration == channel.spacing2)
+          noteOff (channel);
+        if (channel.duration == channel.spacing1 && _curChannel != 9)
+          noteOff (channel);
+      }
+      else
+      {
+        // An opcode is not allowed to modify its own
+        // data pointer except through the 'dataptr'
+        // parameter. To enforce that, we have to work
+        // on a copy of the data pointer.
+        //
+        // This fixes a subtle music bug where the
+        // wrong music would play when getting the
+        // quill in Kyra 1.
+        uint8 *dataptr = channel.dataptr;
+        while (dataptr)
+        {
+          uint8 opcode = *dataptr++;
+          uint8 param = *dataptr++;
+
+          if (opcode & 0x80)
+          {
+            opcode &= 0x7F;
+            if (opcode >= _parserOpcodeTableSize)
+              opcode = _parserOpcodeTableSize - 1;
+            debugC (9, kDebugLevelSound,
+                    "Calling opcode '%s' (%d) (channel: %d)",
+                    _parserOpcodeTable[opcode].name, opcode, _curChannel);
+            result =
+              (this->*(_parserOpcodeTable[opcode].function)) (dataptr,
+                                                              channel, param);
+            channel.dataptr = dataptr;
+            if (result)
+              break;
+          }
+          else
+          {
+            debugC (9, kDebugLevelSound,
+                    "Note on opcode 0x%02X (duration: %d) (channel: %d)",
+                    opcode, param, _curChannel);
+            setupNote (opcode, channel);
+            noteOn (channel);
+            setupDuration (param, channel);
+            if (param)
+            {
+              channel.dataptr = dataptr;
+              break;
+            }
+          }
+        }
       }
     }
 
-    if (result == 1) {
+    if (result == 1)
+    {
       if (channel.primaryEffect)
-	(this->*(channel.primaryEffect))(channel);
+        (this->*(channel.primaryEffect)) (channel);
       if (channel.secondaryEffect)
-	(this->*(channel.secondaryEffect))(channel);
+        (this->*(channel.secondaryEffect)) (channel);
     }
   }
 }
 
 // 
 
-void AdlibDriver::resetAdlibState() {
-  debugC(9, kDebugLevelSound, "resetAdlibState()");
+void
+AdlibDriver::resetAdlibState ()
+{
+  debugC (9, kDebugLevelSound, "resetAdlibState()");
   _rnd = 0x1234;
 
   // Authorize the control of the waveforms
-  writeOPL(0x01, 0x20);
+  writeOPL (0x01, 0x20);
 
   // Select FM music mode
-  writeOPL(0x08, 0x00);
+  writeOPL (0x08, 0x00);
 
   // I would guess the main purpose of this is to turn off the rhythm,
   // thus allowing us to use 9 melodic voices instead of 6.
-  writeOPL(0xBD, 0x00);
+  writeOPL (0xBD, 0x00);
 
   int loop = 10;
-  while (loop--) {
-    if (loop != 9) {
+  while (loop--)
+  {
+    if (loop != 9)
+    {
       // Silence the channel
-      writeOPL(0x40 + _regOffset[loop], 0x3F);
-      writeOPL(0x43 + _regOffset[loop], 0x3F);
+      writeOPL (0x40 + _regOffset[loop], 0x3F);
+      writeOPL (0x43 + _regOffset[loop], 0x3F);
     }
-    initChannel(_channels[loop]);
+    initChannel (_channels[loop]);
   }
 }
 
 // Old calling style: output0x388(0xABCD)
 // New calling style: writeOPL(0xAB, 0xCD)
 
-void AdlibDriver::writeOPL(byte reg, byte val) {
-  opl->write(reg, val);
+void
+AdlibDriver::writeOPL (byte reg, byte val)
+{
+  opl->write (reg, val);
 }
 
-void AdlibDriver::initChannel(Channel &channel) {
-  debugC(9, kDebugLevelSound, "initChannel(%lu)", (long)(&channel - _channels));
-  memset(&channel.dataptr, 0, sizeof(Channel) - ((char*)&channel.dataptr - (char*)&channel));
+void
+AdlibDriver::initChannel (Channel & channel)
+{
+  debugC (9, kDebugLevelSound, "initChannel(%lu)",
+          (long) (&channel - _channels));
+  memset (&channel.dataptr, 0,
+          sizeof (Channel) - ((char *) &channel.dataptr - (char *) &channel));
 
   channel.tempo = 0xFF;
   channel.priority = 0;
@@ -843,8 +978,10 @@
   channel.spacing1 = 1;
 }
 
-void AdlibDriver::noteOff(Channel &channel) {
-  debugC(9, kDebugLevelSound, "noteOff(%lu)", (long)(&channel - _channels));
+void
+AdlibDriver::noteOff (Channel & channel)
+{
+  debugC (9, kDebugLevelSound, "noteOff(%lu)", (long) (&channel - _channels));
 
   // The control channel has no corresponding Adlib channel
 
@@ -860,11 +997,13 @@
   channel.regBx &= 0xDF;
 
   // Octave / F-Number / Key-On
-  writeOPL(0xB0 + _curChannel, channel.regBx);
+  writeOPL (0xB0 + _curChannel, channel.regBx);
 }
 
-void AdlibDriver::unkOutput2(uint8 chan) {
-  debugC(9, kDebugLevelSound, "unkOutput2(%d)", chan);
+void
+AdlibDriver::unkOutput2 (uint8 chan)
+{
+  debugC (9, kDebugLevelSound, "unkOutput2(%d)", chan);
 
   // The control channel has no corresponding Adlib channel
 
@@ -882,13 +1021,13 @@
   // The channel is cleared: First the attack/delay rate, then the
   // sustain level/release rate, and finally the note is turned off.
 
-  writeOPL(0x60 + offset, 0xFF);
-  writeOPL(0x63 + offset, 0xFF);
-
-  writeOPL(0x80 + offset, 0xFF);
-  writeOPL(0x83 + offset, 0xFF);
-
-  writeOPL(0xB0 + chan, 0x00);
+  writeOPL (0x60 + offset, 0xFF);
+  writeOPL (0x63 + offset, 0xFF);
+
+  writeOPL (0x80 + offset, 0xFF);
+  writeOPL (0x83 + offset, 0xFF);
+
+  writeOPL (0xB0 + chan, 0x00);
 
   // ...and then the note is turned on again, with whatever value is
   // still lurking in the A0 + chan register, but everything else -
@@ -907,14 +1046,16 @@
   // http://www.advsys.net/ken - and as part of AdPlug) also seems to be
   // immune, but is apparently not as feature complete as MAME's.
 
-  writeOPL(0xB0 + chan, 0x20);
+  writeOPL (0xB0 + chan, 0x20);
 }
 
 // I believe this is a random number generator. It actually does seem to
 // generate an even distribution of almost all numbers from 0 through 65535,
 // though in my tests some numbers were never generated.
 
-uint16 AdlibDriver::getRandomNr() {
+uint16
+AdlibDriver::getRandomNr ()
+{
   _rnd += 0x9248;
   uint16 lowBits = _rnd & 7;
   _rnd >>= 3;
@@ -922,13 +1063,19 @@
   return _rnd;
 }
 
-void AdlibDriver::setupDuration(uint8 duration, Channel &channel) {
-  debugC(9, kDebugLevelSound, "setupDuration(%d, %lu)", duration, (long)(&channel - _channels));
-  if (channel.durationRandomness) {
-    channel.duration = duration + (getRandomNr() & channel.durationRandomness);
+void
+AdlibDriver::setupDuration (uint8 duration, Channel & channel)
+{
+  debugC (9, kDebugLevelSound, "setupDuration(%d, %lu)", duration,
+          (long) (&channel - _channels));
+  if (channel.durationRandomness)
+  {
+    channel.duration =
+      duration + (getRandomNr () & channel.durationRandomness);
     return;
   }
-  if (channel.fractionalSpacing) {
+  if (channel.fractionalSpacing)
+  {
     channel.spacing2 = (duration >> 3) * channel.fractionalSpacing;
   }
   channel.duration = duration;
@@ -937,8 +1084,11 @@
 // This function may or may not play the note. It's usually followed by a call
 // to noteOn(), which will always play the current note.
 
-void AdlibDriver::setupNote(uint8 rawNote, Channel &channel, bool flag) {
-  debugC(9, kDebugLevelSound, "setupNote(%d, %lu)", rawNote, (long)(&channel - _channels));
+void
+AdlibDriver::setupNote (uint8 rawNote, Channel & channel, bool flag)
+{
+  debugC (9, kDebugLevelSound, "setupNote(%d, %lu)", rawNote,
+          (long) (&channel - _channels));
 
   channel.rawNote = rawNote;
 
@@ -948,10 +1098,13 @@
   // There are only twelve notes. If we go outside that, we have to
   // adjust the note and octave.
 
-  if (note >= 12) {
+  if (note >= 12)
+  {
     note -= 12;
     octave++;
-  } else if (note < 0) {
+  }
+  else if (note < 0)
+  {
     note += 12;
     octave--;
   }
@@ -971,32 +1124,41 @@
   // When called from callback 41, the behaviour is slightly different:
   // We adjust the frequency, even when channel.unk16 is 0.
 
-  if (channel.unk16 || flag) {
+  if (channel.unk16 || flag)
+  {
     const uint8 *table;
 
-    if (channel.unk16 >= 0) {
+    if (channel.unk16 >= 0)
+    {
       table = _unkTables[(channel.rawNote & 0x0F) + 2];
       freq += table[channel.unk16];
-    } else {
+    }
+    else
+    {
       table = _unkTables[channel.rawNote & 0x0F];
       freq -= table[-channel.unk16];
     }
   }
 
   channel.regAx = freq & 0xFF;
-  channel.regBx = (channel.regBx & 0x20) | (octave << 2) | ((freq >> 8) & 0x03);
+  channel.regBx =
+    (channel.regBx & 0x20) | (octave << 2) | ((freq >> 8) & 0x03);
 
   // Keep the note on or off
-  writeOPL(0xA0 + _curChannel, channel.regAx);
-  writeOPL(0xB0 + _curChannel, channel.regBx);
+  writeOPL (0xA0 + _curChannel, channel.regAx);
+  writeOPL (0xB0 + _curChannel, channel.regBx);
 }
 
-void AdlibDriver::setupInstrument(uint8 regOffset, uint8 *dataptr, Channel &channel) {
-  debugC(9, kDebugLevelSound, "setupInstrument(%d, %p, %lu)", regOffset, (const void *)dataptr, (long)(&channel - _channels));
+void
+AdlibDriver::setupInstrument (uint8 regOffset, uint8 * dataptr,
+                              Channel & channel)
+{
+  debugC (9, kDebugLevelSound, "setupInstrument(%d, %p, %lu)", regOffset,
+          (const void *) dataptr, (long) (&channel - _channels));
   // Amplitude Modulation / Vibrato / Envelope Generator Type /
   // Keyboard Scaling Rate / Modulator Frequency Multiple
-  writeOPL(0x20 + regOffset, *dataptr++);
-  writeOPL(0x23 + regOffset, *dataptr++);
+  writeOPL (0x20 + regOffset, *dataptr++);
+  writeOPL (0x23 + regOffset, *dataptr++);
 
   uint8 temp = *dataptr++;
 
@@ -1005,7 +1167,7 @@
   // It is very likely that _curChannel really does refer to the same
   // channel as regOffset, but there's only one Cx register per channel.
 
-  writeOPL(0xC0 + _curChannel, temp);
+  writeOPL (0xC0 + _curChannel, temp);
 
   // The algorithm bit. I don't pretend to understand this fully, but
   // "If set to 0, operator 1 modulates operator 2. In this case,
@@ -1016,35 +1178,37 @@
   channel.twoChan = temp & 1;
 
   // Waveform Select
-  writeOPL(0xE0 + regOffset, *dataptr++);
-  writeOPL(0xE3 + regOffset, *dataptr++);
+  writeOPL (0xE0 + regOffset, *dataptr++);
+  writeOPL (0xE3 + regOffset, *dataptr++);
 
   channel.opLevel1 = *dataptr++;
   channel.opLevel2 = *dataptr++;
 
   // Level Key Scaling / Total Level
-  writeOPL(0x40 + regOffset, calculateOpLevel1(channel));
-  writeOPL(0x43 + regOffset, calculateOpLevel2(channel));
+  writeOPL (0x40 + regOffset, calculateOpLevel1 (channel));
+  writeOPL (0x43 + regOffset, calculateOpLevel2 (channel));
 
   // Attack Rate / Decay Rate
-  writeOPL(0x60 + regOffset, *dataptr++);
-  writeOPL(0x63 + regOffset, *dataptr++);
+  writeOPL (0x60 + regOffset, *dataptr++);
+  writeOPL (0x63 + regOffset, *dataptr++);
 
   // Sustain Level / Release Rate
-  writeOPL(0x80 + regOffset, *dataptr++);
-  writeOPL(0x83 + regOffset, *dataptr++);
+  writeOPL (0x80 + regOffset, *dataptr++);
+  writeOPL (0x83 + regOffset, *dataptr++);
 }
 
 // Apart from playing the note, this function also updates the variables for
 // primary effect 2.
 
-void AdlibDriver::noteOn(Channel &channel) {
-  debugC(9, kDebugLevelSound, "noteOn(%lu)", (long)(&channel - _channels));
+void
+AdlibDriver::noteOn (Channel & channel)
+{
+  debugC (9, kDebugLevelSound, "noteOn(%lu)", (long) (&channel - _channels));
 
   // The "note on" bit is set, and the current note is played.
 
   channel.regBx |= 0x20;
-  writeOPL(0xB0 + _curChannel, channel.regBx);
+  writeOPL (0xB0 + _curChannel, channel.regBx);
 
   int8 shift = 9 - channel.unk33;
   uint16 temp = channel.regAx | (channel.regBx << 8);
@@ -1052,13 +1216,16 @@
   channel.unk38 = channel.unk36;
 }
 
-void AdlibDriver::adjustVolume(Channel &channel) {
-  debugC(9, kDebugLevelSound, "adjustVolume(%lu)", (long)(&channel - _channels));
+void
+AdlibDriver::adjustVolume (Channel & channel)
+{
+  debugC (9, kDebugLevelSound, "adjustVolume(%lu)",
+          (long) (&channel - _channels));
   // Level Key Scaling / Total Level
 
-  writeOPL(0x43 + _regOffset[_curChannel], calculateOpLevel2(channel));
+  writeOPL (0x43 + _regOffset[_curChannel], calculateOpLevel2 (channel));
   if (channel.twoChan)
-    writeOPL(0x40 + _regOffset[_curChannel], calculateOpLevel1(channel));
+    writeOPL (0x40 + _regOffset[_curChannel], calculateOpLevel1 (channel));
 }
 
 // This is presumably only used for some sound effects, e.g. Malcolm blowing up
@@ -1077,8 +1244,11 @@
 // unk30 - modifies the frequency
 // unk31 - determines how often the notes are played
 
-void AdlibDriver::primaryEffect1(Channel &channel) {
-  debugC(9, kDebugLevelSound, "Calling primaryEffect1 (channel: %d)", _curChannel);
+void
+AdlibDriver::primaryEffect1 (Channel & channel)
+{
+  debugC (9, kDebugLevelSound, "Calling primaryEffect1 (channel: %d)",
+          _curChannel);
   uint8 temp = channel.unk31;
   channel.unk31 += channel.unk29;
   if (channel.unk31 >= temp)
@@ -1091,27 +1261,32 @@
   // that it won't be affected by any of the calculations below.
   uint16 unk2 = ((channel.regBx & 0x20) << 8) | (channel.regBx & 0x1C);
 
-  int16 unk3 = (int16)channel.unk30;
-
-  if (unk3 >= 0) {
+  int16 unk3 = (int16) channel.unk30;
+
+  if (unk3 >= 0)
+  {
     unk1 += unk3;
-    if (unk1 >= 734) {
+    if (unk1 >= 734)
+    {
       // The new frequency is too high. Shift it down and go
       // up one octave.
       unk1 >>= 1;
       if (!(unk1 & 0x3FF))
-	++unk1;
+        ++unk1;
       unk2 = (unk2 & 0xFF00) | ((unk2 + 4) & 0xFF);
       unk2 &= 0xFF1C;
     }
-  } else {
+  }
+  else
+  {
     unk1 += unk3;
-    if (unk1 < 388) {
+    if (unk1 < 388)
+    {
       // The new frequency is too low. Shift it up and go
       // down one octave.
       unk1 <<= 1;
       if (!(unk1 & 0x3FF))
-	--unk1;
+        --unk1;
       unk2 = (unk2 & 0xFF00) | ((unk2 - 4) & 0xFF);
       unk2 &= 0xFF1C;
     }
@@ -1120,7 +1295,7 @@
   // Make sure that the new frequency is still a 10-bit value.
   unk1 &= 0x3FF;
 
-  writeOPL(0xA0 + _curChannel, unk1 & 0xFF);
+  writeOPL (0xA0 + _curChannel, unk1 & 0xFF);
   channel.regAx = unk1 & 0xFF;
 
   // Shift down the "note on" bit again.
@@ -1128,7 +1303,7 @@
   value |= (unk2 >> 8) & 0xFF;
   value |= unk2 & 0xFF;
 
-  writeOPL(0xB0 + _curChannel, value);
+  writeOPL (0xB0 + _curChannel, value);
   channel.regBx = value;
 }
 
@@ -1160,18 +1335,24 @@
 // Note that unk41 is never initialised. Not that it should matter much, but it
 // is a bit sloppy.
 
-void AdlibDriver::primaryEffect2(Channel &channel) {
-  debugC(9, kDebugLevelSound, "Calling primaryEffect2 (channel: %d)", _curChannel);
-  if (channel.unk38) {
+void
+AdlibDriver::primaryEffect2 (Channel & channel)
+{
+  debugC (9, kDebugLevelSound, "Calling primaryEffect2 (channel: %d)",
+          _curChannel);
+  if (channel.unk38)
+  {
     --channel.unk38;
     return;
   }
 
   uint8 temp = channel.unk41;
   channel.unk41 += channel.unk32;
-  if (channel.unk41 < temp) {
+  if (channel.unk41 < temp)
+  {
     uint16 unk1 = channel.unk37;
-    if (!(--channel.unk34)) {
+    if (!(--channel.unk34))
+    {
       unk1 ^= 0xFFFF;
       ++unk1;
       channel.unk37 = unk1;
@@ -1180,13 +1361,13 @@
 
     uint16 unk2 = (channel.regAx | (channel.regBx << 8)) & 0x3FF;
     unk2 += unk1;
-		
+
     channel.regAx = unk2 & 0xFF;
     channel.regBx = (channel.regBx & 0xFC) | (unk2 >> 8);
 
     // Octave / F-Number / Key-On
-    writeOPL(0xA0 + _curChannel, channel.regAx);
-    writeOPL(0xB0 + _curChannel, channel.regBx);
+    writeOPL (0xA0 + _curChannel, channel.regAx);
+    writeOPL (0xB0 + _curChannel, channel.regBx);
   }
 }
 
@@ -1215,22 +1396,31 @@
 // unk22 -  the operation to perform
 // offset - the offset to the data chunk
 
-void AdlibDriver::secondaryEffect1(Channel &channel) {
-  debugC(9, kDebugLevelSound, "Calling secondaryEffect1 (channel: %d)", _curChannel);
+void
+AdlibDriver::secondaryEffect1 (Channel & channel)
+{
+  debugC (9, kDebugLevelSound, "Calling secondaryEffect1 (channel: %d)",
+          _curChannel);
   uint8 temp = channel.unk18;
   channel.unk18 += channel.unk19;
-  if (channel.unk18 < temp) {
-    if (--channel.unk21 < 0) {
+  if (channel.unk18 < temp)
+  {
+    if (--channel.unk21 < 0)
+    {
       channel.unk21 = channel.unk20;
     }
-    writeOPL(channel.unk22 + _curRegOffset, _soundData[channel.offset + channel.unk21]);
+    writeOPL (channel.unk22 + _curRegOffset,
+              _soundData[channel.offset + channel.unk21]);
   }
 }
 
-uint8 AdlibDriver::calculateOpLevel1(Channel &channel) {
+uint8
+AdlibDriver::calculateOpLevel1 (Channel & channel)
+{
   int8 value = channel.opLevel1 & 0x3F;
 
-  if (channel.twoChan) {
+  if (channel.twoChan)
+  {
     value += channel.opExtraLevel1;
     value += channel.opExtraLevel2;
     value += channel.opExtraLevel3;
@@ -1238,10 +1428,12 @@
 
   // Preserve the scaling level bits from opLevel1
 
-  return checkValue(value) | (channel.opLevel1 & 0xC0);
+  return checkValue (value) | (channel.opLevel1 & 0xC0);
 }
 
-uint8 AdlibDriver::calculateOpLevel2(Channel &channel) {
+uint8
+AdlibDriver::calculateOpLevel2 (Channel & channel)
+{
   int8 value = channel.opLevel2 & 0x3F;
 
   value += channel.opExtraLevel1;
@@ -1250,135 +1442,189 @@
 
   // Preserve the scaling level bits from opLevel2
 
-  return checkValue(value) | (channel.opLevel2 & 0xC0);
+  return checkValue (value) | (channel.opLevel2 & 0xC0);
 }
 
 // parser opcodes
 
-int AdlibDriver::update_setRepeat(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setRepeat (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   channel.repeatCounter = value;
   return 0;
 }
 
-int AdlibDriver::update_checkRepeat(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_checkRepeat (uint8 * &dataptr, Channel & channel,
+                                 uint8 value)
+{
   ++dataptr;
-  if (--channel.repeatCounter) {
-    int16 add = READ_LE_UINT16(dataptr - 2);
+  if (--channel.repeatCounter)
+  {
+    int16 add = READ_LE_UINT16 (dataptr - 2);
     dataptr += add;
   }
   return 0;
 }
 
-int AdlibDriver::update_setupProgram(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setupProgram (uint8 * &dataptr, Channel & channel,
+                                  uint8 value)
+{
   if (value == 0xFF)
     return 0;
 
-  uint8 *ptr = getProgram(value);
+  uint8 *ptr = getProgram (value);
   uint8 chan = *ptr++;
   uint8 priority = *ptr++;
 
-  Channel &channel2 = _channels[chan];
-
-  if (priority >= channel2.priority) {
+  Channel & channel2 = _channels[chan];
+
+  if (priority >= channel2.priority)
+  {
     _flagTrigger = 1;
     _flags |= 8;
-    initChannel(channel2);
+    initChannel (channel2);
     channel2.priority = priority;
     channel2.dataptr = ptr;
     channel2.tempo = 0xFF;
     channel2.position = 0xFF;
     channel2.duration = 1;
-    unkOutput2(chan);
+    unkOutput2 (chan);
   }
 
   return 0;
 }
 
-int AdlibDriver::update_setNoteSpacing(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setNoteSpacing (uint8 * &dataptr, Channel & channel,
+                                    uint8 value)
+{
   channel.spacing1 = value;
   return 0;
 }
 
-int AdlibDriver::update_jump(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_jump (uint8 * &dataptr, Channel & channel, uint8 value)
+{
   --dataptr;
-  int16 add = READ_LE_UINT16(dataptr); dataptr += 2;
+  int16 add = READ_LE_UINT16 (dataptr);
+  dataptr += 2;
   dataptr += add;
   return 0;
 }
 
-int AdlibDriver::update_jumpToSubroutine(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_jumpToSubroutine (uint8 * &dataptr, Channel & channel,
+                                      uint8 value)
+{
   --dataptr;
-  int16 add = READ_LE_UINT16(dataptr); dataptr += 2;
+  int16 add = READ_LE_UINT16 (dataptr);
+  dataptr += 2;
   channel.dataptrStack[channel.dataptrStackPos++] = dataptr;
   dataptr += add;
   return 0;
 }
 
-int AdlibDriver::update_returnFromSubroutine(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_returnFromSubroutine (uint8 * &dataptr, Channel & channel,
+                                          uint8 value)
+{
   dataptr = channel.dataptrStack[--channel.dataptrStackPos];
   return 0;
 }
 
-int AdlibDriver::update_setBaseOctave(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setBaseOctave (uint8 * &dataptr, Channel & channel,
+                                   uint8 value)
+{
   channel.baseOctave = value;
   return 0;
 }
 
-int AdlibDriver::update_stopChannel(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_stopChannel (uint8 * &dataptr, Channel & channel,
+                                 uint8 value)
+{
   channel.priority = 0;
-  if (_curChannel != 9) {
-    noteOff(channel);
+  if (_curChannel != 9)
+  {
+    noteOff (channel);
   }
   dataptr = 0;
   return 2;
 }
 
-int AdlibDriver::update_playRest(uint8 *&dataptr, Channel &channel, uint8 value) {
-  setupDuration(value, channel);
-  noteOff(channel);
+int
+AdlibDriver::update_playRest (uint8 * &dataptr, Channel & channel,
+                              uint8 value)
+{
+  setupDuration (value, channel);
+  noteOff (channel);
   return (value != 0);
 }
 
-int AdlibDriver::update_writeAdlib(uint8 *&dataptr, Channel &channel, uint8 value) {
-  writeOPL(value, *dataptr++);
+int
+AdlibDriver::update_writeAdlib (uint8 * &dataptr, Channel & channel,
+                                uint8 value)
+{
+  writeOPL (value, *dataptr++);
   return 0;
 }
 
-int AdlibDriver::update_setupNoteAndDuration(uint8 *&dataptr, Channel &channel, uint8 value) {
-  setupNote(value, channel);
+int
+AdlibDriver::update_setupNoteAndDuration (uint8 * &dataptr, Channel & channel,
+                                          uint8 value)
+{
+  setupNote (value, channel);
   value = *dataptr++;
-  setupDuration(value, channel);
+  setupDuration (value, channel);
   return (value != 0);
 }
 
-int AdlibDriver::update_setBaseNote(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setBaseNote (uint8 * &dataptr, Channel & channel,
+                                 uint8 value)
+{
   channel.baseNote = value;
   return 0;
 }
 
-int AdlibDriver::update_setupSecondaryEffect1(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setupSecondaryEffect1 (uint8 * &dataptr,
+                                           Channel & channel, uint8 value)
+{
   channel.unk18 = value;
   channel.unk19 = value;
   channel.unk20 = channel.unk21 = *dataptr++;
   channel.unk22 = *dataptr++;
-  channel.offset = READ_LE_UINT16(dataptr); dataptr += 2;
+  channel.offset = READ_LE_UINT16 (dataptr);
+  dataptr += 2;
   channel.secondaryEffect = &AdlibDriver::secondaryEffect1;
   return 0;
 }
 
-int AdlibDriver::update_stopOtherChannel(uint8 *&dataptr, Channel &channel, uint8 value) {
-  Channel &channel2 = _channels[value];
+int
+AdlibDriver::update_stopOtherChannel (uint8 * &dataptr, Channel & channel,
+                                      uint8 value)
+{
+  Channel & channel2 = _channels[value];
   channel2.duration = 0;
   channel2.priority = 0;
   channel2.dataptr = 0;
   return 0;
 }
 
-int AdlibDriver::update_waitForEndOfProgram(uint8 *&dataptr, Channel &channel, uint8 value) {
-  uint8 *ptr = getProgram(value);
+int
+AdlibDriver::update_waitForEndOfProgram (uint8 * &dataptr, Channel & channel,
+                                         uint8 value)
+{
+  uint8 *ptr = getProgram (value);
   uint8 chan = *ptr;
 
-  if (!_channels[chan].dataptr) {
+  if (!_channels[chan].dataptr)
+  {
     return 0;
   }
 
@@ -1386,33 +1632,48 @@
   return 2;
 }
 
-int AdlibDriver::update_setupInstrument(uint8 *&dataptr, Channel &channel, uint8 value) {
-  setupInstrument(_curRegOffset, getInstrument(value), channel);
+int
+AdlibDriver::update_setupInstrument (uint8 * &dataptr, Channel & channel,
+                                     uint8 value)
+{
+  setupInstrument (_curRegOffset, getInstrument (value), channel);
   return 0;
 }
 
-int AdlibDriver::update_setupPrimaryEffect1(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setupPrimaryEffect1 (uint8 * &dataptr, Channel & channel,
+                                         uint8 value)
+{
   channel.unk29 = value;
-  channel.unk30 = READ_BE_UINT16(dataptr);
+  channel.unk30 = READ_BE_UINT16 (dataptr);
   dataptr += 2;
   channel.primaryEffect = &AdlibDriver::primaryEffect1;
   channel.unk31 = 0xFF;
   return 0;
 }
 
-int AdlibDriver::update_removePrimaryEffect1(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_removePrimaryEffect1 (uint8 * &dataptr, Channel & channel,
+                                          uint8 value)
+{
   --dataptr;
   channel.primaryEffect = 0;
   channel.unk30 = 0;
   return 0;
 }
 
-int AdlibDriver::update_setBaseFreq(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setBaseFreq (uint8 * &dataptr, Channel & channel,
+                                 uint8 value)
+{
   channel.baseFreq = value;
   return 0;
 }
 
-int AdlibDriver::update_setupPrimaryEffect2(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setupPrimaryEffect2 (uint8 * &dataptr, Channel & channel,
+                                         uint8 value)
+{
   channel.unk32 = value;
   channel.unk33 = *dataptr++;
   uint8 temp = *dataptr++;
@@ -1423,12 +1684,18 @@
   return 0;
 }
 
-int AdlibDriver::update_setPriority(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setPriority (uint8 * &dataptr, Channel & channel,
+                                 uint8 value)
+{
   channel.priority = value;
   return 0;
 }
 
-int AdlibDriver::updateCallback23(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::updateCallback23 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   value >>= 1;
   _unkValue1 = _unkValue2 = value;
   _unkValue3 = 0xFF;
@@ -1436,15 +1703,21 @@
   return 0;
 }
 
-int AdlibDriver::updateCallback24(uint8 *&dataptr, Channel &channel, uint8 value) {
-  if (_unkValue5) {
-    if (_unkValue4 & value) {
+int
+AdlibDriver::updateCallback24 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
+  if (_unkValue5)
+  {
+    if (_unkValue4 & value)
+    {
       _unkValue5 = 0;
       return 0;
     }
   }
 
-  if (!(value & _unkValue4)) {
+  if (!(value & _unkValue4))
+  {
     ++_unkValue5;
   }
 
@@ -1453,68 +1726,98 @@
   return 2;
 }
 
-int AdlibDriver::update_setExtraLevel1(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setExtraLevel1 (uint8 * &dataptr, Channel & channel,
+                                    uint8 value)
+{
   channel.opExtraLevel1 = value;
-  adjustVolume(channel);
+  adjustVolume (channel);
   return 0;
 }
 
-int AdlibDriver::update_setupDuration(uint8 *&dataptr, Channel &channel, uint8 value) {
-  setupDuration(value, channel);
+int
+AdlibDriver::update_setupDuration (uint8 * &dataptr, Channel & channel,
+                                   uint8 value)
+{
+  setupDuration (value, channel);
   return (value != 0);
 }
 
-int AdlibDriver::update_playNote(uint8 *&dataptr, Channel &channel, uint8 value) {
-  setupDuration(value, channel);
-  noteOn(channel);
+int
+AdlibDriver::update_playNote (uint8 * &dataptr, Channel & channel,
+                              uint8 value)
+{
+  setupDuration (value, channel);
+  noteOn (channel);
   return (value != 0);
 }
 
-int AdlibDriver::update_setFractionalNoteSpacing(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setFractionalNoteSpacing (uint8 * &dataptr,
+                                              Channel & channel, uint8 value)
+{
   channel.fractionalSpacing = value & 7;
   return 0;
 }
 
-int AdlibDriver::update_setTempo(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setTempo (uint8 * &dataptr, Channel & channel,
+                              uint8 value)
+{
   _tempo = value;
   return 0;
 }
 
-int AdlibDriver::update_removeSecondaryEffect1(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_removeSecondaryEffect1 (uint8 * &dataptr,
+                                            Channel & channel, uint8 value)
+{
   --dataptr;
   channel.secondaryEffect = 0;
   return 0;
 }
 
-int AdlibDriver::update_setChannelTempo(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setChannelTempo (uint8 * &dataptr, Channel & channel,
+                                     uint8 value)
+{
   channel.tempo = value;
   return 0;
 }
 
-int AdlibDriver::update_setExtraLevel3(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setExtraLevel3 (uint8 * &dataptr, Channel & channel,
+                                    uint8 value)
+{
   channel.opExtraLevel3 = value;
   return 0;
 }
 
-int AdlibDriver::update_setExtraLevel2(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setExtraLevel2 (uint8 * &dataptr, Channel & channel,
+                                    uint8 value)
+{
   int channelBackUp = _curChannel;
 
   _curChannel = value;
-  Channel &channel2 = _channels[value];
+  Channel & channel2 = _channels[value];
   channel2.opExtraLevel2 = *dataptr++;
-  adjustVolume(channel2);
+  adjustVolume (channel2);
 
   _curChannel = channelBackUp;
   return 0;
 }
 
-int AdlibDriver::update_changeExtraLevel2(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_changeExtraLevel2 (uint8 * &dataptr, Channel & channel,
+                                       uint8 value)
+{
   int channelBackUp = _curChannel;
 
   _curChannel = value;
-  Channel &channel2 = _channels[value];
+  Channel & channel2 = _channels[value];
   channel2.opExtraLevel2 += *dataptr++;
-  adjustVolume(channel2);
+  adjustVolume (channel2);
 
   _curChannel = channelBackUp;
   return 0;
@@ -1523,109 +1826,142 @@
 // Apart from initialising to zero, these two functions are the only ones that
 // modify _vibratoAndAMDepthBits.
 
-int AdlibDriver::update_setAMDepth(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setAMDepth (uint8 * &dataptr, Channel & channel,
+                                uint8 value)
+{
   if (value & 1)
     _vibratoAndAMDepthBits |= 0x80;
   else
     _vibratoAndAMDepthBits &= 0x7F;
 
-  writeOPL(0xBD, _vibratoAndAMDepthBits);
+  writeOPL (0xBD, _vibratoAndAMDepthBits);
   return 0;
 }
 
-int AdlibDriver::update_setVibratoDepth(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setVibratoDepth (uint8 * &dataptr, Channel & channel,
+                                     uint8 value)
+{
   if (value & 1)
     _vibratoAndAMDepthBits |= 0x40;
   else
     _vibratoAndAMDepthBits &= 0xBF;
 
-  writeOPL(0xBD, _vibratoAndAMDepthBits);
+  writeOPL (0xBD, _vibratoAndAMDepthBits);
   return 0;
 }
 
-int AdlibDriver::update_changeExtraLevel1(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_changeExtraLevel1 (uint8 * &dataptr, Channel & channel,
+                                       uint8 value)
+{
   channel.opExtraLevel1 += value;
-  adjustVolume(channel);
+  adjustVolume (channel);
   return 0;
 }
 
-int AdlibDriver::updateCallback38(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::updateCallback38 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   int channelBackUp = _curChannel;
 
   _curChannel = value;
-  Channel &channel2 = _channels[value];
+  Channel & channel2 = _channels[value];
   channel2.duration = channel2.priority = 0;
   channel2.dataptr = 0;
   channel2.opExtraLevel2 = 0;
 
-  if (value != 9) {
+  if (value != 9)
+  {
     uint8 outValue = _regOffset[value];
 
     // Feedback strength / Connection type
-    writeOPL(0xC0 + _curChannel, 0x00);
+    writeOPL (0xC0 + _curChannel, 0x00);
 
     // Key scaling level / Operator output level
-    writeOPL(0x43 + outValue, 0x3F);
+    writeOPL (0x43 + outValue, 0x3F);
 
     // Sustain Level / Release Rate
-    writeOPL(0x83 + outValue, 0xFF);
+    writeOPL (0x83 + outValue, 0xFF);
 
     // Key On / Octave / Frequency
-    writeOPL(0xB0 + _curChannel, 0x00);
+    writeOPL (0xB0 + _curChannel, 0x00);
   }
 
   _curChannel = channelBackUp;
   return 0;
 }
 
-int AdlibDriver::updateCallback39(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::updateCallback39 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   uint16 unk = *dataptr++;
   unk |= value << 8;
-  unk &= getRandomNr();
+  unk &= getRandomNr ();
 
   uint16 unk2 = ((channel.regBx & 0x1F) << 8) | channel.regAx;
   unk2 += unk;
   unk2 |= ((channel.regBx & 0x20) << 8);
 
   // Frequency
-  writeOPL(0xA0 + _curChannel, unk2 & 0xFF);
+  writeOPL (0xA0 + _curChannel, unk2 & 0xFF);
 
   // Key On / Octave / Frequency
-  writeOPL(0xB0 + _curChannel, (unk2 & 0xFF00) >> 8);
+  writeOPL (0xB0 + _curChannel, (unk2 & 0xFF00) >> 8);
 
   return 0;
 }
 
-int AdlibDriver::update_removePrimaryEffect2(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_removePrimaryEffect2 (uint8 * &dataptr, Channel & channel,
+                                          uint8 value)
+{
   --dataptr;
   channel.primaryEffect = 0;
   return 0;
 }
 
-int AdlibDriver::updateCallback41(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::updateCallback41 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   channel.unk16 = value;
-  setupNote(channel.rawNote, channel, true);
+  setupNote (channel.rawNote, channel, true);
   return 0;
 }
 
-int AdlibDriver::update_resetToGlobalTempo(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_resetToGlobalTempo (uint8 * &dataptr, Channel & channel,
+                                        uint8 value)
+{
   --dataptr;
   channel.tempo = _tempo;
   return 0;
 }
 
-int AdlibDriver::update_nop1(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_nop1 (uint8 * &dataptr, Channel & channel, uint8 value)
+{
   --dataptr;
   return 0;
 }
 
-int AdlibDriver::update_setDurationRandomness(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setDurationRandomness (uint8 * &dataptr,
+                                           Channel & channel, uint8 value)
+{
   channel.durationRandomness = value;
   return 0;
 }
 
-int AdlibDriver::update_changeChannelTempo(uint8 *&dataptr, Channel &channel, uint8 value) {
-  int tempo = channel.tempo + (int8)value;
+int
+AdlibDriver::update_changeChannelTempo (uint8 * &dataptr, Channel & channel,
+                                        uint8 value)
+{
+  int tempo = channel.tempo + (int8) value;
 
   if (tempo <= 0)
     tempo = 1;
@@ -1636,13 +1972,17 @@
   return 0;
 }
 
-int AdlibDriver::updateCallback46(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::updateCallback46 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   uint8 entry = *dataptr++;
   _tablePtr1 = _unkTable2[entry++];
   _tablePtr2 = _unkTable2[entry];
-  if (value == 2) {
+  if (value == 2)
+  {
     // Frequency
-    writeOPL(0xA0, _tablePtr2[0]);
+    writeOPL (0xA0, _tablePtr2[0]);
   }
   return 0;
 }
@@ -1650,48 +1990,53 @@
 // TODO: This is really the same as update_nop1(), so they should be combined
 //       into one single update_nop().
 
-int AdlibDriver::update_nop2(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_nop2 (uint8 * &dataptr, Channel & channel, uint8 value)
+{
   --dataptr;
   return 0;
 }
 
-int AdlibDriver::update_setupRhythmSection(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setupRhythmSection (uint8 * &dataptr, Channel & channel,
+                                        uint8 value)
+{
   int channelBackUp = _curChannel;
   int regOffsetBackUp = _curRegOffset;
 
   _curChannel = 6;
   _curRegOffset = _regOffset[6];
 
-  setupInstrument(_curRegOffset, getInstrument(value), channel);
+  setupInstrument (_curRegOffset, getInstrument (value), channel);
   _unkValue6 = channel.opLevel2;
 
   _curChannel = 7;
   _curRegOffset = _regOffset[7];
 
-  setupInstrument(_curRegOffset, getInstrument(*dataptr++), channel);
+  setupInstrument (_curRegOffset, getInstrument (*dataptr++), channel);
   _unkValue7 = channel.opLevel1;
   _unkValue8 = channel.opLevel2;
 
   _curChannel = 8;
   _curRegOffset = _regOffset[8];
 
-  setupInstrument(_curRegOffset, getInstrument(*dataptr++), channel);
+  setupInstrument (_curRegOffset, getInstrument (*dataptr++), channel);
   _unkValue9 = channel.opLevel1;
   _unkValue10 = channel.opLevel2;
 
   // Octave / F-Number / Key-On for channels 6, 7 and 8
 
   _channels[6].regBx = *dataptr++ & 0x2F;
-  writeOPL(0xB6, _channels[6].regBx);
-  writeOPL(0xA6, *dataptr++);
+  writeOPL (0xB6, _channels[6].regBx);
+  writeOPL (0xA6, *dataptr++);
 
   _channels[7].regBx = *dataptr++ & 0x2F;
-  writeOPL(0xB7, _channels[7].regBx);
-  writeOPL(0xA7, *dataptr++);
+  writeOPL (0xB7, _channels[7].regBx);
+  writeOPL (0xA7, *dataptr++);
 
   _channels[8].regBx = *dataptr++ & 0x2F;
-  writeOPL(0xB8, _channels[8].regBx);
-  writeOPL(0xA8, *dataptr++);
+  writeOPL (0xB8, _channels[8].regBx);
+  writeOPL (0xA8, *dataptr++);
 
   _rhythmSectionBits = 0x20;
 
@@ -1700,14 +2045,17 @@
   return 0;
 }
 
-int AdlibDriver::update_playRhythmSection(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_playRhythmSection (uint8 * &dataptr, Channel & channel,
+                                       uint8 value)
+{
   // Any instrument that we want to play, and which was already playing,
   // is temporarily keyed off. Instruments that were off already, or
   // which we don't want to play, retain their old on/off status. This is
   // probably so that the instrument's envelope is played from its
   // beginning again...
 
-  writeOPL(0xBD, (_rhythmSectionBits & ~(value & 0x1F)) | 0x20);
+  writeOPL (0xBD, (_rhythmSectionBits & ~(value & 0x1F)) | 0x20);
 
   // ...but since we only set the rhythm instrument bits, and never clear
   // them (until the entire rhythm section is disabled), I'm not sure how
@@ -1716,155 +2064,201 @@
 
   _rhythmSectionBits |= value;
 
-  writeOPL(0xBD, _vibratoAndAMDepthBits | 0x20 | _rhythmSectionBits);
+  writeOPL (0xBD, _vibratoAndAMDepthBits | 0x20 | _rhythmSectionBits);
   return 0;
 }
 
-int AdlibDriver::update_removeRhythmSection(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_removeRhythmSection (uint8 * &dataptr, Channel & channel,
+                                         uint8 value)
+{
   --dataptr;
   _rhythmSectionBits = 0;
 
   // All the rhythm bits are cleared. The AM and Vibrato depth bits
   // remain unchanged.
 
-  writeOPL(0xBD, _vibratoAndAMDepthBits);
+  writeOPL (0xBD, _vibratoAndAMDepthBits);
   return 0;
 }
 
-int AdlibDriver::updateCallback51(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::updateCallback51 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   uint8 value2 = *dataptr++;
 
-  if (value & 1) {
+  if (value & 1)
+  {
     _unkValue12 = value2;
 
     // Channel 7, op1: Level Key Scaling / Total Level
-    writeOPL(0x51, checkValue(value2 + _unkValue7 + _unkValue11 + _unkValue12));
+    writeOPL (0x51,
+              checkValue (value2 + _unkValue7 + _unkValue11 + _unkValue12));
   }
 
-  if (value & 2) {
+  if (value & 2)
+  {
     _unkValue14 = value2;
 
     // Channel 8, op2: Level Key Scaling / Total Level
-    writeOPL(0x55, checkValue(value2 + _unkValue10 + _unkValue13 + _unkValue14));
+    writeOPL (0x55,
+              checkValue (value2 + _unkValue10 + _unkValue13 + _unkValue14));
   }
 
-  if (value & 4) {
+  if (value & 4)
+  {
     _unkValue15 = value2;
 
     // Channel 8, op1: Level Key Scaling / Total Level
-    writeOPL(0x52, checkValue(value2 + _unkValue9 + _unkValue16 + _unkValue15));
+    writeOPL (0x52,
+              checkValue (value2 + _unkValue9 + _unkValue16 + _unkValue15));
   }
 
-  if (value & 8) {
+  if (value & 8)
+  {
     _unkValue18 = value2;
 
     // Channel 7, op2: Level Key Scaling / Total Level
-    writeOPL(0x54, checkValue(value2 + _unkValue8 + _unkValue17 + _unkValue18));
+    writeOPL (0x54,
+              checkValue (value2 + _unkValue8 + _unkValue17 + _unkValue18));
   }
 
-  if (value & 16) {
+  if (value & 16)
+  {
     _unkValue20 = value2;
 
     // Channel 6, op2: Level Key Scaling / Total Level
-    writeOPL(0x53, checkValue(value2 + _unkValue6 + _unkValue19 + _unkValue20));
+    writeOPL (0x53,
+              checkValue (value2 + _unkValue6 + _unkValue19 + _unkValue20));
   }
 
   return 0;
 }
 
-int AdlibDriver::updateCallback52(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::updateCallback52 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   uint8 value2 = *dataptr++;
 
-  if (value & 1) {
-    _unkValue11 = checkValue(value2 + _unkValue7 + _unkValue11 + _unkValue12);
+  if (value & 1)
+  {
+    _unkValue11 =
+      checkValue (value2 + _unkValue7 + _unkValue11 + _unkValue12);
 
     // Channel 7, op1: Level Key Scaling / Total Level
-    writeOPL(0x51, _unkValue11);
+    writeOPL (0x51, _unkValue11);
   }
 
-  if (value & 2) {
-    _unkValue13 = checkValue(value2 + _unkValue10 + _unkValue13 + _unkValue14);
+  if (value & 2)
+  {
+    _unkValue13 =
+      checkValue (value2 + _unkValue10 + _unkValue13 + _unkValue14);
 
     // Channel 8, op2: Level Key Scaling / Total Level
-    writeOPL(0x55, _unkValue13);
+    writeOPL (0x55, _unkValue13);
   }
 
-  if (value & 4) {
-    _unkValue16 = checkValue(value2 + _unkValue9 + _unkValue16 + _unkValue15);
+  if (value & 4)
+  {
+    _unkValue16 =
+      checkValue (value2 + _unkValue9 + _unkValue16 + _unkValue15);
 
     // Channel 8, op1: Level Key Scaling / Total Level
-    writeOPL(0x52, _unkValue16);
+    writeOPL (0x52, _unkValue16);
   }
 
-  if (value & 8) {
-    _unkValue17 = checkValue(value2 + _unkValue8 + _unkValue17 + _unkValue18);
+  if (value & 8)
+  {
+    _unkValue17 =
+      checkValue (value2 + _unkValue8 + _unkValue17 + _unkValue18);
 
     // Channel 7, op2: Level Key Scaling / Total Level
-    writeOPL(0x54, _unkValue17);
+    writeOPL (0x54, _unkValue17);
   }
 
-  if (value & 16) {
-    _unkValue19 = checkValue(value2 + _unkValue6 + _unkValue19 + _unkValue20);
+  if (value & 16)
+  {
+    _unkValue19 =
+      checkValue (value2 + _unkValue6 + _unkValue19 + _unkValue20);
 
     // Channel 6, op2: Level Key Scaling / Total Level
-    writeOPL(0x53, _unkValue19);
+    writeOPL (0x53, _unkValue19);
   }
 
   return 0;
 }
 
-int AdlibDriver::updateCallback53(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::updateCallback53 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   uint8 value2 = *dataptr++;
 
-  if (value & 1) {
+  if (value & 1)
+  {
     _unkValue11 = value2;
 
     // Channel 7, op1: Level Key Scaling / Total Level
-    writeOPL(0x51, checkValue(value2 + _unkValue7 + _unkValue12));
+    writeOPL (0x51, checkValue (value2 + _unkValue7 + _unkValue12));
   }
 
-  if (value & 2) {
+  if (value & 2)
+  {
     _unkValue13 = value2;
 
     // Channel 8, op2: Level Key Scaling / Total Level
-    writeOPL(0x55, checkValue(value2 + _unkValue10 + _unkValue14));
+    writeOPL (0x55, checkValue (value2 + _unkValue10 + _unkValue14));
   }
 
-  if (value & 4) {
+  if (value & 4)
+  {
     _unkValue16 = value2;
 
     // Channel 8, op1: Level Key Scaling / Total Level
-    writeOPL(0x52, checkValue(value2 + _unkValue9 + _unkValue15));
+    writeOPL (0x52, checkValue (value2 + _unkValue9 + _unkValue15));
   }
 
-  if (value & 8) {
+  if (value & 8)
+  {
     _unkValue17 = value2;
 
     // Channel 7, op2: Level Key Scaling / Total Level
-    writeOPL(0x54, checkValue(value2 + _unkValue8 + _unkValue18));
+    writeOPL (0x54, checkValue (value2 + _unkValue8 + _unkValue18));
   }
 
-  if (value & 16) {
+  if (value & 16)
+  {
     _unkValue19 = value2;
 
     // Channel 6, op2: Level Key Scaling / Total Level
-    writeOPL(0x53, checkValue(value2 + _unkValue6 + _unkValue20));
+    writeOPL (0x53, checkValue (value2 + _unkValue6 + _unkValue20));
   }
 
   return 0;
 }
 
-int AdlibDriver::update_setSoundTrigger(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setSoundTrigger (uint8 * &dataptr, Channel & channel,
+                                     uint8 value)
+{
   _soundTrigger = value;
   return 0;
 }
 
-int AdlibDriver::update_setTempoReset(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::update_setTempoReset (uint8 * &dataptr, Channel & channel,
+                                   uint8 value)
+{
   channel.tempoReset = value;
   return 0;
 }
 
-int AdlibDriver::updateCallback56(uint8 *&dataptr, Channel &channel, uint8 value) {
+int
+AdlibDriver::updateCallback56 (uint8 * &dataptr, Channel & channel,
+                               uint8 value)
+{
   channel.unk39 = value;
   channel.unk40 = *dataptr++;
   return 0;
@@ -1874,157 +2268,163 @@
 
 #define COMMAND(x) { &AdlibDriver::x, #x }
 
-void AdlibDriver::setupOpcodeList() {
+void
+AdlibDriver::setupOpcodeList ()
+{
   static const OpcodeEntry opcodeList[] = {
-    COMMAND(snd_ret0x100),
-    COMMAND(snd_ret0x1983),
-    COMMAND(snd_initDriver),
-    COMMAND(snd_deinitDriver),
-    COMMAND(snd_setSoundData),
-    COMMAND(snd_unkOpcode1),
-    COMMAND(snd_startSong),
-    COMMAND(snd_unkOpcode2),
-    COMMAND(snd_unkOpcode3),
-    COMMAND(snd_readByte),
-    COMMAND(snd_writeByte),
-    COMMAND(snd_getSoundTrigger),
-    COMMAND(snd_unkOpcode4),
-    COMMAND(snd_dummy),
-    COMMAND(snd_getNullvar4),
-    COMMAND(snd_setNullvar3),
-    COMMAND(snd_setFlag),
-    COMMAND(snd_clearFlag)
+    COMMAND (snd_ret0x100),
+    COMMAND (snd_ret0x1983),
+    COMMAND (snd_initDriver),
+    COMMAND (snd_deinitDriver),
+    COMMAND (snd_setSoundData),
+    COMMAND (snd_unkOpcode1),
+    COMMAND (snd_startSong),
+    COMMAND (snd_unkOpcode2),
+    COMMAND (snd_unkOpcode3),
+    COMMAND (snd_readByte),
+    COMMAND (snd_writeByte),
+    COMMAND (snd_getSoundTrigger),
+    COMMAND (snd_unkOpcode4),
+    COMMAND (snd_dummy),
+    COMMAND (snd_getNullvar4),
+    COMMAND (snd_setNullvar3),
+    COMMAND (snd_setFlag),
+    COMMAND (snd_clearFlag)
   };
 
   _opcodeList = opcodeList;
-  _opcodesEntries = ARRAYSIZE(opcodeList);
+  _opcodesEntries = ARRAYSIZE (opcodeList);
 }
 
-void AdlibDriver::setupParserOpcodeTable() {
+void
+AdlibDriver::setupParserOpcodeTable ()
+{
   static const ParserOpcode parserOpcodeTable[] = {
     // 0
-    COMMAND(update_setRepeat),
-    COMMAND(update_checkRepeat),
-    COMMAND(update_setupProgram),
-    COMMAND(update_setNoteSpacing),
+    COMMAND (update_setRepeat),
+    COMMAND (update_checkRepeat),
+    COMMAND (update_setupProgram),
+    COMMAND (update_setNoteSpacing),
 
     // 4
-    COMMAND(update_jump),
-    COMMAND(update_jumpToSubroutine),
-    COMMAND(update_returnFromSubroutine),
-    COMMAND(update_setBaseOctave),
+    COMMAND (update_jump),
+    COMMAND (update_jumpToSubroutine),
+    COMMAND (update_returnFromSubroutine),
+    COMMAND (update_setBaseOctave),
 
     // 8
-    COMMAND(update_stopChannel),
-    COMMAND(update_playRest),
-    COMMAND(update_writeAdlib),
-    COMMAND(update_setupNoteAndDuration),
+    COMMAND (update_stopChannel),
+    COMMAND (update_playRest),
+    COMMAND (update_writeAdlib),
+    COMMAND (update_setupNoteAndDuration),
 
     // 12
-    COMMAND(update_setBaseNote),
-    COMMAND(update_setupSecondaryEffect1),
-    COMMAND(update_stopOtherChannel),
-    COMMAND(update_waitForEndOfProgram),
+    COMMAND (update_setBaseNote),
+    COMMAND (update_setupSecondaryEffect1),
+    COMMAND (update_stopOtherChannel),
+    COMMAND (update_waitForEndOfProgram),
 
     // 16
-    COMMAND(update_setupInstrument),
-    COMMAND(update_setupPrimaryEffect1),
-    COMMAND(update_removePrimaryEffect1),
-    COMMAND(update_setBaseFreq),
+    COMMAND (update_setupInstrument),
+    COMMAND (update_setupPrimaryEffect1),
+    COMMAND (update_removePrimaryEffect1),
+    COMMAND (update_setBaseFreq),
 
     // 20
-    COMMAND(update_stopChannel),
-    COMMAND(update_setupPrimaryEffect2),
-    COMMAND(update_stopChannel),
-    COMMAND(update_stopChannel),
+    COMMAND (update_stopChannel),
+    COMMAND (update_setupPrimaryEffect2),
+    COMMAND (update_stopChannel),
+    COMMAND (update_stopChannel),
 
     // 24
-    COMMAND(update_stopChannel),
-    COMMAND(update_stopChannel),
-    COMMAND(update_setPriority),
-    COMMAND(update_stopChannel),
+    COMMAND (update_stopChannel),
+    COMMAND (update_stopChannel),
+    COMMAND (update_setPriority),
+    COMMAND (update_stopChannel),
 
     // 28
-    COMMAND(updateCallback23),
-    COMMAND(updateCallback24),
-    COMMAND(update_setExtraLevel1),
-    COMMAND(update_stopChannel),
+    COMMAND (updateCallback23),
+    COMMAND (updateCallback24),
+    COMMAND (update_setExtraLevel1),
+    COMMAND (update_stopChannel),
 
     // 32
-    COMMAND(update_setupDuration),
-    COMMAND(update_playNote),
-    COMMAND(update_stopChannel),
-    COMMAND(update_stopChannel),
+    COMMAND (update_setupDuration),
+    COMMAND (update_playNote),
+    COMMAND (update_stopChannel),
+    COMMAND (update_stopChannel),
 
     // 36
-    COMMAND(update_setFractionalNoteSpacing),
-    COMMAND(update_stopChannel),
-    COMMAND(update_setTempo),
-    COMMAND(update_removeSecondaryEffect1),
+    COMMAND (update_setFractionalNoteSpacing),
+    COMMAND (update_stopChannel),
+    COMMAND (update_setTempo),
+    COMMAND (update_removeSecondaryEffect1),
 
     // 40
-    COMMAND(update_stopChannel),
-    COMMAND(update_setChannelTempo),
-    COMMAND(update_stopChannel),
-    COMMAND(update_setExtraLevel3),
+    COMMAND (update_stopChannel),
+    COMMAND (update_setChannelTempo),
+    COMMAND (update_stopChannel),
+    COMMAND (update_setExtraLevel3),
 
     // 44
-    COMMAND(update_setExtraLevel2),
-    COMMAND(update_changeExtraLevel2),
-    COMMAND(update_setAMDepth),
-    COMMAND(update_setVibratoDepth),
+    COMMAND (update_setExtraLevel2),
+    COMMAND (update_changeExtraLevel2),
+    COMMAND (update_setAMDepth),
+    COMMAND (update_setVibratoDepth),
 
     // 48
-    COMMAND(update_changeExtraLevel1),
-    COMMAND(update_stopChannel),
-    COMMAND(update_stopChannel),
-    COMMAND(updateCallback38),
+    COMMAND (update_changeExtraLevel1),
+    COMMAND (update_stopChannel),
+    COMMAND (update_stopChannel),
+    COMMAND (updateCallback38),
 
     // 52
-    COMMAND(update_stopChannel),
-    COMMAND(updateCallback39),
-    COMMAND(update_removePrimaryEffect2),
-    COMMAND(update_stopChannel),
+    COMMAND (update_stopChannel),
+    COMMAND (updateCallback39),
+    COMMAND (update_removePrimaryEffect2),
+    COMMAND (update_stopChannel),
 
     // 56
-    COMMAND(update_stopChannel),
-    COMMAND(updateCallback41),
-    COMMAND(update_resetToGlobalTempo),
-    COMMAND(update_nop1),
+    COMMAND (update_stopChannel),
+    COMMAND (updateCallback41),
+    COMMAND (update_resetToGlobalTempo),
+    COMMAND (update_nop1),
 
     // 60
-    COMMAND(update_setDurationRandomness),
-    COMMAND(update_changeChannelTempo),
-    COMMAND(update_stopChannel),
-    COMMAND(updateCallback46),
+    COMMAND (update_setDurationRandomness),
+    COMMAND (update_changeChannelTempo),
+    COMMAND (update_stopChannel),
+    COMMAND (updateCallback46),
 
     // 64
-    COMMAND(update_nop2),
-    COMMAND(update_setupRhythmSection),
-    COMMAND(update_playRhythmSection),
-    COMMAND(update_removeRhythmSection),
+    COMMAND (update_nop2),
+    COMMAND (update_setupRhythmSection),
+    COMMAND (update_playRhythmSection),
+    COMMAND (update_removeRhythmSection),
 
     // 68
-    COMMAND(updateCallback51),
-    COMMAND(updateCallback52),
-    COMMAND(updateCallback53),
-    COMMAND(update_setSoundTrigger),
+    COMMAND (updateCallback51),
+    COMMAND (updateCallback52),
+    COMMAND (updateCallback53),
+    COMMAND (update_setSoundTrigger),
 
     // 72
-    COMMAND(update_setTempoReset),
-    COMMAND(updateCallback56),
-    COMMAND(update_stopChannel)
+    COMMAND (update_setTempoReset),
+    COMMAND (updateCallback56),
+    COMMAND (update_stopChannel)
   };
 
   _parserOpcodeTable = parserOpcodeTable;
-  _parserOpcodeTableSize = ARRAYSIZE(parserOpcodeTable);
+  _parserOpcodeTableSize = ARRAYSIZE (parserOpcodeTable);
 }
+
 #undef COMMAND
 
 // This table holds the register offset for operator 1 for each of the nine
 // channels. To get the register offset for operator 2, simply add 3.
 
-const uint8 AdlibDriver::_regOffset[] = {
+const uint8
+  AdlibDriver::_regOffset[] = {
   0x00, 0x01, 0x02, 0x08, 0x09, 0x0A, 0x10, 0x11,
   0x12
 };
@@ -2033,7 +2433,8 @@
 // F-Numbers (10 bits) for the notes of the 12-tone scale. However, it does not
 // match the table in the Adlib documentation I've seen.
 
-const uint16 AdlibDriver::_unkTable[] = {
+const uint16
+  AdlibDriver::_unkTable[] = {
   0x0134, 0x0147, 0x015A, 0x016F, 0x0184, 0x019C, 0x01B4, 0x01CE, 0x01E9,
   0x0207, 0x0225, 0x0246
 };
@@ -2041,7 +2442,8 @@
 // These tables are currently only used by updateCallback46(), which only ever
 // uses the first element of one of the sub-tables.
 
-const uint8 *AdlibDriver::_unkTable2[] = {
+const uint8 *
+  AdlibDriver::_unkTable2[] = {
   AdlibDriver::_unkTable2_1,
   AdlibDriver::_unkTable2_2,
   AdlibDriver::_unkTable2_1,
@@ -2050,7 +2452,8 @@
   AdlibDriver::_unkTable2_2
 };
 
-const uint8 AdlibDriver::_unkTable2_1[] = {
+const uint8
+  AdlibDriver::_unkTable2_1[] = {
   0x50, 0x50, 0x4F, 0x4F, 0x4E, 0x4E, 0x4D, 0x4D,
   0x4C, 0x4C, 0x4B, 0x4B, 0x4A, 0x4A, 0x49, 0x49,
   0x48, 0x48, 0x47, 0x47, 0x46, 0x46, 0x45, 0x45,
@@ -2071,7 +2474,8 @@
 };
 
 // no don't ask me WHY this table exsits!
-const uint8 AdlibDriver::_unkTable2_2[] = {
+const uint8
+  AdlibDriver::_unkTable2_2[] = {
   0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
   0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
   0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
@@ -2090,7 +2494,8 @@
   0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F
 };
 
-const uint8 AdlibDriver::_unkTable2_3[] = {
+const uint8
+  AdlibDriver::_unkTable2_3[] = {
   0x40, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x3E, 0x3E,
   0x3E, 0x3D, 0x3D, 0x3D, 0x3C, 0x3C, 0x3C, 0x3B,
   0x3B, 0x3B, 0x3A, 0x3A, 0x3A, 0x39, 0x39, 0x39,
@@ -2117,77 +2522,78 @@
 // This could be some sort of pitch bend, but I have yet to see it used for
 // anything so it's hard to say.
 
-const uint8 AdlibDriver::_unkTables[][32] = {
+const uint8
+  AdlibDriver::_unkTables[][32] = {
   // 0
-  { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x08,
-    0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
-    0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x19,
-    0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21 },
+  {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x08,
+   0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
+   0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x19,
+   0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21},
   // 1
-  { 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x09,
-    0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11,
-    0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x1A,
-    0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x22, 0x24 },
+  {0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x09,
+   0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11,
+   0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x1A,
+   0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x22, 0x24},
   // 2
-  { 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x09,
-    0x0A, 0x0C, 0x0D, 0x0E, 0x0F, 0x11, 0x12, 0x13,
-    0x14, 0x15, 0x16, 0x17, 0x19, 0x1A, 0x1C, 0x1D,
-    0x1E, 0x1F, 0x20, 0x21, 0x22, 0x24, 0x25, 0x26 },
+  {0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x09,
+   0x0A, 0x0C, 0x0D, 0x0E, 0x0F, 0x11, 0x12, 0x13,
+   0x14, 0x15, 0x16, 0x17, 0x19, 0x1A, 0x1C, 0x1D,
+   0x1E, 0x1F, 0x20, 0x21, 0x22, 0x24, 0x25, 0x26},
   // 3
-  { 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x0A,
-    0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x11, 0x12, 0x13,
-    0x14, 0x15, 0x16, 0x17, 0x18, 0x1A, 0x1C, 0x1D,
-    0x1E, 0x1F, 0x20, 0x21, 0x23, 0x25, 0x27, 0x28 },
+  {0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x0A,
+   0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x11, 0x12, 0x13,
+   0x14, 0x15, 0x16, 0x17, 0x18, 0x1A, 0x1C, 0x1D,
+   0x1E, 0x1F, 0x20, 0x21, 0x23, 0x25, 0x27, 0x28},
   // 4
-  { 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x0A,
-    0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x11, 0x13, 0x15,
-    0x16, 0x17, 0x18, 0x19, 0x1B, 0x1D, 0x1F, 0x20,
-    0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x28, 0x2A },
+  {0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x0A,
+   0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x11, 0x13, 0x15,
+   0x16, 0x17, 0x18, 0x19, 0x1B, 0x1D, 0x1F, 0x20,
+   0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x28, 0x2A},
   // 5
-  { 0x00, 0x01, 0x02, 0x03, 0x05, 0x07, 0x09, 0x0B,
-    0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x13, 0x15,
-    0x16, 0x17, 0x18, 0x19, 0x1B, 0x1D, 0x1F, 0x20,
-    0x21, 0x22, 0x23, 0x25, 0x27, 0x29, 0x2B, 0x2D },
+  {0x00, 0x01, 0x02, 0x03, 0x05, 0x07, 0x09, 0x0B,
+   0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x13, 0x15,
+   0x16, 0x17, 0x18, 0x19, 0x1B, 0x1D, 0x1F, 0x20,
+   0x21, 0x22, 0x23, 0x25, 0x27, 0x29, 0x2B, 0x2D},
   // 6
-  { 0x00, 0x01, 0x02, 0x03, 0x05, 0x07, 0x09, 0x0B,
-    0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x13, 0x15,
-    0x16, 0x17, 0x18, 0x1A, 0x1C, 0x1E, 0x21, 0x24,
-    0x25, 0x26, 0x27, 0x29, 0x2B, 0x2D, 0x2F, 0x30 },
+  {0x00, 0x01, 0x02, 0x03, 0x05, 0x07, 0x09, 0x0B,
+   0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x13, 0x15,
+   0x16, 0x17, 0x18, 0x1A, 0x1C, 0x1E, 0x21, 0x24,
+   0x25, 0x26, 0x27, 0x29, 0x2B, 0x2D, 0x2F, 0x30},
   // 7
-  { 0x00, 0x01, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C,
-    0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x13, 0x15, 0x18,
-    0x19, 0x1A, 0x1C, 0x1D, 0x1F, 0x21, 0x23, 0x25,
-    0x26, 0x27, 0x29, 0x2B, 0x2D, 0x2F, 0x30, 0x32 },
+  {0x00, 0x01, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C,
+   0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x13, 0x15, 0x18,
+   0x19, 0x1A, 0x1C, 0x1D, 0x1F, 0x21, 0x23, 0x25,
+   0x26, 0x27, 0x29, 0x2B, 0x2D, 0x2F, 0x30, 0x32},
   // 8
-  { 0x00, 0x01, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0D,
-    0x0E, 0x0F, 0x10, 0x11, 0x12, 0x14, 0x17, 0x1A,
-    0x19, 0x1A, 0x1C, 0x1E, 0x20, 0x22, 0x25, 0x28,
-    0x29, 0x2A, 0x2B, 0x2D, 0x2F, 0x31, 0x33, 0x35 },
+  {0x00, 0x01, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0D,
+   0x0E, 0x0F, 0x10, 0x11, 0x12, 0x14, 0x17, 0x1A,
+   0x19, 0x1A, 0x1C, 0x1E, 0x20, 0x22, 0x25, 0x28,
+   0x29, 0x2A, 0x2B, 0x2D, 0x2F, 0x31, 0x33, 0x35},
   // 9
-  { 0x00, 0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0E,
-    0x0F, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1B,
-    0x1C, 0x1D, 0x1E, 0x20, 0x22, 0x24, 0x26, 0x29,
-    0x2A, 0x2C, 0x2E, 0x30, 0x32, 0x34, 0x36, 0x39 },
+  {0x00, 0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0E,
+   0x0F, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1B,
+   0x1C, 0x1D, 0x1E, 0x20, 0x22, 0x24, 0x26, 0x29,
+   0x2A, 0x2C, 0x2E, 0x30, 0x32, 0x34, 0x36, 0x39},
   // 10
-  { 0x00, 0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0E,
-    0x0F, 0x10, 0x12, 0x14, 0x16, 0x19, 0x1B, 0x1E,
-    0x1F, 0x21, 0x23, 0x25, 0x27, 0x29, 0x2B, 0x2D,
-    0x2E, 0x2F, 0x31, 0x32, 0x34, 0x36, 0x39, 0x3C },
+  {0x00, 0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0E,
+   0x0F, 0x10, 0x12, 0x14, 0x16, 0x19, 0x1B, 0x1E,
+   0x1F, 0x21, 0x23, 0x25, 0x27, 0x29, 0x2B, 0x2D,
+   0x2E, 0x2F, 0x31, 0x32, 0x34, 0x36, 0x39, 0x3C},
   // 11
-  { 0x00, 0x01, 0x03, 0x05, 0x07, 0x0A, 0x0C, 0x0F,
-    0x10, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1E,
-    0x1F, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2B, 0x2E,
-    0x2F, 0x30, 0x32, 0x34, 0x36, 0x39, 0x3C, 0x3F },
+  {0x00, 0x01, 0x03, 0x05, 0x07, 0x0A, 0x0C, 0x0F,
+   0x10, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1E,
+   0x1F, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2B, 0x2E,
+   0x2F, 0x30, 0x32, 0x34, 0x36, 0x39, 0x3C, 0x3F},
   // 12
-  { 0x00, 0x02, 0x04, 0x06, 0x08, 0x0B, 0x0D, 0x10,
-    0x11, 0x12, 0x14, 0x16, 0x18, 0x1B, 0x1E, 0x21,
-    0x22, 0x23, 0x25, 0x27, 0x29, 0x2C, 0x2F, 0x32,
-    0x33, 0x34, 0x36, 0x38, 0x3B, 0x34, 0x41, 0x44 },
+  {0x00, 0x02, 0x04, 0x06, 0x08, 0x0B, 0x0D, 0x10,
+   0x11, 0x12, 0x14, 0x16, 0x18, 0x1B, 0x1E, 0x21,
+   0x22, 0x23, 0x25, 0x27, 0x29, 0x2C, 0x2F, 0x32,
+   0x33, 0x34, 0x36, 0x38, 0x3B, 0x34, 0x41, 0x44},
   // 13
-  { 0x00, 0x02, 0x04, 0x06, 0x08, 0x0B, 0x0D, 0x11,
-    0x12, 0x13, 0x15, 0x17, 0x1A, 0x1D, 0x20, 0x23,
-    0x24, 0x25, 0x27, 0x29, 0x2C, 0x2F, 0x32, 0x35,
-    0x36, 0x37, 0x39, 0x3B, 0x3E, 0x41, 0x44, 0x47 }
+  {0x00, 0x02, 0x04, 0x06, 0x08, 0x0B, 0x0D, 0x11,
+   0x12, 0x13, 0x15, 0x17, 0x1A, 0x1D, 0x20, 0x23,
+   0x24, 0x25, 0x27, 0x29, 0x2C, 0x2F, 0x32, 0x35,
+   0x36, 0x37, 0x39, 0x3B, 0x3E, 0x41, 0x44, 0x47}
 };
 
 // #pragma mark -
@@ -2195,50 +2601,64 @@
 // At the time of writing, the only known case where Kyra 1 uses sound triggers
 // is in the castle, to cycle between three different songs.
 
-const int CadlPlayer::_kyra1SoundTriggers[] = {
+const int
+  CadlPlayer::_kyra1SoundTriggers[] = {
   0, 4, 5, 3
 };
 
-const int CadlPlayer::_kyra1NumSoundTriggers = ARRAYSIZE(CadlPlayer::_kyra1SoundTriggers);
-
-CadlPlayer::CadlPlayer(Copl *newopl)
-  : CPlayer(newopl), numsubsongs(0), _trackEntries(), _soundDataPtr(0)
+const int
+  CadlPlayer::_kyra1NumSoundTriggers =
+ARRAYSIZE (CadlPlayer::_kyra1SoundTriggers);
+
+CadlPlayer::CadlPlayer (Copl * newopl):CPlayer (newopl), numsubsongs (0), _trackEntries (),
+_soundDataPtr (0)
 {
-  memset(_trackEntries, 0, sizeof(_trackEntries));
-  _driver = new AdlibDriver(newopl);
-  assert(_driver);
+  memset (_trackEntries, 0, sizeof (_trackEntries));
+  _driver = new AdlibDriver (newopl);
+  assert (_driver);
 
   _sfxPlayingSound = -1;
-  // 	_soundFileLoaded = "";
+  //    _soundFileLoaded = "";
 
   _soundTriggers = _kyra1SoundTriggers;
   _numSoundTriggers = _kyra1NumSoundTriggers;
 
-  init();
+  init ();
 }
 
-CadlPlayer::~CadlPlayer() {
-  delete [] _soundDataPtr; _soundDataPtr = 0;
-  delete _driver; _driver = 0;
+CadlPlayer::~CadlPlayer ()
+{
+  delete[]_soundDataPtr;
+  _soundDataPtr = 0;
+  delete _driver;
+  _driver = 0;
 }
 
-bool CadlPlayer::init() {
-  _driver->callback(2);
-  _driver->callback(16, int(4));
+bool
+CadlPlayer::init ()
+{
+  _driver->callback (2);
+  _driver->callback (16, int (4));
   return true;
 }
 
-void CadlPlayer::process() {
-  uint8 trigger = _driver->callback(11);
-
-  if (trigger < _numSoundTriggers) {
+void
+CadlPlayer::process ()
+{
+  uint8 trigger = _driver->callback (11);
+
+  if (trigger < _numSoundTriggers)
+  {
     int soundId = _soundTriggers[trigger];
 
-    if (soundId) {
-      playTrack(soundId);
+    if (soundId)
+    {
+      playTrack (soundId);
     }
-  } else {
-    warning("Unknown sound trigger %d", trigger);
+  }
+  else
+  {
+    warning ("Unknown sound trigger %d", trigger);
     // TODO: At this point, we really want to clear the trigger...
   }
 }
@@ -2247,50 +2667,59 @@
 // }
 
 // int CadlPlayer::getVolume() {
-// 	return 0;
+//  return 0;
 // }
 
 // void CadlPlayer::loadMusicFile(const char *file) {
-// 	loadSoundFile(file);
+//  loadSoundFile(file);
 // }
 
-void CadlPlayer::playTrack(uint8 track) {
-  play(track);
+void
+CadlPlayer::playTrack (uint8 track)
+{
+  play (track);
 }
 
 // void CadlPlayer::haltTrack() {
-// 	unk1();
-// 	unk2();
-// 	//_engine->_system->delayMillis(3 * 60);
+//  unk1();
+//  unk2();
+//  //_engine->_system->delayMillis(3 * 60);
 // }
 
-void CadlPlayer::playSoundEffect(uint8_t track) {
-  play(track);
+void
+CadlPlayer::playSoundEffect (uint8_t track)
+{
+  play (track);
 }
 
-void CadlPlayer::play(uint8_t track) {
+void
+CadlPlayer::play (uint8_t track)
+{
   uint8 soundId = _trackEntries[track];
-  if ((int8)soundId == -1 || !_soundDataPtr)
+  if ((int8) soundId == -1 || !_soundDataPtr)
     return;
   soundId &= 0xFF;
-  _driver->callback(16, 0);
-  // 	while ((_driver->callback(16, 0) & 8)) {
+  _driver->callback (16, 0);
+  //    while ((_driver->callback(16, 0) & 8)) {
   // We call the system delay and not the game delay to avoid concurrency issues.
-  // 		_engine->_system->delayMillis(10);
-  // 	}
-  if (_sfxPlayingSound != -1) {
+  //        _engine->_system->delayMillis(10);
+  //    }
+  if (_sfxPlayingSound != -1)
+  {
     // Restore the sounds's normal values.
-    _driver->callback(10, _sfxPlayingSound, int(1), int(_sfxPriority));
-    _driver->callback(10, _sfxPlayingSound, int(3), int(_sfxFourthByteOfSong));
+    _driver->callback (10, _sfxPlayingSound, int (1), int (_sfxPriority));
+    _driver->callback (10, _sfxPlayingSound, int (3),
+                       int (_sfxFourthByteOfSong));
     _sfxPlayingSound = -1;
   }
 
-  int chan = _driver->callback(9, soundId, int(0));
-
-  if (chan != 9) {
+  int chan = _driver->callback (9, soundId, int (0));
+
+  if (chan != 9)
+  {
     _sfxPlayingSound = soundId;
-    _sfxPriority = _driver->callback(9, soundId, int(1));
-    _sfxFourthByteOfSong = _driver->callback(9, soundId, int(3));
+    _sfxPriority = _driver->callback (9, soundId, int (1));
+    _sfxFourthByteOfSong = _driver->callback (9, soundId, int (3));
 
     // In the cases I've seen, the mysterious fourth byte has been
     // the parameter for the update_setExtraLevel3() callback.
@@ -2305,124 +2734,135 @@
 
     int newVal = ((((-_sfxFourthByteOfSong) + 63) * 0xFF) >> 8) & 0xFF;
     newVal = -newVal + 63;
-    _driver->callback(10, soundId, int(3), newVal);
+    _driver->callback (10, soundId, int (3), newVal);
     newVal = ((_sfxPriority * 0xFF) >> 8) & 0xFF;
-    _driver->callback(10, soundId, int(1), newVal);
+    _driver->callback (10, soundId, int (1), newVal);
   }
 
-  _driver->callback(6, soundId);
+  _driver->callback (6, soundId);
 }
 
 // void CadlPlayer::beginFadeOut() {
-// 	playSoundEffect(1);
+//  playSoundEffect(1);
 // }
 
-bool CadlPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CadlPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream	*f = fp.open(fd);
-  std::string   filename(fd->uri);
+  binistream *f = fp.open (fd);
+  std::string filename (fd->uri);
 
   // file validation section
-  if(!f || !fp.extension(filename, ".adl")) {
-    fp.close(f);
+  if (!f || !fp.extension (filename, ".adl"))
+  {
+    fp.close (f);
     return false;
   }
 
-  // 	if (_soundFileLoaded == file)
-  // 		return;
-
-  // 	if (_soundDataPtr) {
-  // 		haltTrack();
-  // 	}
-
-  uint8 *file_data = 0; uint32 file_size = 0;
-
-  // 	char filename[25];
-  // 	sprintf(filename, "%s.ADL", file);
-
-  // 	file_data = _engine->resource()->fileData(filename, &file_size);
-  // 	if (!file_data) {
-  // 		warning("Couldn't find music file: '%s'", filename);
-  // 		return;
-  // 	}
-
-  unk2();
-  unk1();
-
-  file_size = fp.filesize(f);
-  file_data = new uint8 [file_size];
-  f->readString((char *)file_data, file_size);
-
-  _driver->callback(8, int(-1));
+  //    if (_soundFileLoaded == file)
+  //        return;
+
+  //    if (_soundDataPtr) {
+  //        haltTrack();
+  //    }
+
+  uint8 *file_data = 0;
+  uint32 file_size = 0;
+
+  //    char filename[25];
+  //    sprintf(filename, "%s.ADL", file);
+
+  //    file_data = _engine->resource()->fileData(filename, &file_size);
+  //    if (!file_data) {
+  //        warning("Couldn't find music file: '%s'", filename);
+  //        return;
+  //    }
+
+  unk2 ();
+  unk1 ();
+
+  file_size = fp.filesize (f);
+  file_data = new uint8[file_size];
+  f->readString ((char *) file_data, file_size);
+
+  _driver->callback (8, int (-1));
   _soundDataPtr = 0;
 
   uint8 *p = file_data;
-  memcpy(_trackEntries, p, 120*sizeof(uint8));
+  memcpy (_trackEntries, p, 120 * sizeof (uint8));
   p += 120;
 
   int soundDataSize = file_size - 120;
 
   _soundDataPtr = new uint8[soundDataSize];
-  assert(_soundDataPtr);
-
-  memcpy(_soundDataPtr, p, soundDataSize*sizeof(uint8));
-
-  delete [] file_data;
+  assert (_soundDataPtr);
+
+  memcpy (_soundDataPtr, p, soundDataSize * sizeof (uint8));
+
+  delete[]file_data;
   file_data = p = 0;
   file_size = 0;
 
-  _driver->callback(4, _soundDataPtr);
-
-  // 	_soundFileLoaded = file;
-
-  for(int i = 0; i < 200; i++)
-    if(_trackEntries[i] != 0xff)
+  _driver->callback (4, _soundDataPtr);
+
+  //    _soundFileLoaded = file;
+
+  for (int i = 0; i < 200; i++)
+    if (_trackEntries[i] != 0xff)
       numsubsongs = i + 1;
 
-  fp.close(f);
+  fp.close (f);
   return true;
 }
 
-void CadlPlayer::rewind(int subsong)
+void
+CadlPlayer::rewind (int subsong)
 {
-  opl->init();
-  opl->write(1,32);
-  playSoundEffect(subsong);
+  opl->init ();
+  opl->write (1, 32);
+  playSoundEffect (subsong);
   cursubsong = subsong;
-  update();
+  update ();
 }
 
-unsigned int CadlPlayer::getsubsongs()
+unsigned int
+CadlPlayer::getsubsongs ()
 {
   return numsubsongs;
 }
 
-bool CadlPlayer::update()
+bool
+CadlPlayer::update ()
 {
   bool songend = true;
 
 //   if(_trackEntries[cursubsong] == 0xff)
 //     return false;
 
-  _driver->callback();
-
-  for(int i = 0; i < 10; i++)
-    if(_driver->_channels[i].dataptr != NULL)
+  _driver->callback ();
+
+  for (int i = 0; i < 10; i++)
+    if (_driver->_channels[i].dataptr != NULL)
       songend = false;
 
   return !songend;
 }
 
-void CadlPlayer::unk1() {
-  playSoundEffect(0);
+void
+CadlPlayer::unk1 ()
+{
+  playSoundEffect (0);
   //_engine->_system->delayMillis(5 * 60);
 }
 
-void CadlPlayer::unk2() {
-  playSoundEffect(0);
+void
+CadlPlayer::unk2 ()
+{
+  playSoundEffect (0);
 }
 
-CPlayer *CadlPlayer::factory(Copl *newopl)
+CPlayer *
+CadlPlayer::factory (Copl * newopl)
 {
-  return new CadlPlayer(newopl);
+  return new CadlPlayer (newopl);
 }
--- a/src/adplug/core/adplug.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/adplug.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -67,120 +67,136 @@
 
 /***** Defines *****/
 
-#define VERSION		"1.6"		// AdPlug library version string
+#define VERSION		"1.6"       // AdPlug library version string
 
 /***** CAdPlug *****/
 
 // List of all players that come with the standard AdPlug distribution
-const CPlayerDesc CAdPlug::allplayers[] = {
-  CPlayerDesc(ChscPlayer::factory, "HSC-Tracker", ".hsc\0"),
-  CPlayerDesc(CsngPlayer::factory, "SNGPlay", ".sng\0"),
-  CPlayerDesc(CimfPlayer::factory, "Apogee IMF", ".imf\0.wlf\0.adlib\0"),
-  CPlayerDesc(Ca2mLoader::factory, "Adlib Tracker 2", ".a2m\0"),
-  CPlayerDesc(CadtrackLoader::factory, "Adlib Tracker", ".sng\0"),
-  CPlayerDesc(CamdLoader::factory, "AMUSIC", ".amd\0"),
-  CPlayerDesc(CbamPlayer::factory, "Bob's Adlib Music", ".bam\0"),
-  CPlayerDesc(Cd00Player::factory, "Packed EdLib", ".d00\0"),
-  CPlayerDesc(CdfmLoader::factory, "Digital-FM", ".dfm\0"),
-  CPlayerDesc(ChspLoader::factory, "HSC Packed", ".hsp\0"),
-  CPlayerDesc(CksmPlayer::factory, "Ken Silverman Music", ".ksm\0"),
-  CPlayerDesc(CmadLoader::factory, "Mlat Adlib Tracker", ".mad\0"),
-  CPlayerDesc(CmidPlayer::factory, "MIDI", ".cmf\0.sci\0.laa\0"),
-  CPlayerDesc(CmkjPlayer::factory, "MKJamz", ".mkj\0"),
-  CPlayerDesc(CcffLoader::factory, "Boomtracker", ".cff\0"),
-  CPlayerDesc(CdmoLoader::factory, "TwinTeam", ".dmo\0"),
-  CPlayerDesc(Cs3mPlayer::factory, "Scream Tracker 3", ".s3m\0"),
-  CPlayerDesc(CdtmLoader::factory, "DeFy Adlib Tracker", ".dtm\0"),
-  CPlayerDesc(CfmcLoader::factory, "Faust Music Creator", ".sng\0"),
-  CPlayerDesc(CmtkLoader::factory, "MPU-401 Trakker", ".mtk\0"),
-  CPlayerDesc(CradLoader::factory, "Reality Adlib Tracker", ".rad\0"),
-  CPlayerDesc(CrawPlayer::factory, "RdosPlay RAW", ".raw\0"),
-  CPlayerDesc(Csa2Loader::factory, "Surprise! Adlib Tracker", ".sat\0.sa2\0"),
-  CPlayerDesc(CxadbmfPlayer::factory, "BMF Adlib Tracker", ".xad\0"),
-  CPlayerDesc(CxadflashPlayer::factory, "Flash", ".xad\0"),
-  CPlayerDesc(CxadhybridPlayer::factory, "Hybrid", ".xad\0"),
-  CPlayerDesc(CxadhypPlayer::factory, "Hypnosis", ".xad\0"),
-  CPlayerDesc(CxadpsiPlayer::factory, "PSI", ".xad\0"),
-  CPlayerDesc(CxadratPlayer::factory, "rat", ".xad\0"),
-  CPlayerDesc(CldsPlayer::factory, "LOUDNESS Sound System", ".lds\0"),
-  CPlayerDesc(Cu6mPlayer::factory, "Ultima 6 Music", ".m\0"),
-  CPlayerDesc(CrolPlayer::factory, "Adlib Visual Composer", ".rol\0"),
-  CPlayerDesc(CxsmPlayer::factory, "eXtra Simple Music", ".xsm\0"),
-  CPlayerDesc(CdroPlayer::factory, "DOSBox Raw OPL", ".dro\0"),
-  CPlayerDesc(CmscPlayer::factory, "Adlib MSC Player", ".msc\0"),
-  CPlayerDesc(CrixPlayer::factory, "Softstar RIX OPL Music", ".rix\0"),
-  CPlayerDesc(CadlPlayer::factory, "Westwood ADL", ".adl\0"),
-  CPlayerDesc()
+const CPlayerDesc
+  CAdPlug::allplayers[] = {
+  CPlayerDesc (ChscPlayer::factory, "HSC-Tracker", ".hsc\0"),
+  CPlayerDesc (CsngPlayer::factory, "SNGPlay", ".sng\0"),
+  CPlayerDesc (CimfPlayer::factory, "Apogee IMF", ".imf\0.wlf\0.adlib\0"),
+  CPlayerDesc (Ca2mLoader::factory, "Adlib Tracker 2", ".a2m\0"),
+  CPlayerDesc (CadtrackLoader::factory, "Adlib Tracker", ".sng\0"),
+  CPlayerDesc (CamdLoader::factory, "AMUSIC", ".amd\0"),
+  CPlayerDesc (CbamPlayer::factory, "Bob's Adlib Music", ".bam\0"),
+  CPlayerDesc (Cd00Player::factory, "Packed EdLib", ".d00\0"),
+  CPlayerDesc (CdfmLoader::factory, "Digital-FM", ".dfm\0"),
+  CPlayerDesc (ChspLoader::factory, "HSC Packed", ".hsp\0"),
+  CPlayerDesc (CksmPlayer::factory, "Ken Silverman Music", ".ksm\0"),
+  CPlayerDesc (CmadLoader::factory, "Mlat Adlib Tracker", ".mad\0"),
+  CPlayerDesc (CmidPlayer::factory, "MIDI", ".cmf\0.sci\0.laa\0"),
+  CPlayerDesc (CmkjPlayer::factory, "MKJamz", ".mkj\0"),
+  CPlayerDesc (CcffLoader::factory, "Boomtracker", ".cff\0"),
+  CPlayerDesc (CdmoLoader::factory, "TwinTeam", ".dmo\0"),
+  CPlayerDesc (Cs3mPlayer::factory, "Scream Tracker 3", ".s3m\0"),
+  CPlayerDesc (CdtmLoader::factory, "DeFy Adlib Tracker", ".dtm\0"),
+  CPlayerDesc (CfmcLoader::factory, "Faust Music Creator", ".sng\0"),
+  CPlayerDesc (CmtkLoader::factory, "MPU-401 Trakker", ".mtk\0"),
+  CPlayerDesc (CradLoader::factory, "Reality Adlib Tracker", ".rad\0"),
+  CPlayerDesc (CrawPlayer::factory, "RdosPlay RAW", ".raw\0"),
+  CPlayerDesc (Csa2Loader::factory, "Surprise! Adlib Tracker",
+               ".sat\0.sa2\0"),
+  CPlayerDesc (CxadbmfPlayer::factory, "BMF Adlib Tracker", ".xad\0"),
+  CPlayerDesc (CxadflashPlayer::factory, "Flash", ".xad\0"),
+  CPlayerDesc (CxadhybridPlayer::factory, "Hybrid", ".xad\0"),
+  CPlayerDesc (CxadhypPlayer::factory, "Hypnosis", ".xad\0"),
+  CPlayerDesc (CxadpsiPlayer::factory, "PSI", ".xad\0"),
+  CPlayerDesc (CxadratPlayer::factory, "rat", ".xad\0"),
+  CPlayerDesc (CldsPlayer::factory, "LOUDNESS Sound System", ".lds\0"),
+  CPlayerDesc (Cu6mPlayer::factory, "Ultima 6 Music", ".m\0"),
+  CPlayerDesc (CrolPlayer::factory, "Adlib Visual Composer", ".rol\0"),
+  CPlayerDesc (CxsmPlayer::factory, "eXtra Simple Music", ".xsm\0"),
+  CPlayerDesc (CdroPlayer::factory, "DOSBox Raw OPL", ".dro\0"),
+  CPlayerDesc (CmscPlayer::factory, "Adlib MSC Player", ".msc\0"),
+  CPlayerDesc (CrixPlayer::factory, "Softstar RIX OPL Music", ".rix\0"),
+  CPlayerDesc (CadlPlayer::factory, "Westwood ADL", ".adl\0"),
+  CPlayerDesc ()
 };
 
-const CPlayers &CAdPlug::init_players(const CPlayerDesc pd[])
+const
+  CPlayers &
+CAdPlug::init_players (const CPlayerDesc pd[])
 {
-  static CPlayers	initplayers;
-  unsigned int		i;
+  static CPlayers initplayers;
+  unsigned int i;
 
-  for(i = 0; pd[i].factory; i++)
-    initplayers.push_back(&pd[i]);
+  for (i = 0; pd[i].factory; i++)
+    initplayers.push_back (&pd[i]);
 
   return initplayers;
 }
 
-const CPlayers CAdPlug::players = CAdPlug::init_players(CAdPlug::allplayers);
-CAdPlugDatabase *CAdPlug::database = 0;
+const CPlayers
+  CAdPlug::players = CAdPlug::init_players (CAdPlug::allplayers);
+CAdPlugDatabase *
+  CAdPlug::database = 0;
 
-CPlayer *CAdPlug::factory(VFSFile *fd, Copl *opl, const CPlayers &pl,
-			  const CFileProvider &fp)
+CPlayer *
+CAdPlug::factory (VFSFile * fd, Copl * opl, const CPlayers & pl,
+                  const CFileProvider & fp)
 {
-  CPlayer			*p;
-  CPlayers::const_iterator	i;
-  unsigned int			j;
+  CPlayer *p;
+  CPlayers::const_iterator i;
+  unsigned int j;
 
   // Try a direct hit by file extension
-  for(i = pl.begin(); i != pl.end(); i++)
-    for(j = 0; (*i)->get_extension(j); j++)
-      if(fp.extension(fd->uri, (*i)->get_extension(j))) {
-	AdPlug_LogWrite("Trying direct hit: %s\n", (*i)->filetype.c_str());
-        vfs_rewind(fd);
-	if((p = (*i)->factory(opl)))
-	  if(p->load(fd, fp)) {
-	    AdPlug_LogWrite("got it!\n");
-	    AdPlug_LogWrite("--- CAdPlug::factory ---\n");
-	    return p;
-	  } else
-	    delete p;
+  for (i = pl.begin (); i != pl.end (); i++)
+    for (j = 0; (*i)->get_extension (j); j++)
+      if (fp.extension (fd->uri, (*i)->get_extension (j)))
+      {
+        AdPlug_LogWrite ("Trying direct hit: %s\n", (*i)->filetype.c_str ());
+        vfs_rewind (fd);
+        if ((p = (*i)->factory (opl)))
+          if (p->load (fd, fp))
+          {
+            AdPlug_LogWrite ("got it!\n");
+            AdPlug_LogWrite ("--- CAdPlug::factory ---\n");
+            return p;
+          }
+          else
+            delete p;
       }
 
 #if 0
   // Try all players, one by one
-  for(i = pl.begin(); i != pl.end(); i++) {
-    AdPlug_LogWrite("Trying: %s\n", (*i)->filetype.c_str());
-    if((p = (*i)->factory(opl)))
-      if(p->load(fd, fp)) {
-        AdPlug_LogWrite("got it!\n");
-        AdPlug_LogWrite("--- CAdPlug::factory ---\n");
-	return p;
-      } else
-	delete p;
+  for (i = pl.begin (); i != pl.end (); i++)
+  {
+    AdPlug_LogWrite ("Trying: %s\n", (*i)->filetype.c_str ());
+    if ((p = (*i)->factory (opl)))
+      if (p->load (fd, fp))
+      {
+        AdPlug_LogWrite ("got it!\n");
+        AdPlug_LogWrite ("--- CAdPlug::factory ---\n");
+        return p;
+      }
+      else
+        delete p;
   }
 #endif
 
   // Unknown file
-  AdPlug_LogWrite("End of list!\n");
-  AdPlug_LogWrite("--- CAdPlug::factory ---\n");
+  AdPlug_LogWrite ("End of list!\n");
+  AdPlug_LogWrite ("--- CAdPlug::factory ---\n");
   return 0;
 }
 
-void CAdPlug::set_database(CAdPlugDatabase *db)
+void
+CAdPlug::set_database (CAdPlugDatabase * db)
 {
   database = db;
 }
 
-std::string CAdPlug::get_version()
+std::string CAdPlug::get_version ()
 {
-  return std::string(VERSION);
+  return std::string (VERSION);
 }
 
-void CAdPlug::debug_output(const std::string &filename)
+void
+CAdPlug::debug_output (const std::string & filename)
 {
-  AdPlug_LogFile(filename.c_str());
-  AdPlug_LogWrite("CAdPlug::debug_output(\"%s\"): Redirected.\n",filename.c_str());
+  AdPlug_LogFile (filename.c_str ());
+  AdPlug_LogWrite ("CAdPlug::debug_output(\"%s\"): Redirected.\n",
+                   filename.c_str ());
 }
--- a/src/adplug/core/adtrack.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/adtrack.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -37,117 +37,177 @@
 
 /*** Public methods ***/
 
-CPlayer *CadtrackLoader::factory(Copl *newopl)
+CPlayer *
+CadtrackLoader::factory (Copl * newopl)
 {
-  return new CadtrackLoader(newopl);
+  return new CadtrackLoader (newopl);
 }
 
-bool CadtrackLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CadtrackLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
   binistream *instf;
   char note[2];
   unsigned short rwp;
   unsigned char chp, octave, pnote = 0;
-  int i,j;
+  int i, j;
   AdTrackInst myinst;
-  std::string filename(fd->uri);
+  std::string filename (fd->uri);
 
   // file validation
-  if(!fp.extension(filename, ".sng") || fp.filesize(f) != 36000)
-    { fp.close(f); return false; }
+  if (!fp.extension (filename, ".sng") || fp.filesize (f) != 36000)
+  {
+    fp.close (f);
+    return false;
+  }
 
   // check for instruments file
-  std::string instfilename(filename, 0, filename.find_last_of('.'));
+  std::string instfilename (filename, 0, filename.find_last_of ('.'));
   instfilename += ".ins";
-  AdPlug_LogWrite("CadtrackLoader::load(,\"%s\"): Checking for \"%s\"...\n",
-		  filename.c_str(), instfilename.c_str());
+  AdPlug_LogWrite ("CadtrackLoader::load(,\"%s\"): Checking for \"%s\"...\n",
+                   filename.c_str (), instfilename.c_str ());
 
-  VFSFile *instfd = vfs_fopen(instfilename.c_str(), "rb");
-  instf = fp.open(instfd);
-  if(!instf || fp.filesize(instf) != 468) { fp.close(f); vfs_fclose(instfd); return false; }
+  VFSFile *instfd = vfs_fopen (instfilename.c_str (), "rb");
+  instf = fp.open (instfd);
+  if (!instf || fp.filesize (instf) != 468)
+  {
+    fp.close (f);
+    vfs_fclose (instfd);
+    return false;
+  }
 
   // give CmodPlayer a hint on what we're up to
-  realloc_patterns(1,1000,9); realloc_instruments(9); realloc_order(1);
-  init_trackord(); flags = NoKeyOn;
-  (*order) = 0; length = 1; restartpos = 0; bpm = 120; initspeed = 3;
+  realloc_patterns (1, 1000, 9);
+  realloc_instruments (9);
+  realloc_order (1);
+  init_trackord ();
+  flags = NoKeyOn;
+  (*order) = 0;
+  length = 1;
+  restartpos = 0;
+  bpm = 120;
+  initspeed = 3;
 
   // load instruments from instruments file
-  for(i=0;i<9;i++) {
-    for(j=0;j<2;j++) {
-      myinst.op[j].appampmod = instf->readInt(2);
-      myinst.op[j].appvib = instf->readInt(2);
-      myinst.op[j].maintsuslvl = instf->readInt(2);
-      myinst.op[j].keybscale = instf->readInt(2);
-      myinst.op[j].octave = instf->readInt(2);
-      myinst.op[j].freqrisevollvldn = instf->readInt(2);
-      myinst.op[j].softness = instf->readInt(2);
-      myinst.op[j].attack = instf->readInt(2);
-      myinst.op[j].decay = instf->readInt(2);
-      myinst.op[j].release = instf->readInt(2);
-      myinst.op[j].sustain = instf->readInt(2);
-      myinst.op[j].feedback = instf->readInt(2);
-      myinst.op[j].waveform = instf->readInt(2);
+  for (i = 0; i < 9; i++)
+  {
+    for (j = 0; j < 2; j++)
+    {
+      myinst.op[j].appampmod = instf->readInt (2);
+      myinst.op[j].appvib = instf->readInt (2);
+      myinst.op[j].maintsuslvl = instf->readInt (2);
+      myinst.op[j].keybscale = instf->readInt (2);
+      myinst.op[j].octave = instf->readInt (2);
+      myinst.op[j].freqrisevollvldn = instf->readInt (2);
+      myinst.op[j].softness = instf->readInt (2);
+      myinst.op[j].attack = instf->readInt (2);
+      myinst.op[j].decay = instf->readInt (2);
+      myinst.op[j].release = instf->readInt (2);
+      myinst.op[j].sustain = instf->readInt (2);
+      myinst.op[j].feedback = instf->readInt (2);
+      myinst.op[j].waveform = instf->readInt (2);
     }
-    convert_instrument(i, &myinst);
+    convert_instrument (i, &myinst);
   }
-  fp.close(instf);
+  fp.close (instf);
 
   // load file
-  for(rwp=0;rwp<1000;rwp++)
-    for(chp=0;chp<9;chp++) {
+  for (rwp = 0; rwp < 1000; rwp++)
+    for (chp = 0; chp < 9; chp++)
+    {
       // read next record
-      f->readString(note, 2); octave = f->readInt(1); f->ignore();
-      switch(*note) {
-      case 'C': if(note[1] == '#') pnote = 2; else pnote = 1; break;
-      case 'D': if(note[1] == '#') pnote = 4; else pnote = 3; break;
-      case 'E': pnote = 5; break;
-      case 'F': if(note[1] == '#') pnote = 7; else pnote = 6; break;
-      case 'G': if(note[1] == '#') pnote = 9; else pnote = 8; break;
-      case 'A': if(note[1] == '#') pnote = 11; else pnote = 10; break;
-      case 'B': pnote = 12; break;
+      f->readString (note, 2);
+      octave = f->readInt (1);
+      f->ignore ();
+      switch (*note)
+      {
+      case 'C':
+        if (note[1] == '#')
+          pnote = 2;
+        else
+          pnote = 1;
+        break;
+      case 'D':
+        if (note[1] == '#')
+          pnote = 4;
+        else
+          pnote = 3;
+        break;
+      case 'E':
+        pnote = 5;
+        break;
+      case 'F':
+        if (note[1] == '#')
+          pnote = 7;
+        else
+          pnote = 6;
+        break;
+      case 'G':
+        if (note[1] == '#')
+          pnote = 9;
+        else
+          pnote = 8;
+        break;
+      case 'A':
+        if (note[1] == '#')
+          pnote = 11;
+        else
+          pnote = 10;
+        break;
+      case 'B':
+        pnote = 12;
+        break;
       case '\0':
-	if(note[1] == '\0')
-	  tracks[chp][rwp].note = 127;
-	else {
-	  fp.close(f);
-	  return false;
-	}
-	break;
-      default: fp.close(f); return false;
+        if (note[1] == '\0')
+          tracks[chp][rwp].note = 127;
+        else
+        {
+          fp.close (f);
+          return false;
+        }
+        break;
+      default:
+        fp.close (f);
+        return false;
       }
-      if((*note) != '\0') {
-	tracks[chp][rwp].note = pnote + (octave * 12);
-	tracks[chp][rwp].inst = chp + 1;
+      if ((*note) != '\0')
+      {
+        tracks[chp][rwp].note = pnote + (octave * 12);
+        tracks[chp][rwp].inst = chp + 1;
       }
     }
 
-  fp.close(f);
-  rewind(0);
+  fp.close (f);
+  rewind (0);
   return true;
 }
 
-float CadtrackLoader::getrefresh()
+float
+CadtrackLoader::getrefresh ()
 {
   return 18.2f;
 }
 
 /*** Private methods ***/
 
-void CadtrackLoader::convert_instrument(unsigned int n, AdTrackInst *i)
+void
+CadtrackLoader::convert_instrument (unsigned int n, AdTrackInst * i)
 {
   // Carrier "Amp Mod / Vib / Env Type / KSR / Multiple" register
   inst[n].data[2] = i->op[Carrier].appampmod ? 1 << 7 : 0;
   inst[n].data[2] += i->op[Carrier].appvib ? 1 << 6 : 0;
   inst[n].data[2] += i->op[Carrier].maintsuslvl ? 1 << 5 : 0;
   inst[n].data[2] += i->op[Carrier].keybscale ? 1 << 4 : 0;
-  inst[n].data[2] += (i->op[Carrier].octave + 1) & 0xffff; // Bug in original tracker
+  inst[n].data[2] += (i->op[Carrier].octave + 1) & 0xffff;  // Bug in original tracker
   // Modulator...
   inst[n].data[1] = i->op[Modulator].appampmod ? 1 << 7 : 0;
   inst[n].data[1] += i->op[Modulator].appvib ? 1 << 6 : 0;
   inst[n].data[1] += i->op[Modulator].maintsuslvl ? 1 << 5 : 0;
   inst[n].data[1] += i->op[Modulator].keybscale ? 1 << 4 : 0;
-  inst[n].data[1] += (i->op[Modulator].octave + 1) & 0xffff; // Bug in original tracker
+  inst[n].data[1] += (i->op[Modulator].octave + 1) & 0xffff;    // Bug in original tracker
 
   // Carrier "Key Scaling / Level" register
   inst[n].data[10] = (i->op[Carrier].freqrisevollvldn & 3) << 6;
--- a/src/adplug/core/amd.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/amd.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -24,21 +24,26 @@
 #include "amd.h"
 #include "debug.h"
 
-CPlayer *CamdLoader::factory(Copl *newopl)
+CPlayer *
+CamdLoader::factory (Copl * newopl)
 {
-  return new CamdLoader(newopl);
+  return new CamdLoader (newopl);
 }
 
-bool CamdLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CamdLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-        binistream *f = fp.open(fd); if(!f) return false;
-	struct {
-		char id[9];
-		unsigned char version;
-	} header;
-	int i, j, k, t, numtrax, maxi = 0;
-	unsigned char buf, buf2, buf3;
-	const unsigned char convfx[10] = {0,1,2,9,17,11,13,18,3,14};
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  struct
+  {
+    char id[9];
+    unsigned char version;
+  } header;
+  int i, j, k, t, numtrax, maxi = 0;
+  unsigned char buf, buf2, buf3;
+  const unsigned char convfx[10] = { 0, 1, 2, 9, 17, 11, 13, 18, 3, 14 };
   const unsigned char convvol[64] = {
     0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 9, 0xa, 0xa, 0xb,
     0xc, 0xc, 0xd, 0xe, 0xe, 0xf, 0x10, 0x10, 0x11, 0x12, 0x13, 0x14, 0x14,
@@ -47,147 +52,180 @@
     0x37, 0x3a, 0x3c, 0x3f
   };
 
-	// file validation section
-	if(fp.filesize(f) < 1072) { fp.close(f); return false; }
-	f->seek(1062); f->readString(header.id, 9);
-	header.version = f->readInt(1);
-	if(strncmp(header.id, "<o\xefQU\xeeRoR", 9) &&
-	   strncmp(header.id, "MaDoKaN96", 9)) { fp.close(f); return false; }
+  // file validation section
+  if (fp.filesize (f) < 1072)
+  {
+    fp.close (f);
+    return false;
+  }
+  f->seek (1062);
+  f->readString (header.id, 9);
+  header.version = f->readInt (1);
+  if (strncmp (header.id, "<o\xefQU\xeeRoR", 9) &&
+      strncmp (header.id, "MaDoKaN96", 9))
+  {
+    fp.close (f);
+    return false;
+  }
 
-	// load section
-	memset(inst, 0, sizeof(inst));
-	f->seek(0);
-	f->readString(songname, sizeof(songname));
-	f->readString(author, sizeof(author));
-	for(i = 0; i < 26; i++) {
-		f->readString(instname[i], 23);
-		for(j = 0; j < 11; j++) inst[i].data[j] = f->readInt(1);
-	}
-	length = f->readInt(1); nop = f->readInt(1) + 1;
-	for(i=0;i<128;i++) order[i] = f->readInt(1);
-	f->seek(10, binio::Add);
-	if(header.version == 0x10) {	// unpacked module
-	maxi = nop * 9;
-		for(i=0;i<64*9;i++)
-			trackord[i/9][i%9] = i+1;
-		t = 0;
-		while(!f->ateof()) {
-			for(j=0;j<64;j++)
-				for(i=t;i<t+9;i++) {
-					buf = f->readInt(1);
-					tracks[i][j].param2 = (buf&127) % 10;
-					tracks[i][j].param1 = (buf&127) / 10;
-					buf = f->readInt(1);
-					tracks[i][j].inst = buf >> 4;
-					tracks[i][j].command = buf & 0x0f;
-					buf = f->readInt(1);
-					if(buf >> 4)	// fix bug in AMD save routine
-						tracks[i][j].note = ((buf & 14) >> 1) * 12 + (buf >> 4);
-					else
-						tracks[i][j].note = 0;
-					tracks[i][j].inst += (buf & 1) << 4;
-				}
-			t += 9;
-		}
-	} else {						// packed module
-		for(i=0;i<nop;i++)
-		  for(j=0;j<9;j++)
-		    trackord[i][j] = f->readInt(2) + 1;
-		numtrax = f->readInt(2);
-		for(k=0;k<numtrax;k++) {
-			i = f->readInt(2);
-			if(i > 575) i = 575;	// fix corrupted modules
-			maxi = (i + 1 > maxi ? i + 1 : maxi);
-			j = 0;
-			do {
-				buf = f->readInt(1);
-				if(buf & 128) {
-					for(t = j; t < j + (buf & 127) && t < 64; t++) {
-						tracks[i][t].command = 0;
-						tracks[i][t].inst = 0;
-						tracks[i][t].note = 0;
-						tracks[i][t].param1 = 0;
-						tracks[i][t].param2 = 0;
-					}
-					j += buf & 127;
-					continue;
-				}
-				tracks[i][j].param2 = buf % 10;
-				tracks[i][j].param1 = buf / 10;
-				buf = f->readInt(1);
-				tracks[i][j].inst = buf >> 4;
-				tracks[i][j].command = buf & 0x0f;
-				buf = f->readInt(1);
-				if(buf >> 4)	// fix bug in AMD save routine
-					tracks[i][j].note = ((buf & 14) >> 1) * 12 + (buf >> 4);
-				else
-					tracks[i][j].note = 0;
-				tracks[i][j].inst += (buf & 1) << 4;
-				j++;
-			} while(j<64);
-		}
-	}
-	fp.close(f);
+  // load section
+  memset (inst, 0, sizeof (inst));
+  f->seek (0);
+  f->readString (songname, sizeof (songname));
+  f->readString (author, sizeof (author));
+  for (i = 0; i < 26; i++)
+  {
+    f->readString (instname[i], 23);
+    for (j = 0; j < 11; j++)
+      inst[i].data[j] = f->readInt (1);
+  }
+  length = f->readInt (1);
+  nop = f->readInt (1) + 1;
+  for (i = 0; i < 128; i++)
+    order[i] = f->readInt (1);
+  f->seek (10, binio::Add);
+  if (header.version == 0x10)
+  {                             // unpacked module
+    maxi = nop * 9;
+    for (i = 0; i < 64 * 9; i++)
+      trackord[i / 9][i % 9] = i + 1;
+    t = 0;
+    while (!f->ateof ())
+    {
+      for (j = 0; j < 64; j++)
+        for (i = t; i < t + 9; i++)
+        {
+          buf = f->readInt (1);
+          tracks[i][j].param2 = (buf & 127) % 10;
+          tracks[i][j].param1 = (buf & 127) / 10;
+          buf = f->readInt (1);
+          tracks[i][j].inst = buf >> 4;
+          tracks[i][j].command = buf & 0x0f;
+          buf = f->readInt (1);
+          if (buf >> 4)         // fix bug in AMD save routine
+            tracks[i][j].note = ((buf & 14) >> 1) * 12 + (buf >> 4);
+          else
+            tracks[i][j].note = 0;
+          tracks[i][j].inst += (buf & 1) << 4;
+        }
+      t += 9;
+    }
+  }
+  else
+  {                             // packed module
+    for (i = 0; i < nop; i++)
+      for (j = 0; j < 9; j++)
+        trackord[i][j] = f->readInt (2) + 1;
+    numtrax = f->readInt (2);
+    for (k = 0; k < numtrax; k++)
+    {
+      i = f->readInt (2);
+      if (i > 575)
+        i = 575;                // fix corrupted modules
+      maxi = (i + 1 > maxi ? i + 1 : maxi);
+      j = 0;
+      do
+      {
+        buf = f->readInt (1);
+        if (buf & 128)
+        {
+          for (t = j; t < j + (buf & 127) && t < 64; t++)
+          {
+            tracks[i][t].command = 0;
+            tracks[i][t].inst = 0;
+            tracks[i][t].note = 0;
+            tracks[i][t].param1 = 0;
+            tracks[i][t].param2 = 0;
+          }
+          j += buf & 127;
+          continue;
+        }
+        tracks[i][j].param2 = buf % 10;
+        tracks[i][j].param1 = buf / 10;
+        buf = f->readInt (1);
+        tracks[i][j].inst = buf >> 4;
+        tracks[i][j].command = buf & 0x0f;
+        buf = f->readInt (1);
+        if (buf >> 4)           // fix bug in AMD save routine
+          tracks[i][j].note = ((buf & 14) >> 1) * 12 + (buf >> 4);
+        else
+          tracks[i][j].note = 0;
+        tracks[i][j].inst += (buf & 1) << 4;
+        j++;
+      } while (j < 64);
+    }
+  }
+  fp.close (f);
 
-	// convert to protracker replay data
-	bpm = 50; restartpos = 0; flags = Decimal;
-	for(i=0;i<26;i++) {	// convert instruments
-		buf = inst[i].data[0];
-		buf2 = inst[i].data[1];
-		inst[i].data[0] = inst[i].data[10];
-		inst[i].data[1] = buf;
-		buf = inst[i].data[2];
-		inst[i].data[2] = inst[i].data[5];
-		buf3 = inst[i].data[3];
-		inst[i].data[3] = buf;
-		buf = inst[i].data[4];
-		inst[i].data[4] = inst[i].data[7];
-		inst[i].data[5] = buf3;
-		buf3 = inst[i].data[6];
-		inst[i].data[6] = inst[i].data[8];
-		inst[i].data[7] = buf;
-		inst[i].data[8] = inst[i].data[9];
-		inst[i].data[9] = buf2;
-		inst[i].data[10] = buf3;
-		for(j=0;j<23;j++)	// convert names
-			if(instname[i][j] == '\xff')
-				instname[i][j] = '\x20';
-	}
-  for(i=0;i<maxi;i++)	// convert patterns
-		for(j=0;j<64;j++) {
-			tracks[i][j].command = convfx[tracks[i][j].command];
-			// extended command
-			if(tracks[i][j].command == 14) {
-				if(tracks[i][j].param1 == 2) {
-					tracks[i][j].command = 10;
-					tracks[i][j].param1 = tracks[i][j].param2;
-					tracks[i][j].param2 = 0;
-				}
+  // convert to protracker replay data
+  bpm = 50;
+  restartpos = 0;
+  flags = Decimal;
+  for (i = 0; i < 26; i++)
+  {                             // convert instruments
+    buf = inst[i].data[0];
+    buf2 = inst[i].data[1];
+    inst[i].data[0] = inst[i].data[10];
+    inst[i].data[1] = buf;
+    buf = inst[i].data[2];
+    inst[i].data[2] = inst[i].data[5];
+    buf3 = inst[i].data[3];
+    inst[i].data[3] = buf;
+    buf = inst[i].data[4];
+    inst[i].data[4] = inst[i].data[7];
+    inst[i].data[5] = buf3;
+    buf3 = inst[i].data[6];
+    inst[i].data[6] = inst[i].data[8];
+    inst[i].data[7] = buf;
+    inst[i].data[8] = inst[i].data[9];
+    inst[i].data[9] = buf2;
+    inst[i].data[10] = buf3;
+    for (j = 0; j < 23; j++)    // convert names
+      if (instname[i][j] == '\xff')
+        instname[i][j] = '\x20';
+  }
+  for (i = 0; i < maxi; i++)    // convert patterns
+    for (j = 0; j < 64; j++)
+    {
+      tracks[i][j].command = convfx[tracks[i][j].command];
+      // extended command
+      if (tracks[i][j].command == 14)
+      {
+        if (tracks[i][j].param1 == 2)
+        {
+          tracks[i][j].command = 10;
+          tracks[i][j].param1 = tracks[i][j].param2;
+          tracks[i][j].param2 = 0;
+        }
 
-				if(tracks[i][j].param1 == 3) {
-					tracks[i][j].command = 10;
-					tracks[i][j].param1 = 0;
-				}
-			}
+        if (tracks[i][j].param1 == 3)
+        {
+          tracks[i][j].command = 10;
+          tracks[i][j].param1 = 0;
+        }
+      }
 
       // fix volume
-      if(tracks[i][j].command == 17) {
-	int vol = convvol[tracks[i][j].param1 * 10 + tracks[i][j].param2];
+      if (tracks[i][j].command == 17)
+      {
+        int vol = convvol[tracks[i][j].param1 * 10 + tracks[i][j].param2];
 
-	if(vol > 63) vol = 63;
-	tracks[i][j].param1 = vol / 10;
-	tracks[i][j].param2 = vol % 10;
+        if (vol > 63)
+          vol = 63;
+        tracks[i][j].param1 = vol / 10;
+        tracks[i][j].param2 = vol % 10;
       }
-		}
+    }
 
-	rewind(0);
-	return true;
+  rewind (0);
+  return true;
 }
 
-float CamdLoader::getrefresh()
+float
+CamdLoader::getrefresh ()
 {
-	if(tempo)
-		return (float) (tempo);
-	else
-		return 18.2f;
+  if (tempo)
+    return (float) (tempo);
+  else
+    return 18.2f;
 }
--- a/src/adplug/core/bam.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/bam.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -50,154 +50,195 @@
 #include <string.h>
 #include "bam.h"
 
-const unsigned short CbamPlayer::freq[] = {172,182,193,205,217,230,243,258,274,
-290,307,326,345,365,387,410,435,460,489,517,547,580,614,651,1369,1389,1411,
-1434,1459,1484,1513,1541,1571,1604,1638,1675,2393,2413,2435,2458,2483,2508,
-2537,2565,2595,2628,2662,2699,3417,3437,3459,3482,3507,3532,3561,3589,3619,
-3652,3686,3723,4441,4461,4483,4506,4531,4556,4585,4613,4643,4676,4710,4747,
-5465,5485,5507,5530,5555,5580,5609,5637,5667,5700,5734,5771,6489,6509,6531,
-6554,6579,6604,6633,6661,6691,6724,6758,6795,7513,7533,7555,7578,7603,7628,
-7657,7685,7715,7748,7782,7819,7858,7898,7942,7988,8037,8089,8143,8191,8191,
-8191,8191,8191,8191,8191,8191,8191,8191,8191,8191};
+const unsigned short
+  CbamPlayer::freq[] = { 172, 182, 193, 205, 217, 230, 243, 258, 274,
+  290, 307, 326, 345, 365, 387, 410, 435, 460, 489, 517, 547, 580, 614, 651,
+    1369, 1389, 1411,
+  1434, 1459, 1484, 1513, 1541, 1571, 1604, 1638, 1675, 2393, 2413, 2435,
+    2458, 2483, 2508,
+  2537, 2565, 2595, 2628, 2662, 2699, 3417, 3437, 3459, 3482, 3507, 3532,
+    3561, 3589, 3619,
+  3652, 3686, 3723, 4441, 4461, 4483, 4506, 4531, 4556, 4585, 4613, 4643,
+    4676, 4710, 4747,
+  5465, 5485, 5507, 5530, 5555, 5580, 5609, 5637, 5667, 5700, 5734, 5771,
+    6489, 6509, 6531,
+  6554, 6579, 6604, 6633, 6661, 6691, 6724, 6758, 6795, 7513, 7533, 7555,
+    7578, 7603, 7628,
+  7657, 7685, 7715, 7748, 7782, 7819, 7858, 7898, 7942, 7988, 8037, 8089,
+    8143, 8191, 8191,
+  8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191
+};
 
-CPlayer *CbamPlayer::factory(Copl *newopl)
+CPlayer *
+CbamPlayer::factory (Copl * newopl)
 {
-  return new CbamPlayer(newopl);
+  return new CbamPlayer (newopl);
 }
 
-bool CbamPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CbamPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-        binistream *f = fp.open(fd); if(!f) return false;
-	char id[4];
-	unsigned int i;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  char id[4];
+  unsigned int i;
 
-	size = fp.filesize(f) - 4;	// filesize minus header
-	f->readString(id, 4);
-	if(strncmp(id,"CBMF",4)) { fp.close(f); return false; }
+  size = fp.filesize (f) - 4;   // filesize minus header
+  f->readString (id, 4);
+  if (strncmp (id, "CBMF", 4))
+  {
+    fp.close (f);
+    return false;
+  }
 
-	song = new unsigned char [size];
-	for(i = 0; i < size; i++) song[i] = f->readInt(1);
+  song = new unsigned char[size];
+  for (i = 0; i < size; i++)
+    song[i] = f->readInt (1);
 
-	fp.close(f);
-	rewind(0);
-	return true;
+  fp.close (f);
+  rewind (0);
+  return true;
 }
 
-bool CbamPlayer::update()
+bool
+CbamPlayer::update ()
 {
-	unsigned char	cmd,c;
+  unsigned char cmd, c;
 
-	if(del) {
-		del--;
-		return !songend;
-	}
+  if (del)
+  {
+    del--;
+    return !songend;
+  }
 
-	if(pos >= size) {	// EOF detection
-		pos = 0;
-		songend = true;
-	}
+  if (pos >= size)
+  {                             // EOF detection
+    pos = 0;
+    songend = true;
+  }
 
-	while(song[pos] < 128) {
-		cmd = song[pos] & 240;
-		c = song[pos] & 15;
-		switch(cmd) {
-		case 0:		// stop song
-			pos = 0;
-			songend = true;
-			break;
-		case 16:	// start note
-			if(c < 9) {
-				opl->write(0xa0 + c, freq[song[++pos]] & 255);
-				opl->write(0xb0 + c, (freq[song[pos]] >> 8) + 32);
-			} else
-				pos++;
-			pos++;
-			break;
-		case 32:	// stop note
-			if(c < 9)
-				opl->write(0xb0 + c, 0);
-			pos++;
-			break;
-		case 48:	// define instrument
-			if(c < 9) {
-				opl->write(0x20 + op_table[c],song[pos+1]);
-				opl->write(0x23 + op_table[c],song[pos+2]);
-				opl->write(0x40 + op_table[c],song[pos+3]);
-				opl->write(0x43 + op_table[c],song[pos+4]);
-				opl->write(0x60 + op_table[c],song[pos+5]);
-				opl->write(0x63 + op_table[c],song[pos+6]);
-				opl->write(0x80 + op_table[c],song[pos+7]);
-				opl->write(0x83 + op_table[c],song[pos+8]);
-				opl->write(0xe0 + op_table[c],song[pos+9]);
-				opl->write(0xe3 + op_table[c],song[pos+10]);
-				opl->write(0xc0 + c,song[pos+11]);
-			}
-			pos += 12;
-			break;
-		case 80:	// set label
-			label[c].target = ++pos;
-			label[c].defined = true;
-			break;
-		case 96:	// jump
-			if(label[c].defined)
-				switch(song[pos+1]) {
-				case 254:	// infinite loop
-					if(label[c].defined) {
-						pos = label[c].target;
-						songend = true;
-						break;
-					}
-					// fall through...
-				case 255:	// chorus
-					if(!chorus && label[c].defined) {
-						chorus = true;
-						gosub = pos + 2;
-						pos = label[c].target;
-						break;
-					}
-					// fall through...
-				case 0:		// end of loop
-					pos += 2;
-					break;
-				default:	// finite loop
-					if(!label[c].count) {	// loop elapsed
-						label[c].count = 255;
-						pos += 2;
-						break;
-					}
-					if(label[c].count < 255)	// loop defined
-						label[c].count--;
-					else						// loop undefined
-						label[c].count = song[pos+1] - 1;
-					pos = label[c].target;
-					break;
-				}
-			break;
-		case 112:	// end of chorus
-			if(chorus) {
-				pos = gosub;
-				chorus = false;
-			} else
-				pos++;
-			break;
-		default:	// reserved command (skip)
-			pos++;
-			break;
-		}
-	}
-	if(song[pos] >= 128) {		// wait
-		del = song[pos] - 127;
-		pos++;
-	}
-	return !songend;
+  while (song[pos] < 128)
+  {
+    cmd = song[pos] & 240;
+    c = song[pos] & 15;
+    switch (cmd)
+    {
+    case 0:                    // stop song
+      pos = 0;
+      songend = true;
+      break;
+    case 16:                   // start note
+      if (c < 9)
+      {
+        opl->write (0xa0 + c, freq[song[++pos]] & 255);
+        opl->write (0xb0 + c, (freq[song[pos]] >> 8) + 32);
+      }
+      else
+        pos++;
+      pos++;
+      break;
+    case 32:                   // stop note
+      if (c < 9)
+        opl->write (0xb0 + c, 0);
+      pos++;
+      break;
+    case 48:                   // define instrument
+      if (c < 9)
+      {
+        opl->write (0x20 + op_table[c], song[pos + 1]);
+        opl->write (0x23 + op_table[c], song[pos + 2]);
+        opl->write (0x40 + op_table[c], song[pos + 3]);
+        opl->write (0x43 + op_table[c], song[pos + 4]);
+        opl->write (0x60 + op_table[c], song[pos + 5]);
+        opl->write (0x63 + op_table[c], song[pos + 6]);
+        opl->write (0x80 + op_table[c], song[pos + 7]);
+        opl->write (0x83 + op_table[c], song[pos + 8]);
+        opl->write (0xe0 + op_table[c], song[pos + 9]);
+        opl->write (0xe3 + op_table[c], song[pos + 10]);
+        opl->write (0xc0 + c, song[pos + 11]);
+      }
+      pos += 12;
+      break;
+    case 80:                   // set label
+      label[c].target = ++pos;
+      label[c].defined = true;
+      break;
+    case 96:                   // jump
+      if (label[c].defined)
+        switch (song[pos + 1])
+        {
+        case 254:              // infinite loop
+          if (label[c].defined)
+          {
+            pos = label[c].target;
+            songend = true;
+            break;
+          }
+          // fall through...
+        case 255:              // chorus
+          if (!chorus && label[c].defined)
+          {
+            chorus = true;
+            gosub = pos + 2;
+            pos = label[c].target;
+            break;
+          }
+          // fall through...
+        case 0:                // end of loop
+          pos += 2;
+          break;
+        default:               // finite loop
+          if (!label[c].count)
+          {                     // loop elapsed
+            label[c].count = 255;
+            pos += 2;
+            break;
+          }
+          if (label[c].count < 255) // loop defined
+            label[c].count--;
+          else                  // loop undefined
+            label[c].count = song[pos + 1] - 1;
+          pos = label[c].target;
+          break;
+        }
+      break;
+    case 112:                  // end of chorus
+      if (chorus)
+      {
+        pos = gosub;
+        chorus = false;
+      }
+      else
+        pos++;
+      break;
+    default:                   // reserved command (skip)
+      pos++;
+      break;
+    }
+  }
+  if (song[pos] >= 128)
+  {                             // wait
+    del = song[pos] - 127;
+    pos++;
+  }
+  return !songend;
 }
 
-void CbamPlayer::rewind(int subsong)
+void
+CbamPlayer::rewind (int subsong)
 {
-        int i;
+  int i;
 
-	pos = 0; songend = false; del = 0; gosub = 0; chorus = false;
-	memset(label, 0, sizeof(label)); label[0].defined = true;
-	for(i = 0; i < 16; i++) label[i].count = 255;	// 255 = undefined
-	opl->init(); opl->write(1,32);
+  pos = 0;
+  songend = false;
+  del = 0;
+  gosub = 0;
+  chorus = false;
+  memset (label, 0, sizeof (label));
+  label[0].defined = true;
+  for (i = 0; i < 16; i++)
+    label[i].count = 255;       // 255 = undefined
+  opl->init ();
+  opl->write (1, 32);
 }
--- a/src/adplug/core/bmf.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/bmf.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -43,57 +43,69 @@
 #include "bmf.h"
 #include "debug.h"
 
-const unsigned char CxadbmfPlayer::bmf_adlib_registers[117] =
-{
-  0x20, 0x23, 0x40, 0x43, 0x60, 0x63, 0x80, 0x83, 0xA0, 0xB0, 0xC0, 0xE0, 0xE3,
-  0x21, 0x24, 0x41, 0x44, 0x61, 0x64, 0x81, 0x84, 0xA1, 0xB1, 0xC1, 0xE1, 0xE4,
-  0x22, 0x25, 0x42, 0x45, 0x62, 0x65, 0x82, 0x85, 0xA2, 0xB2, 0xC2, 0xE2, 0xE5,
-  0x28, 0x2B, 0x48, 0x4B, 0x68, 0x6B, 0x88, 0x8B, 0xA3, 0xB3, 0xC3, 0xE8, 0xEB,
-  0x29, 0x2C, 0x49, 0x4C, 0x69, 0x6C, 0x89, 0x8C, 0xA4, 0xB4, 0xC4, 0xE9, 0xEC,
-  0x2A, 0x2D, 0x4A, 0x4D, 0x6A, 0x6D, 0x8A, 0x8D, 0xA5, 0xB5, 0xC5, 0xEA, 0xED,
-  0x30, 0x33, 0x50, 0x53, 0x70, 0x73, 0x90, 0x93, 0xA6, 0xB6, 0xC6, 0xF0, 0xF3,
-  0x31, 0x34, 0x51, 0x54, 0x71, 0x74, 0x91, 0x94, 0xA7, 0xB7, 0xC7, 0xF1, 0xF4,
+const unsigned char
+  CxadbmfPlayer::bmf_adlib_registers[117] = {
+  0x20, 0x23, 0x40, 0x43, 0x60, 0x63, 0x80, 0x83, 0xA0, 0xB0, 0xC0, 0xE0,
+    0xE3,
+  0x21, 0x24, 0x41, 0x44, 0x61, 0x64, 0x81, 0x84, 0xA1, 0xB1, 0xC1, 0xE1,
+    0xE4,
+  0x22, 0x25, 0x42, 0x45, 0x62, 0x65, 0x82, 0x85, 0xA2, 0xB2, 0xC2, 0xE2,
+    0xE5,
+  0x28, 0x2B, 0x48, 0x4B, 0x68, 0x6B, 0x88, 0x8B, 0xA3, 0xB3, 0xC3, 0xE8,
+    0xEB,
+  0x29, 0x2C, 0x49, 0x4C, 0x69, 0x6C, 0x89, 0x8C, 0xA4, 0xB4, 0xC4, 0xE9,
+    0xEC,
+  0x2A, 0x2D, 0x4A, 0x4D, 0x6A, 0x6D, 0x8A, 0x8D, 0xA5, 0xB5, 0xC5, 0xEA,
+    0xED,
+  0x30, 0x33, 0x50, 0x53, 0x70, 0x73, 0x90, 0x93, 0xA6, 0xB6, 0xC6, 0xF0,
+    0xF3,
+  0x31, 0x34, 0x51, 0x54, 0x71, 0x74, 0x91, 0x94, 0xA7, 0xB7, 0xC7, 0xF1,
+    0xF4,
   0x32, 0x35, 0x52, 0x55, 0x72, 0x75, 0x92, 0x95, 0xA8, 0xB8, 0xC8, 0xF2, 0xF5
 };
 
-const unsigned short CxadbmfPlayer::bmf_notes[12] =
-{
-  0x157, 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263, 0x287
+const unsigned short
+  CxadbmfPlayer::bmf_notes[12] = {
+  0x157, 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263,
+    0x287
 };
 
 /* for 1.1 */
-const unsigned short CxadbmfPlayer::bmf_notes_2[12] =
-{
-  0x159, 0x16D, 0x183, 0x19A, 0x1B2, 0x1CC, 0x1E8, 0x205, 0x223, 0x244, 0x267, 0x28B
+const unsigned short
+  CxadbmfPlayer::bmf_notes_2[12] = {
+  0x159, 0x16D, 0x183, 0x19A, 0x1B2, 0x1CC, 0x1E8, 0x205, 0x223, 0x244, 0x267,
+    0x28B
 };
 
-const unsigned char CxadbmfPlayer::bmf_default_instrument[13] =
-{
+const unsigned char
+  CxadbmfPlayer::bmf_default_instrument[13] = {
   0x01, 0x01, 0x3F, 0x3F, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00
 };
 
-CPlayer *CxadbmfPlayer::factory(Copl *newopl)
+CPlayer *
+CxadbmfPlayer::factory (Copl * newopl)
 {
-  return new CxadbmfPlayer(newopl);
+  return new CxadbmfPlayer (newopl);
 }
 
-bool CxadbmfPlayer::xadplayer_load()
+bool
+CxadbmfPlayer::xadplayer_load ()
 {
   unsigned short ptr = 0;
   int i;
 
-  if(xad.fmt != BMF)
+  if (xad.fmt != BMF)
     return false;
 
 #ifdef DEBUG
-  AdPlug_LogWrite("\nbmf_load():\n\n");
+  AdPlug_LogWrite ("\nbmf_load():\n\n");
 #endif
-  if (!strncmp((char *)&tune[0],"BMF1.2",6))
+  if (!strncmp ((char *) &tune[0], "BMF1.2", 6))
   {
     bmf.version = BMF1_2;
     bmf.timer = 70.0f;
   }
-  else if (!strncmp((char *)&tune[0],"BMF1.1",6))
+  else if (!strncmp ((char *) &tune[0], "BMF1.1", 6))
   {
     bmf.version = BMF1_1;
     bmf.timer = 60.0f;
@@ -109,94 +121,105 @@
   {
     ptr = 6;
 
-    strncpy(bmf.title,(char *)&tune[ptr],36);
+    strncpy (bmf.title, (char *) &tune[ptr], 36);
 
-    while (tune[ptr]) { ptr++; }
-	ptr++;
+    while (tune[ptr])
+    {
+      ptr++;
+    }
+    ptr++;
 
-    strncpy(bmf.author,(char *)&tune[ptr],36);
+    strncpy (bmf.author, (char *) &tune[ptr], 36);
 
-    while (tune[ptr]) { ptr++; }
-	ptr++;
+    while (tune[ptr])
+    {
+      ptr++;
+    }
+    ptr++;
   }
   else
   {
-    strncpy(bmf.title,xad.title,36);
-    strncpy(bmf.author,xad.author,36);
+    strncpy (bmf.title, xad.title, 36);
+    strncpy (bmf.author, xad.author, 36);
   }
 
   // speed
   if (bmf.version > BMF0_9B)
     bmf.speed = tune[ptr++];
   else
-    bmf.speed = ((tune[ptr++] << 8) / 3) >> 8; // strange, yeh ?
+    bmf.speed = ((tune[ptr++] << 8) / 3) >> 8;  // strange, yeh ?
 
   // load instruments
   if (bmf.version > BMF0_9B)
   {
-    unsigned long iflags = (tune[ptr] << 24) | (tune[ptr+1] << 16) | (tune[ptr+2] << 8) | tune[ptr+3];
-    ptr+=4;
+    unsigned long iflags =
+      (tune[ptr] << 24) | (tune[ptr + 1] << 16) | (tune[ptr + 2] << 8) |
+      tune[ptr + 3];
+    ptr += 4;
 
-    for(i=0;i<32;i++)
-      if (iflags & (1 << (31-i)))
-	  {
-        strcpy(bmf.instruments[i].name, (char *)&tune[ptr]);
-        memcpy(bmf.instruments[i].data, &tune[ptr+11], 13);
+    for (i = 0; i < 32; i++)
+      if (iflags & (1 << (31 - i)))
+      {
+        strcpy (bmf.instruments[i].name, (char *) &tune[ptr]);
+        memcpy (bmf.instruments[i].data, &tune[ptr + 11], 13);
         ptr += 24;
-	  }
+      }
       else
-	  {
+      {
         bmf.instruments[i].name[0] = 0;
-		
+
         if (bmf.version == BMF1_1)
-		  for(int j=0;j<13;j++)
-			bmf.instruments[i].data[j] = bmf_default_instrument[j];
+          for (int j = 0; j < 13; j++)
+            bmf.instruments[i].data[j] = bmf_default_instrument[j];
         else
-		  for(int j=0;j<13;j++)
-			bmf.instruments[i].data[j] = 0;
-	  }
+          for (int j = 0; j < 13; j++)
+            bmf.instruments[i].data[j] = 0;
+      }
   }
   else
   {
     ptr = 6;
 
-    for(i=0;i<32;i++)
+    for (i = 0; i < 32; i++)
     {
       bmf.instruments[i].name[0] = 0;
-      memcpy(bmf.instruments[tune[ptr]].data, &tune[ptr+2],13); // bug no.1 (no instrument-table-end detection)
-      ptr+=15;
+      memcpy (bmf.instruments[tune[ptr]].data, &tune[ptr + 2], 13); // bug no.1 (no instrument-table-end detection)
+      ptr += 15;
     }
   }
-  
+
   // load streams
   if (bmf.version > BMF0_9B)
   {
-    unsigned long sflags = (tune[ptr] << 24) | (tune[ptr+1] << 16) | (tune[ptr+2] << 8) | tune[ptr+3];
-    ptr+=4;
+    unsigned long sflags =
+      (tune[ptr] << 24) | (tune[ptr + 1] << 16) | (tune[ptr + 2] << 8) |
+      tune[ptr + 3];
+    ptr += 4;
 
-    for(i=0;i<9;i++)
-      if (sflags & (1 << (31-i)))
-        ptr+=__bmf_convert_stream(&tune[ptr],i);
+    for (i = 0; i < 9; i++)
+      if (sflags & (1 << (31 - i)))
+        ptr += __bmf_convert_stream (&tune[ptr], i);
       else
         bmf.streams[i][0].cmd = 0xFF;
   }
   else
   {
-    for(i=0;i<tune[5];i++)
-      ptr+=__bmf_convert_stream(&tune[ptr],i);
+    for (i = 0; i < tune[5]; i++)
+      ptr += __bmf_convert_stream (&tune[ptr], i);
 
-	for(i=tune[5];i<9;i++)
+    for (i = tune[5]; i < 9; i++)
       bmf.streams[i][0].cmd = 0xFF;
   }
 
   return true;
 }
 
-void CxadbmfPlayer::xadplayer_rewind(int subsong)
+void
+CxadbmfPlayer::xadplayer_rewind (int subsong)
 {
-  int i,j;
+  int i, j;
 
-  for(i=0; i<9; i++)
+  for (i = 0; i < 9; i++)
   {
     bmf.channel[i].stream_position = 0;
     bmf.channel[i].delay = 0;
@@ -206,7 +229,7 @@
 
   plr.speed = bmf.speed;
 #ifdef DEBUG
-  AdPlug_LogWrite("speed: %x\n",plr.speed);
+  AdPlug_LogWrite ("speed: %x\n", plr.speed);
 #endif
 
   bmf.active_streams = 9;
@@ -214,203 +237,214 @@
   // OPL initialization
   if (bmf.version > BMF0_9B)
   {
-    opl_write(0x01, 0x20);
-    
+    opl_write (0x01, 0x20);
+
     /* 1.1 */
     if (bmf.version == BMF1_1)
-      for(i=0;i<9;i++)
-        for(j=0;j<13;j++)
-          opl_write(bmf_adlib_registers[13*i+j], bmf_default_instrument[j]);
+      for (i = 0; i < 9; i++)
+        for (j = 0; j < 13; j++)
+          opl_write (bmf_adlib_registers[13 * i + j],
+                     bmf_default_instrument[j]);
     /* 1.2 */
     else if (bmf.version == BMF1_2)
-      for(i=0x20; i<0x100; i++)
-        opl_write(i,0xFF); // very interesting, really!
+      for (i = 0x20; i < 0x100; i++)
+        opl_write (i, 0xFF);    // very interesting, really!
   }
 
   /* ALL */
 
-  opl_write(0x08, 0x00);
-  opl_write(0xBD, 0xC0);
+  opl_write (0x08, 0x00);
+  opl_write (0xBD, 0xC0);
 }
 
-void CxadbmfPlayer::xadplayer_update()
+void
+CxadbmfPlayer::xadplayer_update ()
 {
-  for(int i=0;i<9;i++)
+  for (int i = 0; i < 9; i++)
     if (bmf.channel[i].stream_position != 0xFFFF)
-    if (bmf.channel[i].delay)
-      bmf.channel[i].delay--;
-	else
-	{
+      if (bmf.channel[i].delay)
+        bmf.channel[i].delay--;
+      else
+      {
 #ifdef DEBUG
-   AdPlug_LogWrite("channel %02X:\n", i);
+        AdPlug_LogWrite ("channel %02X:\n", i);
 #endif
-      bmf_event event;
+        bmf_event event;
 
-      // process so-called cross-events
-  	  while (true)
-	  {
-        memcpy(&event, &bmf.streams[i][bmf.channel[i].stream_position], sizeof(bmf_event));
+        // process so-called cross-events
+        while (true)
+        {
+          memcpy (&event, &bmf.streams[i][bmf.channel[i].stream_position],
+                  sizeof (bmf_event));
 #ifdef DEBUG
-   AdPlug_LogWrite("%02X %02X %02X %02X %02X %02X\n",
-		   event.note,event.delay,event.volume,event.instrument,
-		   event.cmd,event.cmd_data);
+          AdPlug_LogWrite ("%02X %02X %02X %02X %02X %02X\n",
+                           event.note, event.delay, event.volume,
+                           event.instrument, event.cmd, event.cmd_data);
 #endif
 
-        if (event.cmd == 0xFF)
-		{
-          bmf.channel[i].stream_position = 0xFFFF;
-          bmf.active_streams--;
-          break;
-		}
-        else if (event.cmd == 0xFE)
-		{
-          bmf.channel[i].loop_position = bmf.channel[i].stream_position+1;
-          bmf.channel[i].loop_counter = event.cmd_data;
-		}
-        else if (event.cmd == 0xFD)
-		{
-          if (bmf.channel[i].loop_counter)
+          if (event.cmd == 0xFF)
           {
-            bmf.channel[i].stream_position = bmf.channel[i].loop_position-1;
-            bmf.channel[i].loop_counter--;
+            bmf.channel[i].stream_position = 0xFFFF;
+            bmf.active_streams--;
+            break;
           }
-		}
-        else
-          break;
-
-        bmf.channel[i].stream_position++;
-	  } // while (true)
-
-      // process normal event
-      unsigned short pos = bmf.channel[i].stream_position;
-
-      if (pos != 0xFFFF)
-      {
-        bmf.channel[i].delay = bmf.streams[i][pos].delay;
-
-        // command ?
-        if (bmf.streams[i][pos].cmd)
-		{
-          unsigned char cmd = bmf.streams[i][pos].cmd;
-
-          // 0x01: Set Modulator Volume
-          if (cmd == 0x01)
-		  {
-            unsigned char reg = bmf_adlib_registers[13*i+2];
-
-            opl_write(reg, (adlib[reg] | 0x3F) - bmf.streams[i][pos].cmd_data);
-		  }
-          // 0x10: Set Speed
-		  else if (cmd == 0x10)
-		  {
-            plr.speed = bmf.streams[i][pos].cmd_data;
-		    plr.speed_counter = plr.speed;
-		  }
-		} // if (bmf.streams[i][pos].cmd)
-
-        // instrument ?
-        if (bmf.streams[i][pos].instrument)
-		{
-          unsigned char ins = bmf.streams[i][pos].instrument-1;
-
-          if (bmf.version != BMF1_1)
-            opl_write(0xB0+i, adlib[0xB0+i] & 0xDF);
-
-          for(int j=0;j<13;j++)
-            opl_write(bmf_adlib_registers[i*13+j], bmf.instruments[ins].data[j]);
-		} // if (bmf.streams[i][pos].instrument)
-
-        // volume ?
-        if (bmf.streams[i][pos].volume)
-		{
-          unsigned char vol = bmf.streams[i][pos].volume-1;
-          unsigned char reg = bmf_adlib_registers[13*i+3];
-
-          opl_write(reg, (adlib[reg] | 0x3F) - vol);
-		} // if (bmf.streams[i][pos].volume)
-
-	    // note ?
-        if (bmf.streams[i][pos].note)
-		{
-          unsigned short note = bmf.streams[i][pos].note;
-          unsigned short freq = 0;
-
-          // mute channel
-          opl_write(0xB0+i, adlib[0xB0+i] & 0xDF);
-
-          // get frequency
-          if (bmf.version == BMF1_1)
+          else if (event.cmd == 0xFE)
+          {
+            bmf.channel[i].loop_position = bmf.channel[i].stream_position + 1;
+            bmf.channel[i].loop_counter = event.cmd_data;
+          }
+          else if (event.cmd == 0xFD)
           {
-            if (note <= 0x60)
-              freq = bmf_notes_2[--note % 12];
+            if (bmf.channel[i].loop_counter)
+            {
+              bmf.channel[i].stream_position =
+                bmf.channel[i].loop_position - 1;
+              bmf.channel[i].loop_counter--;
+            }
           }
           else
-		  {
-            if (note != 0x7F)
-              freq = bmf_notes[--note % 12];
-		  }
+            break;
+
+          bmf.channel[i].stream_position++;
+        }                       // while (true)
+
+        // process normal event
+        unsigned short pos = bmf.channel[i].stream_position;
+
+        if (pos != 0xFFFF)
+        {
+          bmf.channel[i].delay = bmf.streams[i][pos].delay;
+
+          // command ?
+          if (bmf.streams[i][pos].cmd)
+          {
+            unsigned char cmd = bmf.streams[i][pos].cmd;
 
-          // play note
-		  if (freq)
+            // 0x01: Set Modulator Volume
+            if (cmd == 0x01)
+            {
+              unsigned char reg = bmf_adlib_registers[13 * i + 2];
+
+              opl_write (reg,
+                         (adlib[reg] | 0x3F) - bmf.streams[i][pos].cmd_data);
+            }
+            // 0x10: Set Speed
+            else if (cmd == 0x10)
+            {
+              plr.speed = bmf.streams[i][pos].cmd_data;
+              plr.speed_counter = plr.speed;
+            }
+          }                     // if (bmf.streams[i][pos].cmd)
+
+          // instrument ?
+          if (bmf.streams[i][pos].instrument)
           {
-            opl_write(0xB0+i, (freq >> 8) | ((note / 12) << 2) | 0x20);
-            opl_write(0xA0+i, freq & 0xFF);
-          }
-		} // if (bmf.streams[i][pos].note)
+            unsigned char ins = bmf.streams[i][pos].instrument - 1;
+
+            if (bmf.version != BMF1_1)
+              opl_write (0xB0 + i, adlib[0xB0 + i] & 0xDF);
+
+            for (int j = 0; j < 13; j++)
+              opl_write (bmf_adlib_registers[i * 13 + j],
+                         bmf.instruments[ins].data[j]);
+          }                     // if (bmf.streams[i][pos].instrument)
+
+          // volume ?
+          if (bmf.streams[i][pos].volume)
+          {
+            unsigned char vol = bmf.streams[i][pos].volume - 1;
+            unsigned char reg = bmf_adlib_registers[13 * i + 3];
+
+            opl_write (reg, (adlib[reg] | 0x3F) - vol);
+          }                     // if (bmf.streams[i][pos].volume)
+
+          // note ?
+          if (bmf.streams[i][pos].note)
+          {
+            unsigned short note = bmf.streams[i][pos].note;
+            unsigned short freq = 0;
 
-        bmf.channel[i].stream_position++;
-      } // if (pos != 0xFFFF)
+            // mute channel
+            opl_write (0xB0 + i, adlib[0xB0 + i] & 0xDF);
 
-	} // if (!bmf.channel[i].delay)
+            // get frequency
+            if (bmf.version == BMF1_1)
+            {
+              if (note <= 0x60)
+                freq = bmf_notes_2[--note % 12];
+            }
+            else
+            {
+              if (note != 0x7F)
+                freq = bmf_notes[--note % 12];
+            }
+
+            // play note
+            if (freq)
+            {
+              opl_write (0xB0 + i, (freq >> 8) | ((note / 12) << 2) | 0x20);
+              opl_write (0xA0 + i, freq & 0xFF);
+            }
+          }                     // if (bmf.streams[i][pos].note)
+
+          bmf.channel[i].stream_position++;
+        }                       // if (pos != 0xFFFF)
+
+      }                         // if (!bmf.channel[i].delay)
 
   // is module loop ?
   if (!bmf.active_streams)
   {
-    for(int j=0;j<9;j++)
+    for (int j = 0; j < 9; j++)
       bmf.channel[j].stream_position = 0;
 
-	bmf.active_streams = 9;
+    bmf.active_streams = 9;
 
     plr.looping = 1;
   }
 }
 
-float CxadbmfPlayer::xadplayer_getrefresh()
+float
+CxadbmfPlayer::xadplayer_getrefresh ()
 {
   return bmf.timer;
 }
 
-std::string CxadbmfPlayer::xadplayer_gettype()
+std::string CxadbmfPlayer::xadplayer_gettype ()
 {
-  return std::string("xad: BMF Adlib Tracker");
+  return std::string ("xad: BMF Adlib Tracker");
 }
 
-std::string CxadbmfPlayer::xadplayer_gettitle()
+std::string CxadbmfPlayer::xadplayer_gettitle ()
 {
-  return std::string(bmf.title);
+  return std::string (bmf.title);
 }
 
-std::string CxadbmfPlayer::xadplayer_getauthor()
+std::string CxadbmfPlayer::xadplayer_getauthor ()
 {
-  return std::string(bmf.author);
+  return std::string (bmf.author);
 }
 
-unsigned int CxadbmfPlayer::xadplayer_getinstruments()
+unsigned int
+CxadbmfPlayer::xadplayer_getinstruments ()
 {
   return 32;
 }
 
-std::string CxadbmfPlayer::xadplayer_getinstrument(unsigned int i)
+std::string CxadbmfPlayer::xadplayer_getinstrument (unsigned int i)
 {
-  return std::string(bmf.instruments[i].name);
+  return std::string (bmf.instruments[i].name);
 }
 
 /* -------- Internal Functions ---------------------------- */
 
-int CxadbmfPlayer::__bmf_convert_stream(unsigned char *stream, int channel)
+int
+CxadbmfPlayer::__bmf_convert_stream (unsigned char *stream, int channel)
 {
 #ifdef DEBUG
-  AdPlug_LogWrite("channel %02X (note,delay,volume,instrument,command,command_data):\n",channel);
+  AdPlug_LogWrite
+    ("channel %02X (note,delay,volume,instrument,command,command_data):\n",
+     channel);
   unsigned char *last = stream;
 #endif
   unsigned char *stream_start = stream;
@@ -419,62 +453,63 @@
 
   while (true)
   {
-    memset(&bmf.streams[channel][pos], 0, sizeof(bmf_event));
+    memset (&bmf.streams[channel][pos], 0, sizeof (bmf_event));
 
     bool is_cmd = false;
 
     if (*stream == 0xFE)
-	{
+    {
       // 0xFE -> 0xFF: End of Stream
       bmf.streams[channel][pos].cmd = 0xFF;
 
-	  stream++;
+      stream++;
 
       break;
-	}
+    }
     else if (*stream == 0xFC)
-	{
+    {
       // 0xFC -> 0xFE xx: Save Loop Position
       bmf.streams[channel][pos].cmd = 0xFE;
-      bmf.streams[channel][pos].cmd_data = (*(stream+1) & ((bmf.version == BMF0_9B) ? 0x7F : 0x3F)) - 1;
+      bmf.streams[channel][pos].cmd_data =
+        (*(stream + 1) & ((bmf.version == BMF0_9B) ? 0x7F : 0x3F)) - 1;
 
-	  stream+=2;
+      stream += 2;
     }
     else if (*stream == 0x7D)
-	{
+    {
       // 0x7D -> 0xFD: Loop Saved Position
       bmf.streams[channel][pos].cmd = 0xFD;
 
-	  stream++;
-	}
-	else
+      stream++;
+    }
+    else
     {
-      if (*stream & 0x80)                           
+      if (*stream & 0x80)
       {
-		if (*(stream+1) & 0x80)
+        if (*(stream + 1) & 0x80)
         {
-		  if (*(stream+1) & 0x40)
+          if (*(stream + 1) & 0x40)
           {
             // byte0: 1aaaaaaa = NOTE
             bmf.streams[channel][pos].note = *stream & 0x7F;
             // byte1: 11bbbbbb = DELAY
-            bmf.streams[channel][pos].delay = *(stream+1) & 0x3F;
+            bmf.streams[channel][pos].delay = *(stream + 1) & 0x3F;
             // byte2: cccccccc = COMMAND
 
-            stream+=2;
+            stream += 2;
 
             is_cmd = true;
           }
-		  else
+          else
           {
             // byte0: 1aaaaaaa = NOTE
             bmf.streams[channel][pos].note = *stream & 0x7F;
             // byte1: 11bbbbbb = DELAY
-            bmf.streams[channel][pos].delay = *(stream+1) & 0x3F;
+            bmf.streams[channel][pos].delay = *(stream + 1) & 0x3F;
 
-			stream+=2;
-          } // if (*(stream+1) & 0x40)
-		}
+            stream += 2;
+          }                     // if (*(stream+1) & 0x40)
+        }
         else
         {
           // byte0: 1aaaaaaa = NOTE
@@ -484,18 +519,18 @@
           stream++;
 
           is_cmd = true;
-        } // if (*(stream+1) & 0x80)
-	  }
-	  else
+        }                       // if (*(stream+1) & 0x80)
+      }
+      else
       {
         // byte0: 0aaaaaaa = NOTE
         bmf.streams[channel][pos].note = *stream & 0x7F;
 
-		stream++;
-      } // if (*stream & 0x80)
-    } // if (*stream == 0xFE)
+        stream++;
+      }                         // if (*stream & 0x80)
+    }                           // if (*stream == 0xFE)
 
-	// is command ?
+    // is command ?
     if (is_cmd)
     {
 
@@ -506,14 +541,14 @@
         // 0x20 or higher; 0x3F or lower: Set Instrument 
         bmf.streams[channel][pos].instrument = *stream - 0x20 + 1;
 
-		stream++;
+        stream++;
       }
       else if (0x40 <= *stream)
       {
         // 0x40 or higher: Set Volume
         bmf.streams[channel][pos].volume = *stream - 0x40 + 1;
 
-		stream++;
+        stream++;
       }
       else
       {
@@ -521,76 +556,75 @@
         /* 0.9b */
 
         if (bmf.version == BMF0_9B)
-        if (*stream < 0x20)
-		{
-          // 0x1F or lower: ?
-		  stream++;
-		}
+          if (*stream < 0x20)
+          {
+            // 0x1F or lower: ?
+            stream++;
+          }
 
         /* 1.2 */
 
         if (bmf.version == BMF1_2)
-        if (*stream == 0x01)
-		{
-          // 0x01: Set Modulator Volume -> 0x01
-          bmf.streams[channel][pos].cmd = 0x01;
-          bmf.streams[channel][pos].cmd_data = *(stream+1);
+          if (*stream == 0x01)
+          {
+            // 0x01: Set Modulator Volume -> 0x01
+            bmf.streams[channel][pos].cmd = 0x01;
+            bmf.streams[channel][pos].cmd_data = *(stream + 1);
 
-		  stream+=2;
-		}
-        else if (*stream == 0x02)
-		{
-          // 0x02: ?
-		  stream+=2;
-		}
-        else if (*stream == 0x03)
-		{
-          // 0x03: ?
-		  stream+=2;
-		}
-        else if (*stream == 0x04)
-		{
-          // 0x04: Set Speed -> 0x10
-          bmf.streams[channel][pos].cmd = 0x10;
-          bmf.streams[channel][pos].cmd_data = *(stream+1);
+            stream += 2;
+          }
+          else if (*stream == 0x02)
+          {
+            // 0x02: ?
+            stream += 2;
+          }
+          else if (*stream == 0x03)
+          {
+            // 0x03: ?
+            stream += 2;
+          }
+          else if (*stream == 0x04)
+          {
+            // 0x04: Set Speed -> 0x10
+            bmf.streams[channel][pos].cmd = 0x10;
+            bmf.streams[channel][pos].cmd_data = *(stream + 1);
 
-          stream+=2;
-		}
-        else if (*stream == 0x05)
-		{
-          // 0x05: Set Carrier Volume (port 380)
-          bmf.streams[channel][pos].volume = *(stream+1) + 1;
+            stream += 2;
+          }
+          else if (*stream == 0x05)
+          {
+            // 0x05: Set Carrier Volume (port 380)
+            bmf.streams[channel][pos].volume = *(stream + 1) + 1;
 
-		  stream+=2;
-		}
-        else if (*stream == 0x06)
-		{
-          // 0x06: Set Carrier Volume (port 382)
-          bmf.streams[channel][pos].volume = *(stream+1) + 1;
+            stream += 2;
+          }
+          else if (*stream == 0x06)
+          {
+            // 0x06: Set Carrier Volume (port 382)
+            bmf.streams[channel][pos].volume = *(stream + 1) + 1;
 
-		  stream+=2;
-		} // if (bmf.version == BMF1_2)
+            stream += 2;
+          }                     // if (bmf.version == BMF1_2)
 
-      } // if ((0x20 <= *stream) && (*stream <= 0x3F))
+      }                         // if ((0x20 <= *stream) && (*stream <= 0x3F))
 
-    } // if (is_cmd)
+    }                           // if (is_cmd)
 
 #ifdef DEBUG
-   AdPlug_LogWrite("%02X %02X %02X %02X %02X %02X  <----  ", 
-			bmf.streams[channel][pos].note,	
-			bmf.streams[channel][pos].delay,
-			bmf.streams[channel][pos].volume, 
-			bmf.streams[channel][pos].instrument,
-			bmf.streams[channel][pos].cmd, 
-			bmf.streams[channel][pos].cmd_data
-		   );
-   for(int zz=0;zz<(stream-last);zz++)
-     AdPlug_LogWrite("%02X ",last[zz]);
-   AdPlug_LogWrite("\n");
-   last=stream;
+    AdPlug_LogWrite ("%02X %02X %02X %02X %02X %02X  <----  ",
+                     bmf.streams[channel][pos].note,
+                     bmf.streams[channel][pos].delay,
+                     bmf.streams[channel][pos].volume,
+                     bmf.streams[channel][pos].instrument,
+                     bmf.streams[channel][pos].cmd,
+                     bmf.streams[channel][pos].cmd_data);
+    for (int zz = 0; zz < (stream - last); zz++)
+      AdPlug_LogWrite ("%02X ", last[zz]);
+    AdPlug_LogWrite ("\n");
+    last = stream;
 #endif
     pos++;
-  } // while (true)
+  }                             // while (true)
 
   return (stream - stream_start);
 }
--- a/src/adplug/core/cff.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/cff.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -30,275 +30,288 @@
 
 /* -------- Public Methods -------------------------------- */
 
-CPlayer *CcffLoader::factory(Copl *newopl)
+CPlayer *
+CcffLoader::factory (Copl * newopl)
 {
-  return new CcffLoader(newopl);
+  return new CcffLoader (newopl);
 }
 
-bool CcffLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CcffLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-        binistream *f = fp.open(fd); if(!f) return false;
-	const unsigned char conv_inst[11] = { 2,1,10,9,4,3,6,5,0,8,7 };
-	const unsigned short conv_note[12] = { 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263, 0x287, 0x2AE };
-
-	int i,j,k,t=0;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  const unsigned char conv_inst[11] = { 2, 1, 10, 9, 4, 3, 6, 5, 0, 8, 7 };
+  const unsigned short conv_note[12] =
+    { 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263,
+0x287, 0x2AE };
 
-	// '<CUD-FM-File>' - signed ?
-	f->readString(header.id, 16);
-	header.version = f->readInt(1); header.size = f->readInt(2);
-	header.packed = f->readInt(1); f->readString((char *)header.reserved, 12);
-	if (memcmp(header.id,"<CUD-FM-File>""\x1A\xDE\xE0",16))
-	  { fp.close(f); return false; }
-
-	unsigned char *module = new unsigned char [0x10000];
+  int i, j, k, t = 0;
 
-	// packed ?
-	if (header.packed)
-	{
-		cff_unpacker *unpacker = new cff_unpacker;
-
-		unsigned char *packed_module = new unsigned char [header.size + 4];
-
-		memset(packed_module,0,header.size + 4);
+  // '<CUD-FM-File>' - signed ?
+  f->readString (header.id, 16);
+  header.version = f->readInt (1);
+  header.size = f->readInt (2);
+  header.packed = f->readInt (1);
+  f->readString ((char *) header.reserved, 12);
+  if (memcmp (header.id, "<CUD-FM-File>" "\x1A\xDE\xE0", 16))
+  {
+    fp.close (f);
+    return false;
+  }
 
-		f->readString((char *)packed_module, header.size);
-		fp.close(f);
+  unsigned char *module = new unsigned char[0x10000];
 
-		if (!unpacker->unpack(packed_module,module))
-		{
-			delete unpacker;
-			delete packed_module;
-			delete module;
-			return false;
-		}
+  // packed ?
+  if (header.packed)
+  {
+    cff_unpacker *unpacker = new cff_unpacker;
+
+    unsigned char *packed_module = new unsigned char[header.size + 4];
+
+    memset (packed_module, 0, header.size + 4);
 
-		delete unpacker;
-		delete packed_module;
+    f->readString ((char *) packed_module, header.size);
+    fp.close (f);
 
-		if (memcmp(&module[0x5E1],"CUD-FM-File - SEND A POSTCARD -",31))
-		{
-			delete module;
-			return false;
-		}
-	}
-	else
-	{
-		f->readString((char *)module, header.size);
-		fp.close(f);
-	}
+    if (!unpacker->unpack (packed_module, module))
+    {
+      delete unpacker;
+      delete packed_module;
+      delete module;
+      return false;
+    }
+
+    delete unpacker;
+    delete packed_module;
 
-	// init CmodPlayer
-	realloc_instruments(47);
-	realloc_order(64);
-	realloc_patterns(36,64,9);
-	init_notetable(conv_note);
-	init_trackord();
-
-	// load instruments
-	for (i=0;i<47;i++)
-	{
-		memcpy(&instruments[i],&module[i*32],sizeof(cff_instrument));
+    if (memcmp (&module[0x5E1], "CUD-FM-File - SEND A POSTCARD -", 31))
+    {
+      delete module;
+      return false;
+    }
+  }
+  else
+  {
+    f->readString ((char *) module, header.size);
+    fp.close (f);
+  }
 
-		for (j=0;j<11;j++)
-			inst[i].data[conv_inst[j]] = instruments[i].data[j];
-
-		instruments[i].name[20] = 0;
-	}
+  // init CmodPlayer
+  realloc_instruments (47);
+  realloc_order (64);
+  realloc_patterns (36, 64, 9);
+  init_notetable (conv_note);
+  init_trackord ();
 
-	// number of patterns
-	nop = module[0x5E0];
+  // load instruments
+  for (i = 0; i < 47; i++)
+  {
+    memcpy (&instruments[i], &module[i * 32], sizeof (cff_instrument));
 
-	// load title & author
-	memcpy(song_title,&module[0x614],20);
-	memcpy(song_author,&module[0x600],20);
+    for (j = 0; j < 11; j++)
+      inst[i].data[conv_inst[j]] = instruments[i].data[j];
 
-	// load order
-	memcpy(order,&module[0x628],64);
+    instruments[i].name[20] = 0;
+  }
 
-	// load tracks
-	for (i=0;i<nop;i++)
-	{
-		unsigned char old_event_byte2[9];
+  // number of patterns
+  nop = module[0x5E0];
+
+  // load title & author
+  memcpy (song_title, &module[0x614], 20);
+  memcpy (song_author, &module[0x600], 20);
 
-		memset(old_event_byte2,0,9);
+  // load order
+  memcpy (order, &module[0x628], 64);
 
-		for (j=0;j<9;j++)
-		{
-			for (k=0;k<64;k++)
-			{
-				cff_event *event = (cff_event *)&module[0x669 + ((i*64+k)*9+j)*3];
+  // load tracks
+  for (i = 0; i < nop; i++)
+  {
+    unsigned char old_event_byte2[9];
 
-				// convert note
-				if (event->byte0 == 0x6D)
-					tracks[t][k].note = 127;
-				else
-					if (event->byte0)
-						tracks[t][k].note = event->byte0;
+    memset (old_event_byte2, 0, 9);
+
+    for (j = 0; j < 9; j++)
+    {
+      for (k = 0; k < 64; k++)
+      {
+        cff_event *event =
+          (cff_event *) & module[0x669 + ((i * 64 + k) * 9 + j) * 3];
 
-				if (event->byte2)
-					old_event_byte2[j] = event->byte2;
+        // convert note
+        if (event->byte0 == 0x6D)
+          tracks[t][k].note = 127;
+        else if (event->byte0)
+          tracks[t][k].note = event->byte0;
 
-				// convert effect
-				switch (event->byte1)
-				{
-					case 'I': // set instrument
-						tracks[t][k].inst = event->byte2 + 1;
-						tracks[t][k].param1 = tracks[t][k].param2 = 0;
-						break;
+        if (event->byte2)
+          old_event_byte2[j] = event->byte2;
 
-					case 'H': // set tempo
-						tracks[t][k].command = 7;
-						if (event->byte2 < 16)
-						{
-							tracks[t][k].param1 = 0x07;
-	  						tracks[t][k].param2 = 0x0D;
-						}
-						break;
+        // convert effect
+        switch (event->byte1)
+        {
+        case 'I':              // set instrument
+          tracks[t][k].inst = event->byte2 + 1;
+          tracks[t][k].param1 = tracks[t][k].param2 = 0;
+          break;
 
-					case 'A': // set speed
-						tracks[t][k].command = 19;
-						tracks[t][k].param1  = event->byte2 >> 4;
-						tracks[t][k].param2  = event->byte2 & 15;
-						break;
+        case 'H':              // set tempo
+          tracks[t][k].command = 7;
+          if (event->byte2 < 16)
+          {
+            tracks[t][k].param1 = 0x07;
+            tracks[t][k].param2 = 0x0D;
+          }
+          break;
 
-					case 'L': // pattern break
-						tracks[t][k].command = 13;
-						tracks[t][k].param1  = event->byte2 >> 4;
-						tracks[t][k].param2  = event->byte2 & 15;
-						break;
+        case 'A':              // set speed
+          tracks[t][k].command = 19;
+          tracks[t][k].param1 = event->byte2 >> 4;
+          tracks[t][k].param2 = event->byte2 & 15;
+          break;
+
+        case 'L':              // pattern break
+          tracks[t][k].command = 13;
+          tracks[t][k].param1 = event->byte2 >> 4;
+          tracks[t][k].param2 = event->byte2 & 15;
+          break;
 
-					case 'K': // order jump
-						tracks[t][k].command = 11;
-						tracks[t][k].param1  = event->byte2 >> 4;
-						tracks[t][k].param2  = event->byte2 & 15;
-						break;
+        case 'K':              // order jump
+          tracks[t][k].command = 11;
+          tracks[t][k].param1 = event->byte2 >> 4;
+          tracks[t][k].param2 = event->byte2 & 15;
+          break;
 
-					case 'M': // set vibrato/tremolo
-						tracks[t][k].command = 27;
-						tracks[t][k].param1  = event->byte2 >> 4;
-						tracks[t][k].param2  = event->byte2 & 15;
-						break;
+        case 'M':              // set vibrato/tremolo
+          tracks[t][k].command = 27;
+          tracks[t][k].param1 = event->byte2 >> 4;
+          tracks[t][k].param2 = event->byte2 & 15;
+          break;
 
-					case 'C': // set modulator volume
-						tracks[t][k].command = 21;
-						tracks[t][k].param1 = (0x3F - event->byte2) >> 4;
-						tracks[t][k].param2 = (0x3F - event->byte2) & 15;
-						break;
+        case 'C':              // set modulator volume
+          tracks[t][k].command = 21;
+          tracks[t][k].param1 = (0x3F - event->byte2) >> 4;
+          tracks[t][k].param2 = (0x3F - event->byte2) & 15;
+          break;
 
-					case 'G': // set carrier volume
-						tracks[t][k].command = 22;
-						tracks[t][k].param1 = (0x3F - event->byte2) >> 4;
-						tracks[t][k].param2 = (0x3F - event->byte2) & 15;
-						break;
+        case 'G':              // set carrier volume
+          tracks[t][k].command = 22;
+          tracks[t][k].param1 = (0x3F - event->byte2) >> 4;
+          tracks[t][k].param2 = (0x3F - event->byte2) & 15;
+          break;
 
-					case 'B': // set carrier waveform
-						tracks[t][k].command = 25;
-						tracks[t][k].param1  = event->byte2;
-						tracks[t][k].param2  = 0x0F;
-						break;
+        case 'B':              // set carrier waveform
+          tracks[t][k].command = 25;
+          tracks[t][k].param1 = event->byte2;
+          tracks[t][k].param2 = 0x0F;
+          break;
 
-					case 'E': // fine frequency slide down
-						tracks[t][k].command = 24;
-						tracks[t][k].param1  = old_event_byte2[j] >> 4;
-						tracks[t][k].param2  = old_event_byte2[j] & 15;
-						break;
+        case 'E':              // fine frequency slide down
+          tracks[t][k].command = 24;
+          tracks[t][k].param1 = old_event_byte2[j] >> 4;
+          tracks[t][k].param2 = old_event_byte2[j] & 15;
+          break;
 
-					case 'F': // fine frequency slide up
-						tracks[t][k].command = 23;
-						tracks[t][k].param1  = old_event_byte2[j] >> 4;
-						tracks[t][k].param2  = old_event_byte2[j] & 15;
-						break;
+        case 'F':              // fine frequency slide up
+          tracks[t][k].command = 23;
+          tracks[t][k].param1 = old_event_byte2[j] >> 4;
+          tracks[t][k].param2 = old_event_byte2[j] & 15;
+          break;
 
-					case 'D': // fine volume slide
-						tracks[t][k].command = 14;
-						if (old_event_byte2[j] & 15)
-						{
-							// slide down
-							tracks[t][k].param1 = 5;
-							tracks[t][k].param2 = old_event_byte2[j] & 15;
-						}
-						else
-						{
-							// slide up
-							tracks[t][k].param1 = 4;
-							tracks[t][k].param2 = old_event_byte2[j] >> 4;
-						}
-						break;
+        case 'D':              // fine volume slide
+          tracks[t][k].command = 14;
+          if (old_event_byte2[j] & 15)
+          {
+            // slide down
+            tracks[t][k].param1 = 5;
+            tracks[t][k].param2 = old_event_byte2[j] & 15;
+          }
+          else
+          {
+            // slide up
+            tracks[t][k].param1 = 4;
+            tracks[t][k].param2 = old_event_byte2[j] >> 4;
+          }
+          break;
 
-					case 'J': // arpeggio
-						tracks[t][k].param1  = old_event_byte2[j] >> 4;
-						tracks[t][k].param2  = old_event_byte2[j] & 15;
-						break;
-				}
-			}
+        case 'J':              // arpeggio
+          tracks[t][k].param1 = old_event_byte2[j] >> 4;
+          tracks[t][k].param2 = old_event_byte2[j] & 15;
+          break;
+        }
+      }
 
-			t++;
-		}
-	}
+      t++;
+    }
+  }
 
-	delete [] module;
+  delete[]module;
 
-	// order loop
-	restartpos = 0;
+  // order loop
+  restartpos = 0;
 
-	// order length
-	for (i=0;i<64;i++)
-	{
-		if (order[i] >= 0x80)
-		{
-			length = i;
-			break;
-		}
-	}
+  // order length
+  for (i = 0; i < 64; i++)
+  {
+    if (order[i] >= 0x80)
+    {
+      length = i;
+      break;
+    }
+  }
 
-	// default tempo
-	bpm = 0x7D;
+  // default tempo
+  bpm = 0x7D;
 
-	rewind(0);
+  rewind (0);
 
-	return true;	
+  return true;
 }
 
-void CcffLoader::rewind(int subsong)
+void
+CcffLoader::rewind (int subsong)
 {
-	CmodPlayer::rewind(subsong);
+  CmodPlayer::rewind (subsong);
 
-	// default instruments
-	for (int i=0;i<9;i++)
-	{
-		channel[i].inst = i;
+  // default instruments
+  for (int i = 0; i < 9; i++)
+  {
+    channel[i].inst = i;
 
-		channel[i].vol1 = 63 - (inst[i].data[10] & 63);
-		channel[i].vol2 = 63 - (inst[i].data[9] & 63);
-	}
+    channel[i].vol1 = 63 - (inst[i].data[10] & 63);
+    channel[i].vol2 = 63 - (inst[i].data[9] & 63);
+  }
 }
 
-std::string CcffLoader::gettype()
+std::string CcffLoader::gettype ()
 {
-	if (header.packed)
-		return std::string("BoomTracker 4, packed");
-	else
-		return std::string("BoomTracker 4");
+  if (header.packed)
+    return std::string ("BoomTracker 4, packed");
+  else
+    return std::string ("BoomTracker 4");
 }
 
-std::string CcffLoader::gettitle()
+std::string CcffLoader::gettitle ()
 {
-	return std::string(song_title,20);
+  return std::string (song_title, 20);
 }
 
-std::string CcffLoader::getauthor()
+std::string CcffLoader::getauthor ()
 {
-	return std::string(song_author,20);
+  return std::string (song_author, 20);
 }
 
-std::string CcffLoader::getinstrument(unsigned int n)
+std::string CcffLoader::getinstrument (unsigned int n)
 {
-	return std::string(instruments[n].name);
+  return std::string (instruments[n].name);
 }
 
-unsigned int CcffLoader::getinstruments()
+unsigned int
+CcffLoader::getinstruments ()
 {
-	return 47;
+  return 47;
 }
 
 /* -------- Private Methods ------------------------------- */
@@ -311,194 +324,211 @@
 /*
   Lempel-Ziv-Tyr ;-)
 */
-long CcffLoader::cff_unpacker::unpack(unsigned char *ibuf, unsigned char *obuf)
+long
+CcffLoader::cff_unpacker::unpack (unsigned char *ibuf, unsigned char *obuf)
 {
-	if (memcmp(ibuf,"YsComp""\x07""CUD1997""\x1A\x04",16))
-		return 0;
+  if (memcmp (ibuf, "YsComp" "\x07" "CUD1997" "\x1A\x04", 16))
+    return 0;
 
-	input = ibuf + 16;
-	output = obuf;
+  input = ibuf + 16;
+  output = obuf;
 
-	output_length = 0;
+  output_length = 0;
 
-	heap = (unsigned char *)malloc(0x10000);
-	dictionary = (unsigned char **)malloc(sizeof(unsigned char *)*0x8000);
+  heap = (unsigned char *) malloc (0x10000);
+  dictionary = (unsigned char **) malloc (sizeof (unsigned char *) * 0x8000);
 
-	memset(heap,0,0x10000);
-	memset(dictionary,0,0x8000);
+  memset (heap, 0, 0x10000);
+  memset (dictionary, 0, 0x8000);
 
-	cleanup();
-  if(!startup())
+  cleanup ();
+  if (!startup ())
     goto out;
 
-	// LZW
-	while (1)
-	{
-		new_code = get_code();
+  // LZW
+  while (1)
+  {
+    new_code = get_code ();
 
-		// 0x00: end of data
-		if (new_code == 0)
-			break;
+    // 0x00: end of data
+    if (new_code == 0)
+      break;
 
-		// 0x01: end of block
-		if (new_code == 1)
-		{
-			cleanup();
-			if(!startup())
-				goto out;
+    // 0x01: end of block
+    if (new_code == 1)
+    {
+      cleanup ();
+      if (!startup ())
+        goto out;
 
-			continue;
-		}
+      continue;
+    }
+
+    // 0x02: expand code length
+    if (new_code == 2)
+    {
+      code_length++;
 
-		// 0x02: expand code length
-		if (new_code == 2)
-		{
-			code_length++;
+      continue;
+    }
 
-			continue;
-		}
+    // 0x03: RLE
+    if (new_code == 3)
+    {
+      unsigned char
+        old_code_length = code_length;
 
-		// 0x03: RLE
-		if (new_code == 3)
-		{
-			unsigned char old_code_length = code_length;
+      code_length = 2;
 
-			code_length = 2;
+      unsigned char
+        repeat_length = get_code () + 1;
 
-			unsigned char repeat_length = get_code() + 1;
-
-			code_length = 4 << get_code();
+      code_length = 4 << get_code ();
 
-			unsigned long repeat_counter = get_code();
+      unsigned long
+        repeat_counter = get_code ();
 
-			if(output_length + repeat_counter * repeat_length > 0x10000) {
-				output_length = 0;
-				goto out;
-			}
+      if (output_length + repeat_counter * repeat_length > 0x10000)
+      {
+        output_length = 0;
+        goto out;
+      }
 
-			for (unsigned int i=0;i<repeat_counter*repeat_length;i++)
-				output[output_length++] = output[output_length - repeat_length];
+      for (unsigned int i = 0; i < repeat_counter * repeat_length; i++)
+        output[output_length++] = output[output_length - repeat_length];
 
-			code_length = old_code_length;
+      code_length = old_code_length;
 
-			if(!startup())
-				goto out;
+      if (!startup ())
+        goto out;
 
-			continue;
-		}
+      continue;
+    }
 
-		if (new_code >= (0x104 + dictionary_length))
-		{
-			// dictionary <- old.code.string + old.code.char
-			the_string[++the_string[0]] = the_string[1];
-		}
-		else
-		{
-			// dictionary <- old.code.string + new.code.char
-			unsigned char temp_string[256];
+    if (new_code >= (0x104 + dictionary_length))
+    {
+      // dictionary <- old.code.string + old.code.char
+      the_string[++the_string[0]] = the_string[1];
+    }
+    else
+    {
+      // dictionary <- old.code.string + new.code.char
+      unsigned char
+        temp_string[256];
 
-			translate_code(new_code,temp_string);
+      translate_code (new_code, temp_string);
 
-			the_string[++the_string[0]] = temp_string[1];
-		}
+      the_string[++the_string[0]] = temp_string[1];
+    }
 
-		expand_dictionary(the_string);
+    expand_dictionary (the_string);
 
-		// output <- new.code.string
-		translate_code(new_code,the_string);
+    // output <- new.code.string
+    translate_code (new_code, the_string);
 
-			if(output_length + the_string[0] > 0x10000) {
-				output_length = 0;
-				goto out;
-			}
-
-		for (int i=0;i<the_string[0];i++)
-			output[output_length++] = the_string[i+1];
+    if (output_length + the_string[0] > 0x10000)
+    {
+      output_length = 0;
+      goto out;
+    }
 
-		old_code = new_code;
-	}
+    for (int i = 0; i < the_string[0]; i++)
+      output[output_length++] = the_string[i + 1];
 
- out:
-	free(heap);
-	free(dictionary);
-	return output_length;
+    old_code = new_code;
+  }
+
+out:
+  free (heap);
+  free (dictionary);
+  return output_length;
 }
 
-unsigned long CcffLoader::cff_unpacker::get_code()
+unsigned long
+CcffLoader::cff_unpacker::get_code ()
 {
-	unsigned long code;
+  unsigned long
+    code;
 
-	while (bits_left < code_length)
-	{
-		bits_buffer |= ((*input++) << bits_left);
-		bits_left += 8;
-	}
+  while (bits_left < code_length)
+  {
+    bits_buffer |= ((*input++) << bits_left);
+    bits_left += 8;
+  }
 
-	code = bits_buffer & ((1 << code_length) - 1);
+  code = bits_buffer & ((1 << code_length) - 1);
 
-	bits_buffer >>= code_length;
-	bits_left -= code_length;
+  bits_buffer >>= code_length;
+  bits_left -= code_length;
 
-	return code;
+  return code;
 }
 
-void CcffLoader::cff_unpacker::translate_code(unsigned long code, unsigned char *string)
+void
+CcffLoader::cff_unpacker::translate_code (unsigned long code,
+                                          unsigned char *string)
 {
-	unsigned char translated_string[256];
+  unsigned char
+    translated_string[256];
 
-	if (code >= 0x104)
-	{
-		memcpy(translated_string,dictionary[code - 0x104],(*(dictionary[code - 0x104])) + 1);
-	}
-	else
-	{
-		translated_string[0] = 1;
-		translated_string[1] = (code - 4) & 0xFF;
-	}
+  if (code >= 0x104)
+  {
+    memcpy (translated_string, dictionary[code - 0x104],
+            (*(dictionary[code - 0x104])) + 1);
+  }
+  else
+  {
+    translated_string[0] = 1;
+    translated_string[1] = (code - 4) & 0xFF;
+  }
 
-	memcpy(string,translated_string,256);
+  memcpy (string, translated_string, 256);
 }
 
-void CcffLoader::cff_unpacker::cleanup()
+void
+CcffLoader::cff_unpacker::cleanup ()
 {
-	code_length = 9;
+  code_length = 9;
 
-	bits_buffer = 0;
-	bits_left = 0;
+  bits_buffer = 0;
+  bits_left = 0;
 
-	heap_length = 0;
-	dictionary_length = 0;
+  heap_length = 0;
+  dictionary_length = 0;
 }
 
-int CcffLoader::cff_unpacker::startup()
+int
+CcffLoader::cff_unpacker::startup ()
 {
-	old_code = get_code();
+  old_code = get_code ();
 
-	translate_code(old_code,the_string);
+  translate_code (old_code, the_string);
 
-  if(output_length + the_string[0] > 0x10000) {
+  if (output_length + the_string[0] > 0x10000)
+  {
     output_length = 0;
     return 0;
   }
 
-	for (int i=0;i<the_string[0];i++)
-		output[output_length++] = the_string[i+1];
+  for (int i = 0; i < the_string[0]; i++)
+    output[output_length++] = the_string[i + 1];
 
   return 1;
 }
 
-void CcffLoader::cff_unpacker::expand_dictionary(unsigned char *string)
+void
+CcffLoader::cff_unpacker::expand_dictionary (unsigned char *string)
 {
-	if (string[0] >= 0xF0)
-		return;
+  if (string[0] >= 0xF0)
+    return;
 
-	memcpy(&heap[heap_length],string,string[0] + 1);
+  memcpy (&heap[heap_length], string, string[0] + 1);
 
-	dictionary[dictionary_length] = &heap[heap_length];
+  dictionary[dictionary_length] = &heap[heap_length];
 
-	dictionary_length++;
+  dictionary_length++;
 
-	heap_length += (string[0] + 1);
+  heap_length += (string[0] + 1);
 }
 
 #ifdef _WIN32
--- a/src/adplug/core/d00.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/d00.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -37,94 +37,121 @@
 #define HIBYTE(val)	(val >> 8)
 #define LOBYTE(val)	(val & 0xff)
 
-static const unsigned short notetable[12] =	// D00 note table
-  {340,363,385,408,432,458,485,514,544,577,611,647};
+static const unsigned short notetable[12] = // D00 note table
+{ 340, 363, 385, 408, 432, 458, 485, 514, 544, 577, 611, 647 };
 
-static inline uint16_t LE_WORD(const uint16_t *val)
+static inline uint16_t
+LE_WORD (const uint16_t * val)
 {
-  const uint8_t *b = (const uint8_t *)val;
+  const uint8_t *b = (const uint8_t *) val;
   return (b[1] << 8) + b[0];
 }
 
 /*** public methods *************************************/
 
-CPlayer *Cd00Player::factory(Copl *newopl)
+CPlayer *
+Cd00Player::factory (Copl * newopl)
 {
-  return new Cd00Player(newopl);
+  return new Cd00Player (newopl);
 }
 
-bool Cd00Player::load(VFSFile *fd, const CFileProvider &fp)
+bool
+Cd00Player::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream	*f = fp.open(fd); if(!f) return false;
-  d00header	*checkhead;
-  d00header1	*ch;
-  unsigned long	filesize;
-  int		i,ver1=0;
-  char		*str;
-  std::string   filename(fd->uri);
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  d00header *checkhead;
+  d00header1 *ch;
+  unsigned long filesize;
+  int i, ver1 = 0;
+  char *str;
+  std::string filename (fd->uri);
 
   // file validation section
   checkhead = new d00header;
-  f->readString((char *)checkhead, sizeof(d00header));
+  f->readString ((char *) checkhead, sizeof (d00header));
 
   // Check for version 2-4 header
-  if(strncmp(checkhead->id,"JCH\x26\x02\x66",6) || checkhead->type ||
-     !checkhead->subsongs || checkhead->soundcard) {
+  if (strncmp (checkhead->id, "JCH\x26\x02\x66", 6) || checkhead->type ||
+      !checkhead->subsongs || checkhead->soundcard)
+  {
     // Check for version 0 or 1 header (and .d00 file extension)
     delete checkhead;
-    if(!fp.extension(filename, ".d00")) { fp.close(f); return false; }
+    if (!fp.extension (filename, ".d00"))
+    {
+      fp.close (f);
+      return false;
+    }
     ch = new d00header1;
-    f->seek(0); f->readString((char *)ch, sizeof(d00header1));
-    if(ch->version > 1 || !ch->subsongs)
-      { delete ch; fp.close(f); return false; }
+    f->seek (0);
+    f->readString ((char *) ch, sizeof (d00header1));
+    if (ch->version > 1 || !ch->subsongs)
+    {
+      delete ch;
+      fp.close (f);
+      return false;
+    }
     delete ch;
     ver1 = 1;
-  } else
+  }
+  else
     delete checkhead;
 
-  AdPlug_LogWrite("Cd00Player::load(f,\"%s\"): %s format D00 file detected!\n",
-		  filename.c_str(), ver1 ? "Old" : "New");
+  AdPlug_LogWrite
+    ("Cd00Player::load(f,\"%s\"): %s format D00 file detected!\n",
+     filename.c_str (), ver1 ? "Old" : "New");
 
   // load section
-  filesize = fp.filesize(f); f->seek(0);
-  filedata = new char [filesize + 1];			// 1 byte is needed for old-style DataInfo block
-  f->readString((char *)filedata, filesize);
-  fp.close(f);
-  if(!ver1) {	// version 2 and above
-    header = (struct d00header *)filedata;
+  filesize = fp.filesize (f);
+  f->seek (0);
+  filedata = new char[filesize + 1];    // 1 byte is needed for old-style DataInfo block
+  f->readString ((char *) filedata, filesize);
+  fp.close (f);
+  if (!ver1)
+  {                             // version 2 and above
+    header = (struct d00header *) filedata;
     version = header->version;
-    datainfo = (char *)filedata + LE_WORD(&header->infoptr);
-    inst = (struct Sinsts *)((char *)filedata + LE_WORD(&header->instptr));
-    seqptr = (unsigned short *)((char *)filedata + LE_WORD(&header->seqptr));
-    for(i=31;i>=0;i--)	// erase whitespace
-      if(header->songname[i] == ' ')
-	header->songname[i] = '\0';
+    datainfo = (char *) filedata + LE_WORD (&header->infoptr);
+    inst = (struct Sinsts *) ((char *) filedata + LE_WORD (&header->instptr));
+    seqptr =
+      (unsigned short *) ((char *) filedata + LE_WORD (&header->seqptr));
+    for (i = 31; i >= 0; i--)   // erase whitespace
+      if (header->songname[i] == ' ')
+        header->songname[i] = '\0';
       else
-	break;
-    for(i=31;i>=0;i--)
-      if(header->author[i] == ' ')
-	header->author[i] = '\0';
+        break;
+    for (i = 31; i >= 0; i--)
+      if (header->author[i] == ' ')
+        header->author[i] = '\0';
       else
-	break;
-  } else {	// version 1
-    header1 = (struct d00header1 *)filedata;
+        break;
+  }
+  else
+  {                             // version 1
+    header1 = (struct d00header1 *) filedata;
     version = header1->version;
-    datainfo = (char *)filedata + LE_WORD(&header1->infoptr);
-    inst = (struct Sinsts *)((char *)filedata + LE_WORD(&header1->instptr));
-    seqptr = (unsigned short *)((char *)filedata + LE_WORD(&header1->seqptr));
+    datainfo = (char *) filedata + LE_WORD (&header1->infoptr);
+    inst =
+      (struct Sinsts *) ((char *) filedata + LE_WORD (&header1->instptr));
+    seqptr =
+      (unsigned short *) ((char *) filedata + LE_WORD (&header1->seqptr));
   }
-  switch(version) {
+  switch (version)
+  {
   case 0:
     levpuls = 0;
     spfx = 0;
-    header1->speed = 70;		// v0 files default to 70Hz
+    header1->speed = 70;        // v0 files default to 70Hz
     break;
   case 1:
-    levpuls = (struct Slevpuls *)((char *)filedata + LE_WORD(&header1->lpulptr));
+    levpuls =
+      (struct Slevpuls *) ((char *) filedata + LE_WORD (&header1->lpulptr));
     spfx = 0;
     break;
   case 2:
-    levpuls = (struct Slevpuls *)((char *)filedata + LE_WORD(&header->spfxptr));
+    levpuls =
+      (struct Slevpuls *) ((char *) filedata + LE_WORD (&header->spfxptr));
     spfx = 0;
     break;
   case 3:
@@ -132,338 +159,396 @@
     levpuls = 0;
     break;
   case 4:
-    spfx = (struct Sspfx *)((char *)filedata + LE_WORD(&header->spfxptr));
+    spfx = (struct Sspfx *) ((char *) filedata + LE_WORD (&header->spfxptr));
     levpuls = 0;
     break;
   }
-  if((str = strstr(datainfo,"\xff\xff")))
-    while((*str == '\xff' || *str == ' ') && str >= datainfo) {
-      *str = '\0'; str--;
+  if ((str = strstr (datainfo, "\xff\xff")))
+    while ((*str == '\xff' || *str == ' ') && str >= datainfo)
+    {
+      *str = '\0';
+      str--;
     }
-  else	// old-style block
-    memset((char *)filedata+filesize,0,1);
+  else                          // old-style block
+    memset ((char *) filedata + filesize, 0, 1);
 
-  rewind(0);
+  rewind (0);
   return true;
 }
 
-bool Cd00Player::update()
+bool
+Cd00Player::update ()
 {
-  unsigned char	c,cnt,trackend=0,fx,note;
-  unsigned short ord,*patt,buf,fxop,pattpos;
+  unsigned char c, cnt, trackend = 0, fx, note;
+  unsigned short ord, *patt, buf, fxop, pattpos;
 
   // effect handling (timer dependant)
-  for(c=0;c<9;c++) {
-    channel[c].slideval += channel[c].slide; setfreq(c);	// sliding
-    vibrato(c);	// vibrato
+  for (c = 0; c < 9; c++)
+  {
+    channel[c].slideval += channel[c].slide;
+    setfreq (c);                // sliding
+    vibrato (c);                // vibrato
 
-    if(channel[c].spfx != 0xffff) {	// SpFX
-      if(channel[c].fxdel)
-	channel[c].fxdel--;
-      else {
-	channel[c].spfx = LE_WORD(&spfx[channel[c].spfx].ptr);
-	channel[c].fxdel = spfx[channel[c].spfx].duration;
-	channel[c].inst = LE_WORD(&spfx[channel[c].spfx].instnr) & 0xfff;
-	if(spfx[channel[c].spfx].modlev != 0xff)
-	  channel[c].modvol = spfx[channel[c].spfx].modlev;
-	setinst(c);
-	if(LE_WORD(&spfx[channel[c].spfx].instnr) & 0x8000)	// locked frequency
-	  note = spfx[channel[c].spfx].halfnote;
-	else							// unlocked frequency
-	  note = spfx[channel[c].spfx].halfnote + channel[c].note;
-	channel[c].freq = notetable[note%12] + ((note/12) << 10);
-	setfreq(c);
+    if (channel[c].spfx != 0xffff)
+    {                           // SpFX
+      if (channel[c].fxdel)
+        channel[c].fxdel--;
+      else
+      {
+        channel[c].spfx = LE_WORD (&spfx[channel[c].spfx].ptr);
+        channel[c].fxdel = spfx[channel[c].spfx].duration;
+        channel[c].inst = LE_WORD (&spfx[channel[c].spfx].instnr) & 0xfff;
+        if (spfx[channel[c].spfx].modlev != 0xff)
+          channel[c].modvol = spfx[channel[c].spfx].modlev;
+        setinst (c);
+        if (LE_WORD (&spfx[channel[c].spfx].instnr) & 0x8000)   // locked frequency
+          note = spfx[channel[c].spfx].halfnote;
+        else                    // unlocked frequency
+          note = spfx[channel[c].spfx].halfnote + channel[c].note;
+        channel[c].freq = notetable[note % 12] + ((note / 12) << 10);
+        setfreq (c);
       }
-      channel[c].modvol += spfx[channel[c].spfx].modlevadd; channel[c].modvol &= 63;
-      setvolume(c);
+      channel[c].modvol += spfx[channel[c].spfx].modlevadd;
+      channel[c].modvol &= 63;
+      setvolume (c);
     }
 
-    if(channel[c].levpuls != 0xff)	// Levelpuls
-      if(channel[c].frameskip)
-	channel[c].frameskip--;
-      else {
-	channel[c].frameskip = inst[channel[c].inst].timer;
-	if(channel[c].fxdel)
-	  channel[c].fxdel--;
-	else {
-	  channel[c].levpuls = levpuls[channel[c].levpuls].ptr - 1;
-	  channel[c].fxdel = levpuls[channel[c].levpuls].duration;
-	  if(levpuls[channel[c].levpuls].level != 0xff)
-	    channel[c].modvol = levpuls[channel[c].levpuls].level;
-	}
-	channel[c].modvol += levpuls[channel[c].levpuls].voladd; channel[c].modvol &= 63;
-	setvolume(c);
+    if (channel[c].levpuls != 0xff) // Levelpuls
+      if (channel[c].frameskip)
+        channel[c].frameskip--;
+      else
+      {
+        channel[c].frameskip = inst[channel[c].inst].timer;
+        if (channel[c].fxdel)
+          channel[c].fxdel--;
+        else
+        {
+          channel[c].levpuls = levpuls[channel[c].levpuls].ptr - 1;
+          channel[c].fxdel = levpuls[channel[c].levpuls].duration;
+          if (levpuls[channel[c].levpuls].level != 0xff)
+            channel[c].modvol = levpuls[channel[c].levpuls].level;
+        }
+        channel[c].modvol += levpuls[channel[c].levpuls].voladd;
+        channel[c].modvol &= 63;
+        setvolume (c);
       }
   }
 
   // song handling
-  for(c=0;c<9;c++)
-    if(version < 3 ? channel[c].del : channel[c].del <= 0x7f) {
-      if(version == 4)	// v4: hard restart SR
-	if(channel[c].del == inst[channel[c].inst].timer)
-	  if(channel[c].nextnote)
-	    opl->write(0x83 + op_table[c], inst[channel[c].inst].sr);
-      if(version < 3)
-	channel[c].del--;
+  for (c = 0; c < 9; c++)
+    if (version < 3 ? channel[c].del : channel[c].del <= 0x7f)
+    {
+      if (version == 4)         // v4: hard restart SR
+        if (channel[c].del == inst[channel[c].inst].timer)
+          if (channel[c].nextnote)
+            opl->write (0x83 + op_table[c], inst[channel[c].inst].sr);
+      if (version < 3)
+        channel[c].del--;
+      else if (channel[c].speed)
+        channel[c].del += channel[c].speed;
       else
-	if(channel[c].speed)
-	  channel[c].del += channel[c].speed;
-	else {
-	  channel[c].seqend = 1;
-	  continue;
-	}
-    } else {
-      if(channel[c].speed) {
-	if(version < 3)
-	  channel[c].del = channel[c].speed;
-	else {
-	  channel[c].del &= 0x7f;
-	  channel[c].del += channel[c].speed;
-	}
-      } else {
-	channel[c].seqend = 1;
-	continue;
+      {
+        channel[c].seqend = 1;
+        continue;
       }
-      if(channel[c].rhcnt) {	// process pending REST/HOLD events
-	channel[c].rhcnt--;
-	continue;
+    }
+    else
+    {
+      if (channel[c].speed)
+      {
+        if (version < 3)
+          channel[c].del = channel[c].speed;
+        else
+        {
+          channel[c].del &= 0x7f;
+          channel[c].del += channel[c].speed;
+        }
+      }
+      else
+      {
+        channel[c].seqend = 1;
+        continue;
+      }
+      if (channel[c].rhcnt)
+      {                         // process pending REST/HOLD events
+        channel[c].rhcnt--;
+        continue;
       }
-    readorder:	// process arrangement (orderlist)
-      ord = LE_WORD(&channel[c].order[channel[c].ordpos]);
-      switch(ord) {
-      case 0xfffe: channel[c].seqend = 1; continue;	// end of arrangement stream
-      case 0xffff:		// jump to order
-	channel[c].ordpos = LE_WORD(&channel[c].order[channel[c].ordpos + 1]);
-	channel[c].seqend = 1;
-	goto readorder;
+    readorder:                 // process arrangement (orderlist)
+      ord = LE_WORD (&channel[c].order[channel[c].ordpos]);
+      switch (ord)
+      {
+      case 0xfffe:
+        channel[c].seqend = 1;
+        continue;               // end of arrangement stream
+      case 0xffff:             // jump to order
+        channel[c].ordpos =
+          LE_WORD (&channel[c].order[channel[c].ordpos + 1]);
+        channel[c].seqend = 1;
+        goto readorder;
       default:
-	if(ord >= 0x9000) {	// set speed
-	  channel[c].speed = ord & 0xff;
-	  ord = LE_WORD(&channel[c].order[channel[c].ordpos - 1]);
-	  channel[c].ordpos++;
-	} else
-	  if(ord >= 0x8000) {	// transpose track
-	    channel[c].transpose = ord & 0xff;
-	    if(ord & 0x100)
-	      channel[c].transpose = -channel[c].transpose;
-	    ord = LE_WORD(&channel[c].order[++channel[c].ordpos]);
-	  }
-	patt = (unsigned short *)((char *)filedata + LE_WORD(&seqptr[ord]));
-	break;
+        if (ord >= 0x9000)
+        {                       // set speed
+          channel[c].speed = ord & 0xff;
+          ord = LE_WORD (&channel[c].order[channel[c].ordpos - 1]);
+          channel[c].ordpos++;
+        }
+        else if (ord >= 0x8000)
+        {                       // transpose track
+          channel[c].transpose = ord & 0xff;
+          if (ord & 0x100)
+            channel[c].transpose = -channel[c].transpose;
+          ord = LE_WORD (&channel[c].order[++channel[c].ordpos]);
+        }
+        patt =
+          (unsigned short *) ((char *) filedata + LE_WORD (&seqptr[ord]));
+        break;
       }
-    channel[c].fxflag = 0;
-    readseq:	// process sequence (pattern)
-      if(!version)	// v0: always initialize rhcnt
-	channel[c].rhcnt = channel[c].irhcnt;
-      pattpos = LE_WORD(&patt[channel[c].pattpos]);
-      if(pattpos == 0xffff) {	// pattern ended?
-	channel[c].pattpos = 0;
-	channel[c].ordpos++;
-	goto readorder;
+      channel[c].fxflag = 0;
+    readseq:                   // process sequence (pattern)
+      if (!version)             // v0: always initialize rhcnt
+        channel[c].rhcnt = channel[c].irhcnt;
+      pattpos = LE_WORD (&patt[channel[c].pattpos]);
+      if (pattpos == 0xffff)
+      {                         // pattern ended?
+        channel[c].pattpos = 0;
+        channel[c].ordpos++;
+        goto readorder;
       }
-      cnt = HIBYTE(pattpos);
-      note = LOBYTE(pattpos);
+      cnt = HIBYTE (pattpos);
+      note = LOBYTE (pattpos);
       fx = pattpos >> 12;
       fxop = pattpos & 0x0fff;
-      channel[c].pattpos++; pattpos = LE_WORD(&patt[channel[c].pattpos]);
-      channel[c].nextnote = LOBYTE(pattpos) & 0x7f;
-      if(version ? cnt < 0x40 : !fx) {	// note event
-	switch(note) {
-	case 0:						// REST event
-	case 0x80:
-	  if(!note || version) {
-	    channel[c].key = 0;
-	    setfreq(c);
-	  }
-	  // fall through...
-	case 0x7e:					// HOLD event
-	  if(version)
-	    channel[c].rhcnt = cnt;
-	  channel[c].nextnote = 0;
-	  break;
-	default:					// play note
-	  // restart fx
-	  if(!(channel[c].fxflag & 1))
-	    channel[c].vibdepth = 0;
-	  if(!(channel[c].fxflag & 2))
-	    channel[c].slideval = channel[c].slide = 0;
+      channel[c].pattpos++;
+      pattpos = LE_WORD (&patt[channel[c].pattpos]);
+      channel[c].nextnote = LOBYTE (pattpos) & 0x7f;
+      if (version ? cnt < 0x40 : !fx)
+      {                         // note event
+        switch (note)
+        {
+        case 0:                // REST event
+        case 0x80:
+          if (!note || version)
+          {
+            channel[c].key = 0;
+            setfreq (c);
+          }
+          // fall through...
+        case 0x7e:             // HOLD event
+          if (version)
+            channel[c].rhcnt = cnt;
+          channel[c].nextnote = 0;
+          break;
+        default:               // play note
+          // restart fx
+          if (!(channel[c].fxflag & 1))
+            channel[c].vibdepth = 0;
+          if (!(channel[c].fxflag & 2))
+            channel[c].slideval = channel[c].slide = 0;
 
-	  if(version) {	// note handling for v1 and above
-	    if(note > 0x80)	// locked note (no channel transpose)
-	      note -= 0x80;
-	    else			// unlocked note
-	      note += channel[c].transpose;
-	    channel[c].note = note;	// remember note for SpFX
+          if (version)
+          {                     // note handling for v1 and above
+            if (note > 0x80)    // locked note (no channel transpose)
+              note -= 0x80;
+            else                // unlocked note
+              note += channel[c].transpose;
+            channel[c].note = note; // remember note for SpFX
 
-	    if(channel[c].ispfx != 0xffff && cnt < 0x20) {	// reset SpFX
-	      channel[c].spfx = channel[c].ispfx;
-	      if(LE_WORD(&spfx[channel[c].spfx].instnr) & 0x8000)	// locked frequency
-		note = spfx[channel[c].spfx].halfnote;
-	      else												// unlocked frequency
-		note += spfx[channel[c].spfx].halfnote;
-	      channel[c].inst = LE_WORD(&spfx[channel[c].spfx].instnr) & 0xfff;
-	      channel[c].fxdel = spfx[channel[c].spfx].duration;
-	      if(spfx[channel[c].spfx].modlev != 0xff)
-		channel[c].modvol = spfx[channel[c].spfx].modlev;
-	      else
-		channel[c].modvol = inst[channel[c].inst].data[7] & 63;
-	    }
+            if (channel[c].ispfx != 0xffff && cnt < 0x20)
+            {                   // reset SpFX
+              channel[c].spfx = channel[c].ispfx;
+              if (LE_WORD (&spfx[channel[c].spfx].instnr) & 0x8000) // locked frequency
+                note = spfx[channel[c].spfx].halfnote;
+              else              // unlocked frequency
+                note += spfx[channel[c].spfx].halfnote;
+              channel[c].inst =
+                LE_WORD (&spfx[channel[c].spfx].instnr) & 0xfff;
+              channel[c].fxdel = spfx[channel[c].spfx].duration;
+              if (spfx[channel[c].spfx].modlev != 0xff)
+                channel[c].modvol = spfx[channel[c].spfx].modlev;
+              else
+                channel[c].modvol = inst[channel[c].inst].data[7] & 63;
+            }
 
-	    if(channel[c].ilevpuls != 0xff && cnt < 0x20) {	// reset LevelPuls
-	      channel[c].levpuls = channel[c].ilevpuls;
-	      channel[c].fxdel = levpuls[channel[c].levpuls].duration;
-	      channel[c].frameskip = inst[channel[c].inst].timer;
-	      if(levpuls[channel[c].levpuls].level != 0xff)
-		channel[c].modvol = levpuls[channel[c].levpuls].level;
-	      else
-		channel[c].modvol = inst[channel[c].inst].data[7] & 63;
-	    }
+            if (channel[c].ilevpuls != 0xff && cnt < 0x20)
+            {                   // reset LevelPuls
+              channel[c].levpuls = channel[c].ilevpuls;
+              channel[c].fxdel = levpuls[channel[c].levpuls].duration;
+              channel[c].frameskip = inst[channel[c].inst].timer;
+              if (levpuls[channel[c].levpuls].level != 0xff)
+                channel[c].modvol = levpuls[channel[c].levpuls].level;
+              else
+                channel[c].modvol = inst[channel[c].inst].data[7] & 63;
+            }
 
-	    channel[c].freq = notetable[note%12] + ((note/12) << 10);
-	    if(cnt < 0x20)	// normal note
-	      playnote(c);
-	    else {			// tienote
-	      setfreq(c);
-	      cnt -= 0x20;	// make count proper
-	    }
-	    channel[c].rhcnt = cnt;
-	  } else {	// note handling for v0
-	    if(cnt < 2)	// unlocked note
-	      note += channel[c].transpose;
-	    channel[c].note = note;
+            channel[c].freq = notetable[note % 12] + ((note / 12) << 10);
+            if (cnt < 0x20)     // normal note
+              playnote (c);
+            else
+            {                   // tienote
+              setfreq (c);
+              cnt -= 0x20;      // make count proper
+            }
+            channel[c].rhcnt = cnt;
+          }
+          else
+          {                     // note handling for v0
+            if (cnt < 2)        // unlocked note
+              note += channel[c].transpose;
+            channel[c].note = note;
 
-	    channel[c].freq = notetable[note%12] + ((note/12) << 10);
-	    if(cnt == 1)	// tienote
-	      setfreq(c);
-	    else			// normal note
-	      playnote(c);
-	  }
-	  break;
-	}
-	continue;	// event is complete
-      } else {		// effect event
-	switch(fx) {
-	case 6:		// Cut/Stop Voice
-	  buf = channel[c].inst;
-	  channel[c].inst = 0;
-	  playnote(c);
-	  channel[c].inst = buf;
-	  channel[c].rhcnt = fxop;
-	  continue;	// no note follows this event
-	case 7:		// Vibrato
-	  channel[c].vibspeed = fxop & 0xff;
-	  channel[c].vibdepth = fxop >> 8;
-	  channel[c].trigger = fxop >> 9;
-	  channel[c].fxflag |= 1;
-	  break;
-	case 8:		// v0: Duration
-	  if(!version)
-	    channel[c].irhcnt = fxop;
-	  break;
-	case 9:		// New Level
-	  channel[c].vol = fxop & 63;
-	  if(channel[c].vol + channel[c].cvol < 63)	// apply channel volume
-	    channel[c].vol += channel[c].cvol;
-	  else
-	    channel[c].vol = 63;
-	  setvolume(c);
-	  break;
-	case 0xb:	// v4: Set SpFX
-	  if(version == 4)
-	    channel[c].ispfx = fxop;
-	  break;
-	case 0xc:	// Set Instrument
-	  channel[c].ispfx = 0xffff;
-	  channel[c].spfx = 0xffff;
-	  channel[c].inst = fxop;
-	  channel[c].modvol = inst[fxop].data[7] & 63;
-	  if(version < 3 && version && inst[fxop].tunelev)	// Set LevelPuls
-	    channel[c].ilevpuls = inst[fxop].tunelev - 1;
-	  else {
-	    channel[c].ilevpuls = 0xff;
-	    channel[c].levpuls = 0xff;
-	  }
-	  break;
-	case 0xd:	// Slide up
-	  channel[c].slide = fxop;
-	  channel[c].fxflag |= 2;
-	  break;
-	case 0xe:	// Slide down
-	  channel[c].slide = -fxop;
-	  channel[c].fxflag |= 2;
-	  break;
-	}
-	goto readseq;	// event is incomplete, note follows
+            channel[c].freq = notetable[note % 12] + ((note / 12) << 10);
+            if (cnt == 1)       // tienote
+              setfreq (c);
+            else                // normal note
+              playnote (c);
+          }
+          break;
+        }
+        continue;               // event is complete
+      }
+      else
+      {                         // effect event
+        switch (fx)
+        {
+        case 6:                // Cut/Stop Voice
+          buf = channel[c].inst;
+          channel[c].inst = 0;
+          playnote (c);
+          channel[c].inst = buf;
+          channel[c].rhcnt = fxop;
+          continue;             // no note follows this event
+        case 7:                // Vibrato
+          channel[c].vibspeed = fxop & 0xff;
+          channel[c].vibdepth = fxop >> 8;
+          channel[c].trigger = fxop >> 9;
+          channel[c].fxflag |= 1;
+          break;
+        case 8:                // v0: Duration
+          if (!version)
+            channel[c].irhcnt = fxop;
+          break;
+        case 9:                // New Level
+          channel[c].vol = fxop & 63;
+          if (channel[c].vol + channel[c].cvol < 63)    // apply channel volume
+            channel[c].vol += channel[c].cvol;
+          else
+            channel[c].vol = 63;
+          setvolume (c);
+          break;
+        case 0xb:              // v4: Set SpFX
+          if (version == 4)
+            channel[c].ispfx = fxop;
+          break;
+        case 0xc:              // Set Instrument
+          channel[c].ispfx = 0xffff;
+          channel[c].spfx = 0xffff;
+          channel[c].inst = fxop;
+          channel[c].modvol = inst[fxop].data[7] & 63;
+          if (version < 3 && version && inst[fxop].tunelev) // Set LevelPuls
+            channel[c].ilevpuls = inst[fxop].tunelev - 1;
+          else
+          {
+            channel[c].ilevpuls = 0xff;
+            channel[c].levpuls = 0xff;
+          }
+          break;
+        case 0xd:              // Slide up
+          channel[c].slide = fxop;
+          channel[c].fxflag |= 2;
+          break;
+        case 0xe:              // Slide down
+          channel[c].slide = -fxop;
+          channel[c].fxflag |= 2;
+          break;
+        }
+        goto readseq;           // event is incomplete, note follows
       }
     }
 
-  for(c=0;c<9;c++)
-    if(channel[c].seqend)
+  for (c = 0; c < 9; c++)
+    if (channel[c].seqend)
       trackend++;
-  if(trackend == 9)
+  if (trackend == 9)
     songend = 1;
 
   return !songend;
 }
 
-void Cd00Player::rewind(int subsong)
+void
+Cd00Player::rewind (int subsong)
 {
-  struct Stpoin {
+  struct Stpoin
+  {
     unsigned short ptr[9];
-    unsigned char volume[9],dummy[5];
+    unsigned char volume[9], dummy[5];
   } *tpoin;
   int i;
 
-  if(version > 1) {	// do nothing if subsong > number of subsongs
-    if(subsong >= header->subsongs)
+  if (version > 1)
+  {                             // do nothing if subsong > number of subsongs
+    if (subsong >= header->subsongs)
       return;
-  } else
-    if(subsong >= header1->subsongs)
-      return;
+  }
+  else if (subsong >= header1->subsongs)
+    return;
 
-  memset(channel,0,sizeof(channel));
-  if(version > 1)
-    tpoin = (struct Stpoin *)((char *)filedata + LE_WORD(&header->tpoin));
+  memset (channel, 0, sizeof (channel));
+  if (version > 1)
+    tpoin = (struct Stpoin *) ((char *) filedata + LE_WORD (&header->tpoin));
   else
-    tpoin = (struct Stpoin *)((char *)filedata + LE_WORD(&header1->tpoin));
-  for(i=0;i<9;i++) {
-    if(LE_WORD(&tpoin[subsong].ptr[i])) {	// track enabled
-      channel[i].speed = LE_WORD((unsigned short *)
-				 ((char *)filedata + LE_WORD(&tpoin[subsong].ptr[i])));
-      channel[i].order = (unsigned short *)
-	((char *)filedata + LE_WORD(&tpoin[subsong].ptr[i]) + 2);
-    } else {					// track disabled
+    tpoin = (struct Stpoin *) ((char *) filedata + LE_WORD (&header1->tpoin));
+  for (i = 0; i < 9; i++)
+  {
+    if (LE_WORD (&tpoin[subsong].ptr[i]))
+    {                           // track enabled
+      channel[i].speed = LE_WORD ((unsigned short *)
+                                  ((char *) filedata +
+                                   LE_WORD (&tpoin[subsong].ptr[i])));
+      channel[i].order =
+        (unsigned short *) ((char *) filedata +
+                            LE_WORD (&tpoin[subsong].ptr[i]) + 2);
+    }
+    else
+    {                           // track disabled
       channel[i].speed = 0;
       channel[i].order = 0;
     }
-    channel[i].ispfx = 0xffff; channel[i].spfx = 0xffff;	// no SpFX
-    channel[i].ilevpuls = 0xff; channel[i].levpuls = 0xff;	// no LevelPuls
-    channel[i].cvol = tpoin[subsong].volume[i] & 0x7f;	// our player may savely ignore bit 7
-    channel[i].vol = channel[i].cvol;			// initialize volume
+    channel[i].ispfx = 0xffff;
+    channel[i].spfx = 0xffff;   // no SpFX
+    channel[i].ilevpuls = 0xff;
+    channel[i].levpuls = 0xff;  // no LevelPuls
+    channel[i].cvol = tpoin[subsong].volume[i] & 0x7f;  // our player may savely ignore bit 7
+    channel[i].vol = channel[i].cvol;   // initialize volume
   }
   songend = 0;
-  opl->init(); opl->write(1,32);	// reset OPL chip
+  opl->init ();
+  opl->write (1, 32);           // reset OPL chip
 }
 
-std::string Cd00Player::gettype()
+std::string Cd00Player::gettype ()
 {
-  char	tmpstr[40];
+  char
+    tmpstr[40];
 
-  sprintf(tmpstr,"EdLib packed (version %d)",version > 1 ? header->version : header1->version);
-  return std::string(tmpstr);
+  sprintf (tmpstr, "EdLib packed (version %d)",
+           version > 1 ? header->version : header1->version);
+  return std::string (tmpstr);
 }
 
-float Cd00Player::getrefresh()
+float
+Cd00Player::getrefresh ()
 {
-  if(version > 1)
+  if (version > 1)
     return header->speed;
   else
     return header1->speed;
 }
 
-unsigned int Cd00Player::getsubsongs()
+unsigned int
+Cd00Player::getsubsongs ()
 {
-  if(version <= 1)	// return number of subsongs
+  if (version <= 1)             // return number of subsongs
     return header1->subsongs;
   else
     return header->subsongs;
@@ -471,76 +556,93 @@
 
 /*** private methods *************************************/
 
-void Cd00Player::setvolume(unsigned char chan)
+void
+Cd00Player::setvolume (unsigned char chan)
 {
-  unsigned char	op = op_table[chan];
-  unsigned short	insnr = channel[chan].inst;
+  unsigned char op = op_table[chan];
+  unsigned short insnr = channel[chan].inst;
 
-  opl->write(0x43 + op,(int)(63-((63-(inst[insnr].data[2] & 63))/63.0)*(63-channel[chan].vol)) +
-	     (inst[insnr].data[2] & 192));
-  if(inst[insnr].data[10] & 1)
-    opl->write(0x40 + op,(int)(63-((63-channel[chan].modvol)/63.0)*(63-channel[chan].vol)) +
-	       (inst[insnr].data[7] & 192));
+  opl->write (0x43 + op,
+              (int) (63 -
+                     ((63 - (inst[insnr].data[2] & 63)) / 63.0) * (63 -
+                                                                   channel
+                                                                   [chan].
+                                                                   vol)) +
+              (inst[insnr].data[2] & 192));
+  if (inst[insnr].data[10] & 1)
+    opl->write (0x40 + op,
+                (int) (63 -
+                       ((63 - channel[chan].modvol) / 63.0) * (63 -
+                                                               channel[chan].
+                                                               vol)) +
+                (inst[insnr].data[7] & 192));
   else
-    opl->write(0x40 + op,channel[chan].modvol + (inst[insnr].data[7] & 192));
+    opl->write (0x40 + op,
+                channel[chan].modvol + (inst[insnr].data[7] & 192));
 }
 
-void Cd00Player::setfreq(unsigned char chan)
+void
+Cd00Player::setfreq (unsigned char chan)
 {
   unsigned short freq = channel[chan].freq;
 
-  if(version == 4)	// v4: apply instrument finetune
+  if (version == 4)             // v4: apply instrument finetune
     freq += inst[channel[chan].inst].tunelev;
 
   freq += channel[chan].slideval;
-  opl->write(0xa0 + chan, freq & 255);
-  if(channel[chan].key)
-    opl->write(0xb0 + chan, ((freq >> 8) & 31) | 32);
+  opl->write (0xa0 + chan, freq & 255);
+  if (channel[chan].key)
+    opl->write (0xb0 + chan, ((freq >> 8) & 31) | 32);
   else
-    opl->write(0xb0 + chan, (freq >> 8) & 31);
+    opl->write (0xb0 + chan, (freq >> 8) & 31);
 }
 
-void Cd00Player::setinst(unsigned char chan)
+void
+Cd00Player::setinst (unsigned char chan)
 {
-  unsigned char	op = op_table[chan];
-  unsigned short	insnr = channel[chan].inst;
+  unsigned char op = op_table[chan];
+  unsigned short insnr = channel[chan].inst;
 
   // set instrument data
-  opl->write(0x63 + op, inst[insnr].data[0]);
-  opl->write(0x83 + op, inst[insnr].data[1]);
-  opl->write(0x23 + op, inst[insnr].data[3]);
-  opl->write(0xe3 + op, inst[insnr].data[4]);
-  opl->write(0x60 + op, inst[insnr].data[5]);
-  opl->write(0x80 + op, inst[insnr].data[6]);
-  opl->write(0x20 + op, inst[insnr].data[8]);
-  opl->write(0xe0 + op, inst[insnr].data[9]);
-  if(version)
-    opl->write(0xc0 + chan, inst[insnr].data[10]);
+  opl->write (0x63 + op, inst[insnr].data[0]);
+  opl->write (0x83 + op, inst[insnr].data[1]);
+  opl->write (0x23 + op, inst[insnr].data[3]);
+  opl->write (0xe3 + op, inst[insnr].data[4]);
+  opl->write (0x60 + op, inst[insnr].data[5]);
+  opl->write (0x80 + op, inst[insnr].data[6]);
+  opl->write (0x20 + op, inst[insnr].data[8]);
+  opl->write (0xe0 + op, inst[insnr].data[9]);
+  if (version)
+    opl->write (0xc0 + chan, inst[insnr].data[10]);
   else
-    opl->write(0xc0 + chan, (inst[insnr].data[10] << 1) + (inst[insnr].tunelev & 1));
+    opl->write (0xc0 + chan,
+                (inst[insnr].data[10] << 1) + (inst[insnr].tunelev & 1));
 }
 
-void Cd00Player::playnote(unsigned char chan)
+void
+Cd00Player::playnote (unsigned char chan)
 {
   // set misc vars & play
-  opl->write(0xb0 + chan, 0);	// stop old note
-  setinst(chan);
+  opl->write (0xb0 + chan, 0);  // stop old note
+  setinst (chan);
   channel[chan].key = 1;
-  setfreq(chan);
-  setvolume(chan);
+  setfreq (chan);
+  setvolume (chan);
 }
 
-void Cd00Player::vibrato(unsigned char chan)
+void
+Cd00Player::vibrato (unsigned char chan)
 {
-  if(!channel[chan].vibdepth)
+  if (!channel[chan].vibdepth)
     return;
 
-  if(channel[chan].trigger)
+  if (channel[chan].trigger)
     channel[chan].trigger--;
-  else {
+  else
+  {
     channel[chan].trigger = channel[chan].vibdepth;
     channel[chan].vibspeed = -channel[chan].vibspeed;
   }
   channel[chan].freq += channel[chan].vibspeed;
-  setfreq(chan);
+  setfreq (chan);
 }
--- a/src/adplug/core/database.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/database.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -30,98 +30,114 @@
 
 /***** CAdPlugDatabase *****/
 
-const unsigned short CAdPlugDatabase::hash_radix = 0xfff1;	// should be prime
+const unsigned short
+  CAdPlugDatabase::hash_radix = 0xfff1; // should be prime
 
-CAdPlugDatabase::CAdPlugDatabase()
-  : linear_index(0), linear_logic_length(0), linear_length(0)
+CAdPlugDatabase::CAdPlugDatabase ():linear_index (0), linear_logic_length (0),
+linear_length (0)
 {
-  db_linear = new DB_Bucket * [hash_radix];
-  db_hashed = new DB_Bucket * [hash_radix];
-  memset(db_linear, 0, sizeof(DB_Bucket *) * hash_radix);
-  memset(db_hashed, 0, sizeof(DB_Bucket *) * hash_radix);
+  db_linear = new DB_Bucket *[hash_radix];
+  db_hashed = new DB_Bucket *[hash_radix];
+  memset (db_linear, 0, sizeof (DB_Bucket *) * hash_radix);
+  memset (db_hashed, 0, sizeof (DB_Bucket *) * hash_radix);
 }
 
-CAdPlugDatabase::~CAdPlugDatabase()
+CAdPlugDatabase::~CAdPlugDatabase ()
 {
   unsigned long i;
 
-  for(i = 0; i < linear_length; i++)
+  for (i = 0; i < linear_length; i++)
     delete db_linear[i];
 
-  delete [] db_linear;
-  delete [] db_hashed;
+  delete[]db_linear;
+  delete[]db_hashed;
 }
 
-bool CAdPlugDatabase::load(std::string db_name)
+bool
+CAdPlugDatabase::load (std::string db_name)
 {
-  vfsistream f(db_name);
-  if(f.error()) return false;
-  return load(f);
+  vfsistream f (db_name);
+  if (f.error ())
+    return false;
+  return load (f);
 }
 
-bool CAdPlugDatabase::load(binistream &f)
+bool
+CAdPlugDatabase::load (binistream & f)
 {
-  unsigned int idlen = strlen(DB_FILEID_V10);
-  char *id = new char [idlen];
+  unsigned int idlen = strlen (DB_FILEID_V10);
+  char *id = new char[idlen];
   unsigned long length;
 
   // Open database as little endian with IEEE floats
-  f.setFlag(binio::BigEndian, false); f.setFlag(binio::FloatIEEE);
+  f.setFlag (binio::BigEndian, false);
+  f.setFlag (binio::FloatIEEE);
 
-  f.readString(id,idlen);
-  if(memcmp(id,DB_FILEID_V10,idlen)) {
-    delete [] id;
+  f.readString (id, idlen);
+  if (memcmp (id, DB_FILEID_V10, idlen))
+  {
+    delete[]id;
     return false;
   }
-  delete [] id;
-  length = f.readInt(4);
+  delete[]id;
+  length = f.readInt (4);
 
   // read records
-  for(unsigned long i = 0; i < length; i++)
-    insert(CRecord::factory(f));
+  for (unsigned long i = 0; i < length; i++)
+    insert (CRecord::factory (f));
 
   return true;
 }
 
-bool CAdPlugDatabase::save(std::string db_name)
+bool
+CAdPlugDatabase::save (std::string db_name)
 {
-  vfsostream f(db_name);
-  if(f.error()) return false;
-  return save(f);
+  vfsostream f (db_name);
+  if (f.error ())
+    return false;
+  return save (f);
 }
 
-bool CAdPlugDatabase::save(binostream &f)
+bool
+CAdPlugDatabase::save (binostream & f)
 {
   unsigned long i;
 
   // Save database as little endian with IEEE floats
-  f.setFlag(binio::BigEndian, false); f.setFlag(binio::FloatIEEE);
+  f.setFlag (binio::BigEndian, false);
+  f.setFlag (binio::FloatIEEE);
 
-  f.writeString(DB_FILEID_V10);
-  f.writeInt(linear_logic_length, 4);
+  f.writeString (DB_FILEID_V10);
+  f.writeInt (linear_logic_length, 4);
 
   // write records
-  for(i = 0; i < linear_length; i++)
-    if(!db_linear[i]->deleted)
-      db_linear[i]->record->write(f);
+  for (i = 0; i < linear_length; i++)
+    if (!db_linear[i]->deleted)
+      db_linear[i]->record->write (f);
 
   return true;
 }
 
-CAdPlugDatabase::CRecord *CAdPlugDatabase::search(CKey const &key)
+CAdPlugDatabase::CRecord * CAdPlugDatabase::search (CKey const &key)
 {
-  if(lookup(key)) return get_record(); else return 0;
+  if (lookup (key))
+    return get_record ();
+  else
+    return 0;
 }
 
-bool CAdPlugDatabase::lookup(CKey const &key)
+bool
+CAdPlugDatabase::lookup (CKey const &key)
 {
-  unsigned long index = make_hash(key);
-  if(!db_hashed[index]) return false;
+  unsigned long index = make_hash (key);
+  if (!db_hashed[index])
+    return false;
 
   // immediate hit ?
   DB_Bucket *bucket = db_hashed[index];
 
-  if(!bucket->deleted && bucket->record->key == key) {
+  if (!bucket->deleted && bucket->record->key == key)
+  {
     linear_index = bucket->index;
     return true;
   }
@@ -129,8 +145,10 @@
   // in-chain hit ?
   bucket = db_hashed[index]->chain;
 
-  while(bucket) {
-    if(!bucket->deleted && bucket->record->key == key) {
+  while (bucket)
+  {
+    if (!bucket->deleted && bucket->record->key == key)
+    {
       linear_index = bucket->index;
       return true;
     }
@@ -141,248 +159,320 @@
   return false;
 }
 
-bool CAdPlugDatabase::insert(CRecord *record)
+bool
+CAdPlugDatabase::insert (CRecord * record)
 {
   long index;
 
   // sanity checks
-  if(!record) return false;			// null-pointer given
-  if(linear_length == hash_radix) return false;	// max. db size exceeded
-  if(lookup(record->key)) return false;		// record already in db
+  if (!record)
+    return false;               // null-pointer given
+  if (linear_length == hash_radix)
+    return false;               // max. db size exceeded
+  if (lookup (record->key))
+    return false;               // record already in db
 
   // make bucket
-  DB_Bucket *bucket = new DB_Bucket(linear_length, record);
-  if(!bucket) return false;
+  DB_Bucket *bucket = new DB_Bucket (linear_length, record);
+  if (!bucket)
+    return false;
 
   // add to linear list
   db_linear[linear_length] = bucket;
-  linear_logic_length++; linear_length++;
+  linear_logic_length++;
+  linear_length++;
 
   // add to hashed list
-  index = make_hash(record->key);
+  index = make_hash (record->key);
 
-  if(!db_hashed[index])	// First entry in hashtable
+  if (!db_hashed[index])        // First entry in hashtable
     db_hashed[index] = bucket;
-  else {		// Add entry in chained list
+  else
+  {                             // Add entry in chained list
     DB_Bucket *chain = db_hashed[index];
 
-    while(chain->chain) chain = chain->chain;
+    while (chain->chain)
+      chain = chain->chain;
     chain->chain = bucket;
   }
 
   return true;
 }
 
-void CAdPlugDatabase::wipe(CRecord *record)
+void
+CAdPlugDatabase::wipe (CRecord * record)
 {
-  if(!lookup(record->key)) return;
-  wipe();
+  if (!lookup (record->key))
+    return;
+  wipe ();
 }
 
-void CAdPlugDatabase::wipe()
+void
+CAdPlugDatabase::wipe ()
 {
-  if(!linear_length) return;
+  if (!linear_length)
+    return;
 
   DB_Bucket *bucket = db_linear[linear_index];
 
-  if(!bucket->deleted) {
+  if (!bucket->deleted)
+  {
     delete bucket->record;
     linear_logic_length--;
     bucket->deleted = true;
   }
 }
 
-CAdPlugDatabase::CRecord *CAdPlugDatabase::get_record()
+CAdPlugDatabase::CRecord * CAdPlugDatabase::get_record ()
 {
-  if(!linear_length) return 0;
+  if (!linear_length)
+    return 0;
   return db_linear[linear_index]->record;
 }
 
-bool CAdPlugDatabase::go_forward()
+bool
+CAdPlugDatabase::go_forward ()
 {
-  if(linear_index + 1 < linear_length) {
+  if (linear_index + 1 < linear_length)
+  {
     linear_index++;
     return true;
-  } else
+  }
+  else
     return false;
 }
 
-bool CAdPlugDatabase::go_backward()
+bool
+CAdPlugDatabase::go_backward ()
 {
-  if(!linear_index) return false;
+  if (!linear_index)
+    return false;
   linear_index--;
   return true;
 }
 
-void CAdPlugDatabase::goto_begin()
-{	
-  if(linear_length) linear_index = 0;
+void
+CAdPlugDatabase::goto_begin ()
+{
+  if (linear_length)
+    linear_index = 0;
 }
 
-void CAdPlugDatabase::goto_end()
+void
+CAdPlugDatabase::goto_end ()
 {
-  if(linear_length) linear_index = linear_length - 1;
+  if (linear_length)
+    linear_index = linear_length - 1;
 }
 
-inline unsigned long CAdPlugDatabase::make_hash(CKey const &key)
+inline unsigned long
+CAdPlugDatabase::make_hash (CKey const &key)
 {
   return (key.crc32 + key.crc16) % hash_radix;
 }
 
 /***** CAdPlugDatabase::DB_Bucket *****/
 
-CAdPlugDatabase::DB_Bucket::DB_Bucket(unsigned long nindex, CRecord *newrecord, DB_Bucket *newchain)
-  : index(nindex), deleted(false), chain(newchain), record(newrecord)
+CAdPlugDatabase::DB_Bucket::DB_Bucket (unsigned long nindex, CRecord * newrecord, DB_Bucket * newchain):index (nindex), deleted (false), chain (newchain),
+record
+(newrecord)
 {
 }
 
-CAdPlugDatabase::DB_Bucket::~DB_Bucket()
+CAdPlugDatabase::DB_Bucket::~DB_Bucket ()
 {
-  if(!deleted) delete record;
+  if (!deleted)
+    delete
+      record;
 }
 
 /***** CAdPlugDatabase::CRecord *****/
 
-CAdPlugDatabase::CRecord *CAdPlugDatabase::CRecord::factory(RecordType type)
+CAdPlugDatabase::CRecord * CAdPlugDatabase::CRecord::factory (RecordType type)
 {
-  switch(type) {
-  case Plain: return new CPlainRecord;
-  case SongInfo: return new CInfoRecord;
-  case ClockSpeed: return new CClockRecord;
-  default: return 0;
+  switch (type)
+  {
+  case Plain:
+    return new CPlainRecord;
+  case SongInfo:
+    return new CInfoRecord;
+  case ClockSpeed:
+    return new CClockRecord;
+  default:
+    return 0;
   }
 }
 
-CAdPlugDatabase::CRecord *CAdPlugDatabase::CRecord::factory(binistream &in)
+CAdPlugDatabase::CRecord * CAdPlugDatabase::CRecord::factory (binistream & in)
 {
-  RecordType	type;
-  unsigned long	size;
-  CRecord	*rec;
+  RecordType
+    type;
+  unsigned long
+    size;
+  CRecord *
+    rec;
 
-  type = (RecordType)in.readInt(1); size = in.readInt(4);
-  rec = factory(type);
+  type = (RecordType) in.readInt (1);
+  size = in.readInt (4);
+  rec = factory (type);
 
-  if(rec) {
-    rec->key.crc16 = in.readInt(2); rec->key.crc32 = in.readInt(4);
-    rec->filetype = in.readString('\0'); rec->comment = in.readString('\0');
-    rec->read_own(in);
+  if (rec)
+  {
+    rec->key.crc16 = in.readInt (2);
+    rec->key.crc32 = in.readInt (4);
+    rec->filetype = in.readString ('\0');
+    rec->comment = in.readString ('\0');
+    rec->read_own (in);
     return rec;
-  } else {
+  }
+  else
+  {
     // skip this record, cause we don't know about it
-    in.seek(size, binio::Add);
+    in.seek (size, binio::Add);
     return 0;
   }
 }
 
-void CAdPlugDatabase::CRecord::write(binostream &out)
+void
+CAdPlugDatabase::CRecord::write (binostream & out)
 {
-  out.writeInt(type, 1);
-  out.writeInt(get_size() + filetype.length() + comment.length() + 8, 4);
-  out.writeInt(key.crc16, 2); out.writeInt(key.crc32, 4);
-  out.writeString(filetype); out.writeInt('\0', 1);
-  out.writeString(comment); out.writeInt('\0', 1);
+  out.writeInt (type, 1);
+  out.writeInt (get_size () + filetype.length () + comment.length () + 8, 4);
+  out.writeInt (key.crc16, 2);
+  out.writeInt (key.crc32, 4);
+  out.writeString (filetype);
+  out.writeInt ('\0', 1);
+  out.writeString (comment);
+  out.writeInt ('\0', 1);
 
-  write_own(out);
+  write_own (out);
+}
+
+bool
+CAdPlugDatabase::CRecord::user_read (std::istream & in, std::ostream & out)
+{
+  return user_read_own (in, out);
 }
 
-bool CAdPlugDatabase::CRecord::user_read(std::istream &in, std::ostream &out)
-{
-  return user_read_own(in, out);
-}
-
-bool CAdPlugDatabase::CRecord::user_write(std::ostream &out)
+bool
+CAdPlugDatabase::CRecord::user_write (std::ostream & out)
 {
   out << "Record type: ";
-  switch(type) {
-  case Plain: out << "Plain"; break;
-  case SongInfo: out << "SongInfo"; break;
-  case ClockSpeed: out << "ClockSpeed"; break;
-  default: out << "*** Unknown ***"; break;
+  switch (type)
+  {
+  case Plain:
+    out << "Plain";
+    break;
+  case SongInfo:
+    out << "SongInfo";
+    break;
+  case ClockSpeed:
+    out << "ClockSpeed";
+    break;
+  default:
+    out << "*** Unknown ***";
+    break;
   }
   out << std::endl;
-  out << "Key: " << std::hex << key.crc16 << ":" << key.crc32 << std::dec << std::endl;
+  out << "Key: " << std::hex << key.crc16 << ":" << key.
+    crc32 << std::dec << std::endl;
   out << "File type: " << filetype << std::endl;
   out << "Comment: " << comment << std::endl;
 
-  return user_write_own(out);
+  return user_write_own (out);
 }
 
 /***** CAdPlugDatabase::CRecord::CKey *****/
 
-CAdPlugDatabase::CKey::CKey(binistream &buf)
+CAdPlugDatabase::CKey::CKey (binistream & buf)
 {
-  make(buf);
+  make (buf);
 }
 
-bool CAdPlugDatabase::CKey::operator==(const CKey &key)
+bool
+CAdPlugDatabase::CKey::operator== (const CKey & key)
 {
   return ((crc16 == key.crc16) && (crc32 == key.crc32));
 }
 
-void CAdPlugDatabase::CKey::make(binistream &buf)
+void
+CAdPlugDatabase::CKey::make (binistream & buf)
 // Key is CRC16:CRC32 pair. CRC16 and CRC32 calculation routines (c) Zhengxi
 {
-  static const unsigned short magic16 = 0xa001;
-  static const unsigned long  magic32 = 0xedb88320;
+  static const unsigned short
+    magic16 = 0xa001;
+  static const unsigned long
+    magic32 = 0xedb88320;
 
-  crc16 = 0; crc32 = ~0;
+  crc16 = 0;
+  crc32 = ~0;
 
-  while(!buf.eof())
-    {
-      unsigned char byte = buf.readInt(1);
+  while (!buf.eof ())
+  {
+    unsigned char
+      byte = buf.readInt (1);
 
-      for (int j=0;j<8;j++)
-	{
-	  if ((crc16 ^ byte) & 1)
-	    crc16 = (crc16 >> 1) ^ magic16;
-	  else
-	    crc16 >>= 1;
+    for (int j = 0; j < 8; j++)
+    {
+      if ((crc16 ^ byte) & 1)
+        crc16 = (crc16 >> 1) ^ magic16;
+      else
+        crc16 >>= 1;
 
-	  if ((crc32 ^ byte) & 1)
-	    crc32 = (crc32 >> 1) ^ magic32;
-	  else
-	    crc32 >>= 1;
+      if ((crc32 ^ byte) & 1)
+        crc32 = (crc32 >> 1) ^ magic32;
+      else
+        crc32 >>= 1;
 
-	  byte >>= 1;
-	}
+      byte >>= 1;
     }
+  }
 
   crc16 &= 0xffff;
-  crc32  = ~crc32;
+  crc32 = ~crc32;
 }
 
 /***** CInfoRecord *****/
 
-CInfoRecord::CInfoRecord()
+CInfoRecord::CInfoRecord ()
 {
   type = SongInfo;
 }
 
-void CInfoRecord::read_own(binistream &in)
+void
+CInfoRecord::read_own (binistream & in)
 {
-  title = in.readString('\0');
-  author = in.readString('\0');
+  title = in.readString ('\0');
+  author = in.readString ('\0');
 }
 
-void CInfoRecord::write_own(binostream &out)
+void
+CInfoRecord::write_own (binostream & out)
 {
-  out.writeString(title); out.writeInt('\0', 1);
-  out.writeString(author); out.writeInt('\0', 1);
+  out.writeString (title);
+  out.writeInt ('\0', 1);
+  out.writeString (author);
+  out.writeInt ('\0', 1);
 }
 
-unsigned long CInfoRecord::get_size()
+unsigned long
+CInfoRecord::get_size ()
 {
-  return title.length() + author.length() + 2;
+  return title.length () + author.length () + 2;
 }
 
-bool CInfoRecord::user_read_own(std::istream &in, std::ostream &out)
+bool
+CInfoRecord::user_read_own (std::istream & in, std::ostream & out)
 {
-  out << "Title: "; in >> title;
-  out << "Author: "; in >> author;
+  out << "Title: ";
+  in >> title;
+  out << "Author: ";
+  in >> author;
   return true;
 }
 
-bool CInfoRecord::user_write_own(std::ostream &out)
+bool
+CInfoRecord::user_write_own (std::ostream & out)
 {
   out << "Title: " << title << std::endl;
   out << "Author: " << author << std::endl;
@@ -391,34 +481,39 @@
 
 /***** CClockRecord *****/
 
-CClockRecord::CClockRecord()
-  : clock(0.0f)
+CClockRecord::CClockRecord ():clock (0.0f)
 {
   type = ClockSpeed;
 }
 
-void CClockRecord::read_own(binistream &in)
+void
+CClockRecord::read_own (binistream & in)
 {
-  clock = in.readFloat(binio::Single);
+  clock = in.readFloat (binio::Single);
 }
 
-void CClockRecord::write_own(binostream &out)
+void
+CClockRecord::write_own (binostream & out)
 {
-  out.writeFloat(clock, binio::Single);
+  out.writeFloat (clock, binio::Single);
 }
 
-unsigned long CClockRecord::get_size()
+unsigned long
+CClockRecord::get_size ()
 {
   return 4;
 }
 
-bool CClockRecord::user_read_own(std::istream &in, std::ostream &out)
+bool
+CClockRecord::user_read_own (std::istream & in, std::ostream & out)
 {
-  out << "Clockspeed: "; in >> clock;
+  out << "Clockspeed: ";
+  in >> clock;
   return true;
 }
 
-bool CClockRecord::user_write_own(std::ostream &out)
+bool
+CClockRecord::user_write_own (std::ostream & out)
 {
   out << "Clock speed: " << clock << " Hz" << std::endl;
   return true;
--- a/src/adplug/core/dfm.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/dfm.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -25,91 +25,113 @@
 #include "dfm.h"
 #include "debug.h"
 
-CPlayer *CdfmLoader::factory(Copl *newopl)
+CPlayer *
+CdfmLoader::factory (Copl * newopl)
 {
-  return new CdfmLoader(newopl);
+  return new CdfmLoader (newopl);
 }
 
-bool CdfmLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CdfmLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
-  unsigned char		npats,n,note,fx,c,r,param;
-  unsigned int		i;
-  const unsigned char	convfx[8] = {255,255,17,19,23,24,255,13};
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  unsigned char npats, n, note, fx, c, r, param;
+  unsigned int i;
+  const unsigned char convfx[8] = { 255, 255, 17, 19, 23, 24, 255, 13 };
 
   // file validation
-  f->readString(header.id, 4);
-  header.hiver = f->readInt(1); header.lover = f->readInt(1);
-  if(strncmp(header.id,"DFM\x1a",4) || header.hiver > 1)
-    { fp.close(f); return false; }
+  f->readString (header.id, 4);
+  header.hiver = f->readInt (1);
+  header.lover = f->readInt (1);
+  if (strncmp (header.id, "DFM\x1a", 4) || header.hiver > 1)
+  {
+    fp.close (f);
+    return false;
+  }
 
   // load
-  restartpos = 0; flags = Standard; bpm = 0;
-  init_trackord();
-  f->readString(songinfo, 33);
-  initspeed = f->readInt(1);
-  for(i = 0; i < 32; i++)
-    f->readString(instname[i], 12);
-  for(i = 0; i < 32; i++) {
-    inst[i].data[1] = f->readInt(1);
-    inst[i].data[2] = f->readInt(1);
-    inst[i].data[9] = f->readInt(1);
-    inst[i].data[10] = f->readInt(1);
-    inst[i].data[3] = f->readInt(1);
-    inst[i].data[4] = f->readInt(1);
-    inst[i].data[5] = f->readInt(1);
-    inst[i].data[6] = f->readInt(1);
-    inst[i].data[7] = f->readInt(1);
-    inst[i].data[8] = f->readInt(1);
-    inst[i].data[0] = f->readInt(1);
+  restartpos = 0;
+  flags = Standard;
+  bpm = 0;
+  init_trackord ();
+  f->readString (songinfo, 33);
+  initspeed = f->readInt (1);
+  for (i = 0; i < 32; i++)
+    f->readString (instname[i], 12);
+  for (i = 0; i < 32; i++)
+  {
+    inst[i].data[1] = f->readInt (1);
+    inst[i].data[2] = f->readInt (1);
+    inst[i].data[9] = f->readInt (1);
+    inst[i].data[10] = f->readInt (1);
+    inst[i].data[3] = f->readInt (1);
+    inst[i].data[4] = f->readInt (1);
+    inst[i].data[5] = f->readInt (1);
+    inst[i].data[6] = f->readInt (1);
+    inst[i].data[7] = f->readInt (1);
+    inst[i].data[8] = f->readInt (1);
+    inst[i].data[0] = f->readInt (1);
   }
-  for(i = 0; i < 128; i++) order[i] = f->readInt(1);
-  for(i = 0; i < 128 && order[i] != 128; i++) ; length = i;
-  npats = f->readInt(1);
-  for(i = 0; i < npats; i++) {
-    n = f->readInt(1);
-    for(r = 0; r < 64; r++)
-      for(c = 0; c < 9; c++) {
-	note = f->readInt(1);
-	if((note & 15) == 15)
-	  tracks[n*9+c][r].note = 127;	// key off
-	else
-	  tracks[n*9+c][r].note = ((note & 127) >> 4) * 12 + (note & 15);
-	if(note & 128) {	// additional effect byte
-	  fx = f->readInt(1);
-	  if(fx >> 5 == 1)
-	    tracks[n*9+c][r].inst = (fx & 31) + 1;
-	  else {
-	    tracks[n*9+c][r].command = convfx[fx >> 5];
-	    if(tracks[n*9+c][r].command == 17) {	// set volume
-	      param = fx & 31;
-	      param = 63 - param * 2;
-	      tracks[n*9+c][r].param1 = param >> 4;
-	      tracks[n*9+c][r].param2 = param & 15;
-	    } else {
-	      tracks[n*9+c][r].param1 = (fx & 31) >> 4;
-	      tracks[n*9+c][r].param2 = fx & 15;
-	    }
-	  }
-	}
+  for (i = 0; i < 128; i++)
+    order[i] = f->readInt (1);
+  for (i = 0; i < 128 && order[i] != 128; i++);
+  length = i;
+  npats = f->readInt (1);
+  for (i = 0; i < npats; i++)
+  {
+    n = f->readInt (1);
+    for (r = 0; r < 64; r++)
+      for (c = 0; c < 9; c++)
+      {
+        note = f->readInt (1);
+        if ((note & 15) == 15)
+          tracks[n * 9 + c][r].note = 127;  // key off
+        else
+          tracks[n * 9 + c][r].note = ((note & 127) >> 4) * 12 + (note & 15);
+        if (note & 128)
+        {                       // additional effect byte
+          fx = f->readInt (1);
+          if (fx >> 5 == 1)
+            tracks[n * 9 + c][r].inst = (fx & 31) + 1;
+          else
+          {
+            tracks[n * 9 + c][r].command = convfx[fx >> 5];
+            if (tracks[n * 9 + c][r].command == 17)
+            {                   // set volume
+              param = fx & 31;
+              param = 63 - param * 2;
+              tracks[n * 9 + c][r].param1 = param >> 4;
+              tracks[n * 9 + c][r].param2 = param & 15;
+            }
+            else
+            {
+              tracks[n * 9 + c][r].param1 = (fx & 31) >> 4;
+              tracks[n * 9 + c][r].param2 = fx & 15;
+            }
+          }
+        }
 
       }
   }
 
-  fp.close(f);
-  rewind(0);
+  fp.close (f);
+  rewind (0);
   return true;
 }
 
-std::string CdfmLoader::gettype()
+std::string CdfmLoader::gettype ()
 {
-	char tmpstr[20];
+  char
+    tmpstr[20];
 
-	sprintf(tmpstr,"Digital-FM %d.%d",header.hiver,header.lover);
-	return std::string(tmpstr);
+  sprintf (tmpstr, "Digital-FM %d.%d", header.hiver, header.lover);
+  return std::string (tmpstr);
 }
 
-float CdfmLoader::getrefresh()
+float
+CdfmLoader::getrefresh ()
 {
-	return 125.0f;
+  return 125.0f;
 }
--- a/src/adplug/core/diskopl.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/diskopl.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -22,69 +22,82 @@
 #include "diskopl.h"
 
 //static const unsigned short note_table[12] = {363,385,408,432,458,485,514,544,577,611,647,686};
-const unsigned char CDiskopl::op_table[9] = {0x00, 0x01, 0x02, 0x08, 0x09, 0x0a, 0x10, 0x11, 0x12};
+const unsigned char
+CDiskopl::op_table[9] =
+  { 0x00, 0x01, 0x02, 0x08, 0x09, 0x0a, 0x10, 0x11, 0x12 };
 
-CDiskopl::CDiskopl(std::string filename)
-  : old_freq(0.0f), del(1), nowrite(false)
+CDiskopl::CDiskopl (std::string filename):old_freq (0.0f), del (1),
+nowrite (false)
 {
-  unsigned short clock = 0xffff;
+  unsigned short
+    clock = 0xffff;
 
   currType = TYPE_OPL3;
-  f = fopen(filename.c_str(),"wb");
-  fwrite("RAWADATA",8,1,f);
-  fwrite(&clock,sizeof(clock),1,f);
+  f = fopen (filename.c_str (), "wb");
+  fwrite ("RAWADATA", 8, 1, f);
+  fwrite (&clock, sizeof (clock), 1, f);
 }
 
-CDiskopl::~CDiskopl()
+CDiskopl::~CDiskopl ()
 {
-  fclose(f);
+  fclose (f);
 }
 
-void CDiskopl::update(CPlayer *p)
+void
+CDiskopl::update (CPlayer * p)
 {
-  unsigned short	clock;
-  unsigned int		wait;
+  unsigned short clock;
+  unsigned int wait;
 
-  if(p->getrefresh() != old_freq) {
-    old_freq = p->getrefresh();
-    del = wait = (unsigned int)(18.2f / old_freq);
-    clock = (unsigned short)(1192737/(old_freq*(wait+1)));
-    fputc(0,f); fputc(2,f);
-    fwrite(&clock,2,1,f);
+  if (p->getrefresh () != old_freq)
+  {
+    old_freq = p->getrefresh ();
+    del = wait = (unsigned int) (18.2f / old_freq);
+    clock = (unsigned short) (1192737 / (old_freq * (wait + 1)));
+    fputc (0, f);
+    fputc (2, f);
+    fwrite (&clock, 2, 1, f);
   }
-  if(!nowrite) {
-    fputc(del+1,f);
-    fputc(0,f);
+  if (!nowrite)
+  {
+    fputc (del + 1, f);
+    fputc (0, f);
   }
 }
 
-void CDiskopl::setchip(int n)
+void
+CDiskopl::setchip (int n)
 {
-  Copl::setchip(n);
+  Copl::setchip (n);
 
-  if(!nowrite) {
-    fputc(currChip + 1, f);
-    fputc(2, f);
+  if (!nowrite)
+  {
+    fputc (currChip + 1, f);
+    fputc (2, f);
   }
 }
 
-void CDiskopl::write(int reg, int val)
+void
+CDiskopl::write (int reg, int val)
 {
-  if(!nowrite)
-    diskwrite(reg,val);
+  if (!nowrite)
+    diskwrite (reg, val);
 }
 
-void CDiskopl::init()
+void
+CDiskopl::init ()
 {
-  for (int i=0;i<9;i++) {	// stop instruments
-    diskwrite(0xb0 + i,0);		// key off
-    diskwrite(0x80 + op_table[i],0xff);	// fastest release
+  for (int i = 0; i < 9; i++)
+  {                             // stop instruments
+    diskwrite (0xb0 + i, 0);    // key off
+    diskwrite (0x80 + op_table[i], 0xff);   // fastest release
   }
-  diskwrite(0xbd,0);	// clear misc. register
+  diskwrite (0xbd, 0);          // clear misc. register
 }
 
-void CDiskopl::diskwrite(int reg, int val)
+void
+CDiskopl::diskwrite (int reg, int val)
 {
-  fputc(val,f);
-  fputc(reg,f);
+  fputc (val, f);
+  fputc (reg, f);
 }
--- a/src/adplug/core/dmo.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/dmo.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -44,361 +44,401 @@
 
 /* -------- Public Methods -------------------------------- */
 
-CPlayer *CdmoLoader::factory(Copl *newopl)
+CPlayer *
+CdmoLoader::factory (Copl * newopl)
 {
-  return new CdmoLoader(newopl);
+  return new CdmoLoader (newopl);
 }
 
-bool CdmoLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CdmoLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-  int i,j;
+  int i, j;
   binistream *f;
-  std::string filename(fd->uri);
+  std::string filename (fd->uri);
 
   // check header
   dmo_unpacker *unpacker = new dmo_unpacker;
   unsigned char chkhdr[16];
 
-  f = fp.open(fd); if(!f) return false;
-  if(!fp.extension(filename, ".dmo")) return false;
-
-  f->readString((char *)chkhdr, 16);
+  f = fp.open (fd);
+  if (!f)
+    return false;
+  if (!fp.extension (filename, ".dmo"))
+    return false;
 
-  if (!unpacker->decrypt(chkhdr, 16))
-    {
-      delete unpacker;
-      fp.close(f);
-      return false;
-    }
+  f->readString ((char *) chkhdr, 16);
+
+  if (!unpacker->decrypt (chkhdr, 16))
+  {
+    delete unpacker;
+    fp.close (f);
+    return false;
+  }
 
   // get file size
-  long packed_length = fp.filesize(f);
-  f->seek(0);
+  long packed_length = fp.filesize (f);
+  f->seek (0);
 
-  unsigned char *packed_module = new unsigned char [packed_length];
+  unsigned char *packed_module = new unsigned char[packed_length];
 
   // load file
-  f->readString((char *)packed_module, packed_length);
-  fp.close(f);
+  f->readString ((char *) packed_module, packed_length);
+  fp.close (f);
 
   // decrypt
-  unpacker->decrypt(packed_module,packed_length);
+  unpacker->decrypt (packed_module, packed_length);
 
-  long unpacked_length = 0x2000 * ARRAY_AS_WORD(packed_module, 12);
-  unsigned char *module = new unsigned char [unpacked_length];
+  long unpacked_length = 0x2000 * ARRAY_AS_WORD (packed_module, 12);
+  unsigned char *module = new unsigned char[unpacked_length];
 
   // unpack
-  if (!unpacker->unpack(packed_module+12,module,unpacked_length))
-    {
-      delete unpacker;
-      delete [] packed_module;
-      delete [] module;
-      return false;
-    }
+  if (!unpacker->unpack (packed_module + 12, module, unpacked_length))
+  {
+    delete unpacker;
+    delete[]packed_module;
+    delete[]module;
+    return false;
+  }
 
   delete unpacker;
-  delete [] packed_module;
+  delete[]packed_module;
 
   // "TwinTeam" - signed ?
-  if (memcmp(module,"TwinTeam Module File""\x0D\x0A",22))
-    {
-      delete module;
-      return false;
-    }
+  if (memcmp (module, "TwinTeam Module File" "\x0D\x0A", 22))
+  {
+    delete module;
+    return false;
+  }
 
   // load header
-  binisstream	uf(module, unpacked_length);
-  uf.setFlag(binio::BigEndian, false); uf.setFlag(binio::FloatIEEE);
+  binisstream uf (module, unpacked_length);
+  uf.setFlag (binio::BigEndian, false);
+  uf.setFlag (binio::FloatIEEE);
 
-  memset(&header,0,sizeof(s3mheader));
+  memset (&header, 0, sizeof (s3mheader));
 
-  uf.ignore(22);				// ignore DMO header ID string
-  uf.readString(header.name, 28);
+  uf.ignore (22);               // ignore DMO header ID string
+  uf.readString (header.name, 28);
 
-  uf.ignore(2);				// _unk_1
-  header.ordnum  = uf.readInt(2);
-  header.insnum  = uf.readInt(2);
-  header.patnum  = uf.readInt(2);
-  uf.ignore(2);				// _unk_2
-  header.is      = uf.readInt(2);
-  header.it      = uf.readInt(2);
+  uf.ignore (2);                // _unk_1
+  header.ordnum = uf.readInt (2);
+  header.insnum = uf.readInt (2);
+  header.patnum = uf.readInt (2);
+  uf.ignore (2);                // _unk_2
+  header.is = uf.readInt (2);
+  header.it = uf.readInt (2);
 
-  memset(header.chanset,0xFF,32);
+  memset (header.chanset, 0xFF, 32);
 
-  for (i=0;i<9;i++)
+  for (i = 0; i < 9; i++)
     header.chanset[i] = 0x10 + i;
 
-  uf.ignore(32);				// ignore panning settings for all 32 channels
+  uf.ignore (32);               // ignore panning settings for all 32 channels
 
   // load orders
-  for(i = 0; i < 256; i++) orders[i] = uf.readInt(1);
+  for (i = 0; i < 256; i++)
+    orders[i] = uf.readInt (1);
 
   orders[header.ordnum] = 0xFF;
 
   // load pattern lengths
   unsigned short my_patlen[100];
-  for(i = 0; i < 100; i++) my_patlen[i] = uf.readInt(2);
+  for (i = 0; i < 100; i++)
+    my_patlen[i] = uf.readInt (2);
 
   // load instruments
   for (i = 0; i < header.insnum; i++)
-    {
-      memset(&inst[i],0,sizeof(s3minst));
+  {
+    memset (&inst[i], 0, sizeof (s3minst));
 
-      uf.readString(inst[i].name, 28);
+    uf.readString (inst[i].name, 28);
 
-      inst[i].volume = uf.readInt(1);
-      inst[i].dsk    = uf.readInt(1);
-      inst[i].c2spd  = uf.readInt(4);
-      inst[i].type   = uf.readInt(1);
-      inst[i].d00    = uf.readInt(1);
-      inst[i].d01    = uf.readInt(1);
-      inst[i].d02    = uf.readInt(1);
-      inst[i].d03    = uf.readInt(1);
-      inst[i].d04    = uf.readInt(1);
-      inst[i].d05    = uf.readInt(1);
-      inst[i].d06    = uf.readInt(1);
-      inst[i].d07    = uf.readInt(1);
-      inst[i].d08    = uf.readInt(1);
-      inst[i].d09    = uf.readInt(1);
-      inst[i].d0a    = uf.readInt(1);
-      /*
-       * Originally, riven sets d0b = d0a and ignores 1 byte in the
-       * stream, but i guess this was a typo, so i read it here.
-       */
-      inst[i].d0b    = uf.readInt(1);
-    }
+    inst[i].volume = uf.readInt (1);
+    inst[i].dsk = uf.readInt (1);
+    inst[i].c2spd = uf.readInt (4);
+    inst[i].type = uf.readInt (1);
+    inst[i].d00 = uf.readInt (1);
+    inst[i].d01 = uf.readInt (1);
+    inst[i].d02 = uf.readInt (1);
+    inst[i].d03 = uf.readInt (1);
+    inst[i].d04 = uf.readInt (1);
+    inst[i].d05 = uf.readInt (1);
+    inst[i].d06 = uf.readInt (1);
+    inst[i].d07 = uf.readInt (1);
+    inst[i].d08 = uf.readInt (1);
+    inst[i].d09 = uf.readInt (1);
+    inst[i].d0a = uf.readInt (1);
+    /*
+     * Originally, riven sets d0b = d0a and ignores 1 byte in the
+     * stream, but i guess this was a typo, so i read it here.
+     */
+    inst[i].d0b = uf.readInt (1);
+  }
 
   // load patterns
-  for (i = 0; i < header.patnum; i++) {
-    long cur_pos = uf.pos();
+  for (i = 0; i < header.patnum; i++)
+  {
+    long cur_pos = uf.pos ();
 
-    for (j = 0; j < 64; j++) {
-      while (1) {
-	unsigned char token = uf.readInt(1);
+    for (j = 0; j < 64; j++)
+    {
+      while (1)
+      {
+        unsigned char token = uf.readInt (1);
 
-	if (!token)
-	  break;
+        if (!token)
+          break;
 
-	unsigned char chan = token & 31;
+        unsigned char chan = token & 31;
 
-	// note + instrument ?
-	if (token & 32) {
-	  unsigned char bufbyte = uf.readInt(1);
+        // note + instrument ?
+        if (token & 32)
+        {
+          unsigned char bufbyte = uf.readInt (1);
 
-	  pattern[i][j][chan].note = bufbyte & 15;
-	  pattern[i][j][chan].oct = bufbyte >> 4;
-	  pattern[i][j][chan].instrument = uf.readInt(1);
-	}
+          pattern[i][j][chan].note = bufbyte & 15;
+          pattern[i][j][chan].oct = bufbyte >> 4;
+          pattern[i][j][chan].instrument = uf.readInt (1);
+        }
 
-	// volume ?
-	if (token & 64)
-	  pattern[i][j][chan].volume = uf.readInt(1);
+        // volume ?
+        if (token & 64)
+          pattern[i][j][chan].volume = uf.readInt (1);
 
-	// command ?
-	if (token & 128) {
-	  pattern[i][j][chan].command = uf.readInt(1);
-	  pattern[i][j][chan].info = uf.readInt(1);
-	}
+        // command ?
+        if (token & 128)
+        {
+          pattern[i][j][chan].command = uf.readInt (1);
+          pattern[i][j][chan].info = uf.readInt (1);
+        }
       }
     }
 
-    uf.seek(cur_pos + my_patlen[i]);
+    uf.seek (cur_pos + my_patlen[i]);
   }
 
-  delete [] module;
-  rewind(0);
+  delete[]module;
+  rewind (0);
   return true;
 }
 
-std::string CdmoLoader::gettype()
+std::string CdmoLoader::gettype ()
 {
-  return std::string("TwinTeam (packed S3M)");
+  return std::string ("TwinTeam (packed S3M)");
 }
 
-std::string CdmoLoader::getauthor()
+std::string CdmoLoader::getauthor ()
 {
   /*
-    All available .DMO modules written by one composer. And because all .DMO
-    stuff was lost due to hd crash (TwinTeam guys said this), there are
-    never(?) be another.
-  */
-  return std::string("Benjamin GERARDIN");
+     All available .DMO modules written by one composer. And because all .DMO
+     stuff was lost due to hd crash (TwinTeam guys said this), there are
+     never(?) be another.
+   */
+  return std::string ("Benjamin GERARDIN");
 }
 
 /* -------- Private Methods ------------------------------- */
 
-unsigned short CdmoLoader::dmo_unpacker::brand(unsigned short range)
+unsigned short
+CdmoLoader::dmo_unpacker::brand (unsigned short range)
 {
-  unsigned short ax,bx,cx,dx;
+  unsigned short
+    ax,
+    bx,
+    cx,
+    dx;
 
-  ax = LOWORD(bseed);
-  bx = HIWORD(bseed);
+  ax = LOWORD (bseed);
+  bx = HIWORD (bseed);
   cx = ax;
-  ax = LOWORD(cx * 0x8405);
-  dx = HIWORD(cx * 0x8405);
+  ax = LOWORD (cx * 0x8405);
+  dx = HIWORD (cx * 0x8405);
   cx <<= 3;
-  cx = (((HIBYTE(cx) + LOBYTE(cx)) & 0xFF) << 8) + LOBYTE(cx);
+  cx = (((HIBYTE (cx) + LOBYTE (cx)) & 0xFF) << 8) + LOBYTE (cx);
   dx += cx;
   dx += bx;
   bx <<= 2;
   dx += bx;
-  dx = (((HIBYTE(dx) + LOBYTE(bx)) & 0xFF) << 8) + LOBYTE(dx);
+  dx = (((HIBYTE (dx) + LOBYTE (bx)) & 0xFF) << 8) + LOBYTE (dx);
   bx <<= 5;
-  dx = (((HIBYTE(dx) + LOBYTE(bx)) & 0xFF) << 8) + LOBYTE(dx);
+  dx = (((HIBYTE (dx) + LOBYTE (bx)) & 0xFF) << 8) + LOBYTE (dx);
   ax += 1;
-  if (!ax) dx += 1;
+  if (!ax)
+    dx += 1;
 
   // leave it that way or amd64 might get it wrong
   bseed = dx;
   bseed <<= 16;
   bseed += ax;
 
-  return HIWORD(HIWORD(LOWORD(bseed) * range) + HIWORD(bseed) * range);
+  return HIWORD (HIWORD (LOWORD (bseed) * range) + HIWORD (bseed) * range);
 }
 
-bool CdmoLoader::dmo_unpacker::decrypt(unsigned char *buf, long len)
+bool
+CdmoLoader::dmo_unpacker::decrypt (unsigned char *buf, long len)
 {
-  unsigned long seed = 0;
-  int i;
-
-  bseed = ARRAY_AS_DWORD(buf, 0);
+  unsigned long
+    seed = 0;
+  int
+    i;
 
-  for (i=0; i < ARRAY_AS_WORD(buf, 4) + 1; i++)
-    seed += brand(0xffff);
+  bseed = ARRAY_AS_DWORD (buf, 0);
 
-  bseed = seed ^ ARRAY_AS_DWORD(buf, 6);
+  for (i = 0; i < ARRAY_AS_WORD (buf, 4) + 1; i++)
+    seed += brand (0xffff);
 
-  if (ARRAY_AS_WORD(buf, 10) != brand(0xffff))
+  bseed = seed ^ ARRAY_AS_DWORD (buf, 6);
+
+  if (ARRAY_AS_WORD (buf, 10) != brand (0xffff))
     return false;
 
-  for (i=0;i<(len-12);i++)
-    buf[12+i] ^= brand(0x100);
+  for (i = 0; i < (len - 12); i++)
+    buf[12 + i] ^= brand (0x100);
 
   buf[len - 2] = buf[len - 1] = 0;
 
   return true;
 }
 
-short CdmoLoader::dmo_unpacker::unpack_block(unsigned char *ibuf, long ilen, unsigned char *obuf)
+short
+CdmoLoader::dmo_unpacker::unpack_block (unsigned char *ibuf, long ilen,
+                                        unsigned char *obuf)
 {
-  unsigned char code,par1,par2;
-  unsigned short ax,bx,cx;
+  unsigned char
+    code,
+    par1,
+    par2;
+  unsigned short
+    ax,
+    bx,
+    cx;
 
-  unsigned char *ipos = ibuf;
-  unsigned char *opos = obuf;
+  unsigned char *
+    ipos = ibuf;
+  unsigned char *
+    opos = obuf;
 
   // LZ77 child
   while (ipos - ibuf < ilen)
-    {
-      code = *ipos++;
+  {
+    code = *ipos++;
 
-      // 00xxxxxx: copy (xxxxxx + 1) bytes
-      if ((code >> 6) == 0)
-	{
-	  cx = (code & 0x3F) + 1;
+    // 00xxxxxx: copy (xxxxxx + 1) bytes
+    if ((code >> 6) == 0)
+    {
+      cx = (code & 0x3F) + 1;
 
-	  if(opos + cx >= oend)
-	    return -1;
+      if (opos + cx >= oend)
+        return -1;
 
-	  for (int i=0;i<cx;i++)
-	    *opos++ = *ipos++;
+      for (int i = 0; i < cx; i++)
+        *opos++ = *ipos++;
 
-	  continue;
-	}
+      continue;
+    }
 
-      // 01xxxxxx xxxyyyyy: copy (Y + 3) bytes from (X + 1)
-      if ((code >> 6) == 1)
-	{
-	  par1 = *ipos++;
+    // 01xxxxxx xxxyyyyy: copy (Y + 3) bytes from (X + 1)
+    if ((code >> 6) == 1)
+    {
+      par1 = *ipos++;
 
-	  ax = ((code & 0x3F) << 3) + ((par1 & 0xE0) >> 5) + 1;
-	  cx = (par1 & 0x1F) + 3;
+      ax = ((code & 0x3F) << 3) + ((par1 & 0xE0) >> 5) + 1;
+      cx = (par1 & 0x1F) + 3;
 
-	  if(opos + cx >= oend)
-	    return -1;
+      if (opos + cx >= oend)
+        return -1;
 
-	  for(int i=0;i<cx;i++)
-	    *opos++ = *(opos - ax);
+      for (int i = 0; i < cx; i++)
+        *opos++ = *(opos - ax);
 
-	  continue;
-	}
+      continue;
+    }
 
-      // 10xxxxxx xyyyzzzz: copy (Y + 3) bytes from (X + 1); copy Z bytes
-      if ((code >> 6) == 2)
-	{
-	  int i;
+    // 10xxxxxx xyyyzzzz: copy (Y + 3) bytes from (X + 1); copy Z bytes
+    if ((code >> 6) == 2)
+    {
+      int
+        i;
 
-	  par1 = *ipos++;
+      par1 = *ipos++;
 
-	  ax = ((code & 0x3F) << 1) + (par1 >> 7) + 1;
-	  cx = ((par1 & 0x70) >> 4) + 3;
-	  bx = par1 & 0x0F;
+      ax = ((code & 0x3F) << 1) + (par1 >> 7) + 1;
+      cx = ((par1 & 0x70) >> 4) + 3;
+      bx = par1 & 0x0F;
 
-	  if(opos + bx + cx >= oend)
-	    return -1;
+      if (opos + bx + cx >= oend)
+        return -1;
 
-	  for(i=0;i<cx;i++)
-	    *opos++ = *(opos - ax);
+      for (i = 0; i < cx; i++)
+        *opos++ = *(opos - ax);
 
-	  for (i=0;i<bx;i++)
-	    *opos++ = *ipos++;
+      for (i = 0; i < bx; i++)
+        *opos++ = *ipos++;
 
-	  continue;
-	}
+      continue;
+    }
 
-      // 11xxxxxx xxxxxxxy yyyyzzzz: copy (Y + 4) from X; copy Z bytes
-      if ((code >> 6) == 3)
-	{
-	  int i;
+    // 11xxxxxx xxxxxxxy yyyyzzzz: copy (Y + 4) from X; copy Z bytes
+    if ((code >> 6) == 3)
+    {
+      int
+        i;
 
-	  par1 = *ipos++;
-	  par2 = *ipos++;
+      par1 = *ipos++;
+      par2 = *ipos++;
 
-	  bx = ((code & 0x3F) << 7) + (par1 >> 1);
-	  cx = ((par1 & 0x01) << 4) + (par2 >> 4) + 4;
-	  ax = par2 & 0x0F;
+      bx = ((code & 0x3F) << 7) + (par1 >> 1);
+      cx = ((par1 & 0x01) << 4) + (par2 >> 4) + 4;
+      ax = par2 & 0x0F;
 
-	  if(opos + ax + cx >= oend)
-	    return -1;
+      if (opos + ax + cx >= oend)
+        return -1;
 
-	  for(i=0;i<cx;i++)
-	    *opos++ = *(opos - bx);
+      for (i = 0; i < cx; i++)
+        *opos++ = *(opos - bx);
 
-	  for (i=0;i<ax;i++)
-	    *opos++ = *ipos++;
+      for (i = 0; i < ax; i++)
+        *opos++ = *ipos++;
 
-	  continue;
-	}
+      continue;
     }
+  }
 
   return opos - obuf;
 }
 
-long CdmoLoader::dmo_unpacker::unpack(unsigned char *ibuf, unsigned char *obuf,
-				      unsigned long outputsize)
+long
+CdmoLoader::dmo_unpacker::unpack (unsigned char *ibuf, unsigned char *obuf,
+                                  unsigned long outputsize)
 {
-  long olen = 0;
-  unsigned short block_count = CHARP_AS_WORD(ibuf);
+  long
+    olen = 0;
+  unsigned short
+    block_count = CHARP_AS_WORD (ibuf);
 
   ibuf += 2;
-  unsigned char *block_length = ibuf;
+  unsigned char *
+    block_length = ibuf;
   ibuf += 2 * block_count;
 
   oend = obuf + outputsize;
 
-  for (int i=0;i<block_count;i++)
-    {
-      unsigned short bul = CHARP_AS_WORD(ibuf);
-
-      if(unpack_block(ibuf + 2,CHARP_AS_WORD(block_length) - 2,obuf) != bul)
-	return 0;
+  for (int i = 0; i < block_count; i++)
+  {
+    unsigned short
+      bul = CHARP_AS_WORD (ibuf);
 
-      obuf += bul;
-      olen += bul;
+    if (unpack_block (ibuf + 2, CHARP_AS_WORD (block_length) - 2, obuf) !=
+        bul)
+      return 0;
 
-      ibuf += CHARP_AS_WORD(block_length);
-      block_length += 2;
-    }
+    obuf += bul;
+    olen += bul;
+
+    ibuf += CHARP_AS_WORD (block_length);
+    block_length += 2;
+  }
 
   return olen;
 }
--- a/src/adplug/core/dro.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/dro.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -29,101 +29,122 @@
 
 /*** public methods *************************************/
 
-CPlayer *CdroPlayer::factory(Copl *newopl)
+CPlayer *
+CdroPlayer::factory (Copl * newopl)
 {
-  return new CdroPlayer(newopl);
+  return new CdroPlayer (newopl);
 }
 
-CdroPlayer::CdroPlayer(Copl *newopl)
-  : CPlayer(newopl), data(0)
+CdroPlayer::CdroPlayer (Copl * newopl):CPlayer (newopl), data (0)
 {
-  if(opl->gettype() == Copl::TYPE_OPL2)
+  if (opl->gettype () == Copl::TYPE_OPL2)
     opl3_mode = 0;
   else
     opl3_mode = 1;
 }
 
-bool CdroPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CdroPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
   char id[8];
   unsigned long i;
 
   // file validation section
-  f->readString(id, 8);
-  if(strncmp(id,"DBRAWOPL",8)) { fp.close (f); return false; }
-  int version = f->readInt(4);	// not very useful just yet
-  if(version != 0x10000) { fp.close(f); return false; }
+  f->readString (id, 8);
+  if (strncmp (id, "DBRAWOPL", 8))
+  {
+    fp.close (f);
+    return false;
+  }
+  int version = f->readInt (4); // not very useful just yet
+  if (version != 0x10000)
+  {
+    fp.close (f);
+    return false;
+  }
 
   // load section
-  mstotal = f->readInt(4);	// Total milliseconds in file
-  length = f->readInt(4);	// Total data bytes in file
-  f->ignore(1);			// Type of opl data this can contain - ignored
-  data = new unsigned char [length];
-  for (i=0;i<length;i++) 
-    data[i]=f->readInt(1);
-  fp.close(f);
-  rewind(0);
+  mstotal = f->readInt (4);     // Total milliseconds in file
+  length = f->readInt (4);      // Total data bytes in file
+  f->ignore (1);                // Type of opl data this can contain - ignored
+  data = new unsigned char[length];
+  for (i = 0; i < length; i++)
+    data[i] = f->readInt (1);
+  fp.close (f);
+  rewind (0);
   return true;
 }
 
-bool CdroPlayer::update()
+bool
+CdroPlayer::update ()
 {
-  if (delay>500) {
-    delay-=500;
+  if (delay > 500)
+  {
+    delay -= 500;
     return true;
-  } else
-    delay=0;
+  }
+  else
+    delay = 0;
 
-  while (pos < length) {
+  while (pos < length)
+  {
     unsigned char cmd = data[pos++];
-    switch(cmd) {
-    case 0: 
+    switch (cmd)
+    {
+    case 0:
       delay = 1 + data[pos++];
       return true;
-    case 1: 
-      delay = 1 + data[pos] + (data[pos+1]<<8);
-      pos+=2;
+    case 1:
+      delay = 1 + data[pos] + (data[pos + 1] << 8);
+      pos += 2;
       return true;
     case 2:
       index = 0;
-      opl->setchip(0);
+      opl->setchip (0);
       break;
     case 3:
       index = 1;
-      opl->setchip(1);
+      opl->setchip (1);
       break;
     default:
-      if(cmd==4) cmd = data[pos++]; //data override
-      if(index == 0 || opl3_mode)
-	opl->write(cmd,data[pos++]);
+      if (cmd == 4)
+        cmd = data[pos++];      //data override
+      if (index == 0 || opl3_mode)
+        opl->write (cmd, data[pos++]);
       break;
     }
   }
 
-  return pos<length;
+  return pos < length;
 }
 
-void CdroPlayer::rewind(int subsong)
+void
+CdroPlayer::rewind (int subsong)
 {
-  delay=1; 
-  pos = index = 0; 
-  opl->init(); 
+  delay = 1;
+  pos = index = 0;
+  opl->init ();
 
   //dro assumes all registers are initialized to 0
   //registers not initialized to 0 will be corrected
   //in the data stream
-  for(int i=0;i<256;i++)
-    opl->write(i,0);
-	
-  opl->setchip(1);
-  for(int i=0;i<256;i++)
-    opl->write(i,0);
-  opl->setchip(0);
+  for (int i = 0; i < 256; i++)
+    opl->write (i, 0);
+
+  opl->setchip (1);
+  for (int i = 0; i < 256; i++)
+    opl->write (i, 0);
+  opl->setchip (0);
 }
 
-float CdroPlayer::getrefresh()
+float
+CdroPlayer::getrefresh ()
 {
-  if (delay > 500) return 1000 / 500;
-  else return 1000 / (double)delay;
+  if (delay > 500)
+    return 1000 / 500;
+  else
+    return 1000 / (double) delay;
 }
--- a/src/adplug/core/dtm.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/dtm.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -26,292 +26,311 @@
 
 /* -------- Public Methods -------------------------------- */
 
-CPlayer *CdtmLoader::factory(Copl *newopl)
+CPlayer *
+CdtmLoader::factory (Copl * newopl)
 {
-  return new CdtmLoader(newopl);
+  return new CdtmLoader (newopl);
 }
 
-bool CdtmLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CdtmLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-        binistream *f = fp.open(fd); if(!f) return false;
-	const unsigned char conv_inst[11] = { 2,1,10,9,4,3,6,5,0,8,7 };
-	const unsigned short conv_note[12] = { 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263, 0x287, 0x2AE };
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  const unsigned char conv_inst[11] = { 2, 1, 10, 9, 4, 3, 6, 5, 0, 8, 7 };
+  const unsigned short conv_note[12] =
+    { 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263,
+0x287, 0x2AE };
+
+  int i, j, k, t = 0;
+
+  // read header
+  f->readString (header.id, 12);
+  header.version = f->readInt (1);
+  f->readString (header.title, 20);
+  f->readString (header.author, 20);
+  header.numpat = f->readInt (1);
+  header.numinst = f->readInt (1);
+
+  // signature exists ? good version ?
+  if (memcmp (header.id, "DeFy DTM ", 9) || header.version != 0x10)
+  {
+    fp.close (f);
+    return false;
+  }
+
+  header.numinst++;
+
+  // load description
+  memset (desc, 0, 80 * 16);
+
+  char bufstr[80];
+
+  for (i = 0; i < 16; i++)
+  {
+    // get line length
+    unsigned char bufstr_length = f->readInt (1);
 
-	int i,j,k,t=0;
+    if (bufstr_length > 80)
+    {
+      fp.close (f);
+      return false;
+    }
+
+    // read line
+    if (bufstr_length)
+    {
+      f->readString (bufstr, bufstr_length);
+
+      for (j = 0; j < bufstr_length; j++)
+        if (!bufstr[j])
+          bufstr[j] = 0x20;
+
+      bufstr[bufstr_length] = 0;
+
+      strcat (desc, bufstr);
+    }
+
+    strcat (desc, "\n");
+  }
 
-	// read header
-	f->readString(header.id, 12);
-	header.version = f->readInt(1);
-	f->readString(header.title, 20); f->readString(header.author, 20);
-	header.numpat = f->readInt(1); header.numinst = f->readInt(1);
+  // init CmodPlayer
+  realloc_instruments (header.numinst);
+  realloc_order (100);
+  realloc_patterns (header.numpat, 64, 9);
+  init_notetable (conv_note);
+  init_trackord ();
+
+  // load instruments
+  for (i = 0; i < header.numinst; i++)
+  {
+    unsigned char name_length = f->readInt (1);
+
+    if (name_length)
+      f->readString (instruments[i].name, name_length);
+
+    instruments[i].name[name_length] = 0;
+
+    for (j = 0; j < 12; j++)
+      instruments[i].data[j] = f->readInt (1);
+
+    for (j = 0; j < 11; j++)
+      inst[i].data[conv_inst[j]] = instruments[i].data[j];
+  }
+
+  // load order
+  for (i = 0; i < 100; i++)
+    order[i] = f->readInt (1);
 
-	// signature exists ? good version ?
-	if(memcmp(header.id,"DeFy DTM ",9) || header.version != 0x10)
-	  { fp.close (f); return false; }
+  nop = header.numpat;
+
+  unsigned char *pattern = new unsigned char[0x480];
+
+  // load tracks
+  for (i = 0; i < nop; i++)
+  {
+    unsigned short packed_length;
+
+    packed_length = f->readInt (2);
+
+    unsigned char *packed_pattern = new unsigned char[packed_length];
+
+    for (j = 0; j < packed_length; j++)
+      packed_pattern[j] = f->readInt (1);
+
+    long unpacked_length =
+      unpack_pattern (packed_pattern, packed_length, pattern, 0x480);
+
+    delete[]packed_pattern;
 
-	header.numinst++;
+    if (!unpacked_length)
+    {
+      delete pattern;
+      fp.close (f);
+      return false;
+    }
 
-	// load description
-	memset(desc,0,80*16);
+    // convert pattern
+    for (j = 0; j < 9; j++)
+    {
+      for (k = 0; k < 64; k++)
+      {
+        dtm_event *event = (dtm_event *) & pattern[(k * 9 + j) * 2];
+
+        // instrument
+        if (event->byte0 == 0x80)
+        {
+          if (event->byte1 <= 0x80)
+            tracks[t][k].inst = event->byte1 + 1;
+        }
 
-	char bufstr[80];
+        // note + effect
+        else
+        {
+          tracks[t][k].note = event->byte0;
+
+          if ((event->byte0 != 0) && (event->byte0 != 127))
+            tracks[t][k].note++;
+
+          // convert effects
+          switch (event->byte1 >> 4)
+          {
+          case 0x0:            // pattern break
+            if ((event->byte1 & 15) == 1)
+              tracks[t][k].command = 13;
+            break;
+
+          case 0x1:            // freq. slide up
+            tracks[t][k].command = 28;
+            tracks[t][k].param1 = event->byte1 & 15;
+            break;
 
-	for (i=0;i<16;i++)
-	{
-		// get line length
-		unsigned char bufstr_length = f->readInt(1);
+          case 0x2:            // freq. slide down
+            tracks[t][k].command = 28;
+            tracks[t][k].param2 = event->byte1 & 15;
+            break;
+
+          case 0xA:            // set carrier volume
+          case 0xC:            // set instrument volume
+            tracks[t][k].command = 22;
+            tracks[t][k].param1 = (0x3F - (event->byte1 & 15)) >> 4;
+            tracks[t][k].param2 = (0x3F - (event->byte1 & 15)) & 15;
+            break;
 
-      if(bufstr_length > 80) {
-	fp.close(f);
-	return false;
+          case 0xB:            // set modulator volume
+            tracks[t][k].command = 21;
+            tracks[t][k].param1 = (0x3F - (event->byte1 & 15)) >> 4;
+            tracks[t][k].param2 = (0x3F - (event->byte1 & 15)) & 15;
+            break;
+
+          case 0xE:            // set panning
+            break;
+
+          case 0xF:            // set speed
+            tracks[t][k].command = 13;
+            tracks[t][k].param2 = event->byte1 & 15;
+            break;
+          }
+        }
       }
 
-		// read line
-		if (bufstr_length)
-		{
-			f->readString(bufstr,bufstr_length);
-
-			for (j=0;j<bufstr_length;j++)
-				if (!bufstr[j])
-					bufstr[j] = 0x20;
-
-			bufstr[bufstr_length] = 0;
-
-			strcat(desc,bufstr);
-		}
-
-		strcat(desc,"\n");
-	}
+      t++;
+    }
+  }
 
-	// init CmodPlayer
-	realloc_instruments(header.numinst);
-	realloc_order(100);
-	realloc_patterns(header.numpat,64,9);
-	init_notetable(conv_note);
-	init_trackord();
-
-	// load instruments
-	for (i=0;i<header.numinst;i++)
-	{
-		unsigned char name_length = f->readInt(1);
-
-		if (name_length)
-			f->readString(instruments[i].name, name_length);
-
-		instruments[i].name[name_length] = 0;
-
-		for(j = 0; j < 12; j++)
-		  instruments[i].data[j] = f->readInt(1);
+  delete[]pattern;
+  fp.close (f);
 
-		for (j=0;j<11;j++)
-			inst[i].data[conv_inst[j]] = instruments[i].data[j];
-	}
-
-	// load order
-	for(i = 0; i < 100; i++) order[i] = f->readInt(1);
-
-	nop = header.numpat;
-
-	unsigned char *pattern = new unsigned char [0x480];
-
-	// load tracks
-	for (i=0;i<nop;i++)
-	{
-		unsigned short packed_length;
-
-		packed_length = f->readInt(2);
-
-		unsigned char *packed_pattern = new unsigned char [packed_length];
-
-		for(j = 0; j < packed_length; j++)
-		  packed_pattern[j] = f->readInt(1);
-
-		long unpacked_length = unpack_pattern(packed_pattern,packed_length,pattern,0x480);
-
-		delete [] packed_pattern;
-
-		if (!unpacked_length)
-		{
-			delete pattern;
-			fp.close(f);
-			return false;
-		}
-
-		// convert pattern
-		for (j=0;j<9;j++)
-		{
-			for (k=0;k<64;k++)
-			{
-				dtm_event *event = (dtm_event *)&pattern[(k*9+j)*2];
+  // order length
+  for (i = 0; i < 100; i++)
+  {
+    if (order[i] >= 0x80)
+    {
+      length = i;
 
-				// instrument
-				if (event->byte0 == 0x80)
-				{
-					if (event->byte1 <= 0x80)
-						tracks[t][k].inst = event->byte1 + 1;
-				}
-
-				// note + effect
-				else
-				{
-					tracks[t][k].note = event->byte0;
-
-					if ((event->byte0 != 0) && (event->byte0 != 127))
-							tracks[t][k].note++;
-
-					// convert effects
-					switch (event->byte1 >> 4)
-					{
-						case 0x0: // pattern break
-							if ((event->byte1 & 15) == 1)
-								tracks[t][k].command = 13;
-							break;
-
-						case 0x1: // freq. slide up
-							tracks[t][k].command = 28;
-							tracks[t][k].param1 = event->byte1 & 15;
-							break;
-
-						case 0x2: // freq. slide down
-							tracks[t][k].command = 28;
-							tracks[t][k].param2 = event->byte1 & 15;
-							break;
-
-						case 0xA: // set carrier volume
-						case 0xC: // set instrument volume
-							tracks[t][k].command = 22;
-							tracks[t][k].param1 = (0x3F - (event->byte1 & 15)) >> 4;
-							tracks[t][k].param2 = (0x3F - (event->byte1 & 15)) & 15;
-							break;
+      if (order[i] == 0xFF)
+        restartpos = 0;
+      else
+        restartpos = order[i] - 0x80;
 
-						case 0xB: // set modulator volume
-							tracks[t][k].command = 21;
-							tracks[t][k].param1 = (0x3F - (event->byte1 & 15)) >> 4;
-							tracks[t][k].param2 = (0x3F - (event->byte1 & 15)) & 15;
-							break;
-
-						case 0xE: // set panning
-							break;
-
-						case 0xF: // set speed
-							tracks[t][k].command = 13;
-							tracks[t][k].param2 = event->byte1 & 15;
-							break;
-					}
-				}
-			}
-
-			t++;
-		}
-	}
+      break;
+    }
+  }
 
-	delete [] pattern;
-	fp.close(f);
-
-	// order length
-	for (i=0;i<100;i++)
-	{
-		if (order[i] >= 0x80)
-		{
-			length = i;
+  // initial speed
+  initspeed = 2;
 
-			if (order[i] == 0xFF)
-				restartpos = 0;
-			else
-				restartpos = order[i] - 0x80;
+  rewind (0);
 
-			break;
-		}
-	}
-
-	// initial speed
-	initspeed = 2;
-
-	rewind(0);
-
-	return true;
+  return true;
 }
 
-void CdtmLoader::rewind(int subsong)
+void
+CdtmLoader::rewind (int subsong)
 {
-	CmodPlayer::rewind(subsong);
+  CmodPlayer::rewind (subsong);
 
-	// default instruments
-	for (int i=0;i<9;i++)
-	{
-		channel[i].inst = i;
+  // default instruments
+  for (int i = 0; i < 9; i++)
+  {
+    channel[i].inst = i;
 
-		channel[i].vol1 = 63 - (inst[i].data[10] & 63);
-		channel[i].vol2 = 63 - (inst[i].data[9] & 63);
-	}
+    channel[i].vol1 = 63 - (inst[i].data[10] & 63);
+    channel[i].vol2 = 63 - (inst[i].data[9] & 63);
+  }
 }
 
-float CdtmLoader::getrefresh()
+float
+CdtmLoader::getrefresh ()
 {
-	return 18.2f;
-}
-
-std::string CdtmLoader::gettype()
-{
-	return std::string("DeFy Adlib Tracker");
+  return 18.2f;
 }
 
-std::string CdtmLoader::gettitle()
+std::string CdtmLoader::gettype ()
 {
-	return std::string(header.title);
+  return std::string ("DeFy Adlib Tracker");
 }
 
-std::string CdtmLoader::getauthor()
+std::string CdtmLoader::gettitle ()
 {
-	return std::string(header.author);
+  return std::string (header.title);
+}
+
+std::string CdtmLoader::getauthor ()
+{
+  return std::string (header.author);
 }
 
-std::string CdtmLoader::getdesc()
+std::string CdtmLoader::getdesc ()
 {
-	return std::string(desc);
+  return std::string (desc);
 }
 
-std::string CdtmLoader::getinstrument(unsigned int n)
+std::string CdtmLoader::getinstrument (unsigned int n)
 {
-	return std::string(instruments[n].name);
+  return std::string (instruments[n].name);
 }
 
-unsigned int CdtmLoader::getinstruments()
+unsigned int
+CdtmLoader::getinstruments ()
 {
-	return header.numinst;
+  return header.numinst;
 }
 
 /* -------- Private Methods ------------------------------- */
 
-long CdtmLoader::unpack_pattern(unsigned char *ibuf, long ilen, unsigned char *obuf, long olen)
+long
+CdtmLoader::unpack_pattern (unsigned char *ibuf, long ilen,
+                            unsigned char *obuf, long olen)
 {
-	unsigned char *input = ibuf;
-	unsigned char *output = obuf;
+  unsigned char *input = ibuf;
+  unsigned char *output = obuf;
 
-	long input_length = 0;
-	long output_length = 0;
+  long input_length = 0;
+  long output_length = 0;
 
-	unsigned char repeat_byte, repeat_counter;
+  unsigned char repeat_byte, repeat_counter;
 
-	// RLE
-	while (input_length < ilen)
-	{
-		repeat_byte = input[input_length++];
+  // RLE
+  while (input_length < ilen)
+  {
+    repeat_byte = input[input_length++];
 
-		if ((repeat_byte & 0xF0) == 0xD0)
-		{
-			repeat_counter = repeat_byte & 15;
-			repeat_byte = input[input_length++];
-		}
-		else
-			repeat_counter = 1;
+    if ((repeat_byte & 0xF0) == 0xD0)
+    {
+      repeat_counter = repeat_byte & 15;
+      repeat_byte = input[input_length++];
+    }
+    else
+      repeat_counter = 1;
 
-		for (int i=0;i<repeat_counter;i++)
-		{
-			if (output_length < olen)
-				output[output_length++] = repeat_byte;
-		}
-	}
+    for (int i = 0; i < repeat_counter; i++)
+    {
+      if (output_length < olen)
+        output[output_length++] = repeat_byte;
+    }
+  }
 
-	return output_length;
+  return output_length;
 }
--- a/src/adplug/core/emuopl.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/emuopl.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -21,39 +21,47 @@
 
 #include "emuopl.h"
 
-CEmuopl::CEmuopl(int rate, bool bit16, bool usestereo)
-  : use16bit(bit16), stereo(usestereo), mixbufSamples(0)
+CEmuopl::CEmuopl (int rate, bool bit16, bool usestereo):use16bit (bit16), stereo (usestereo),
+mixbufSamples (0)
 {
-  opl[0] = OPLCreate(OPL_TYPE_YM3812, 3579545, rate);
-  opl[1] = OPLCreate(OPL_TYPE_YM3812, 3579545, rate);
+  opl[0] = OPLCreate (OPL_TYPE_YM3812, 3579545, rate);
+  opl[1] = OPLCreate (OPL_TYPE_YM3812, 3579545, rate);
 
   currType = TYPE_DUAL_OPL2;
 
-  init();
+  init ();
 }
 
-CEmuopl::~CEmuopl()
+CEmuopl::~CEmuopl ()
 {
-  OPLDestroy(opl[0]); OPLDestroy(opl[1]);
+  OPLDestroy (opl[0]);
+  OPLDestroy (opl[1]);
 
-  if(mixbufSamples) {
-    delete [] mixbuf0;
-    delete [] mixbuf1;
+  if (mixbufSamples)
+  {
+    delete[]mixbuf0;
+    delete[]mixbuf1;
   }
 }
 
-void CEmuopl::update(short *buf, int samples)
+void
+CEmuopl::update (short *buf, int samples)
 {
   int i;
 
   //ensure that our mix buffers are adequately sized
-  if(mixbufSamples < samples) {
-    if(mixbufSamples) { delete[] mixbuf0; delete[] mixbuf1; }
+  if (mixbufSamples < samples)
+  {
+    if (mixbufSamples)
+    {
+      delete[]mixbuf0;
+      delete[]mixbuf1;
+    }
     mixbufSamples = samples;
 
     //*2 = make room for stereo, if we need it
-    mixbuf0 = new short[samples*2]; 
-    mixbuf1 = new short[samples*2];
+    mixbuf0 = new short[samples * 2];
+    mixbuf1 = new short[samples * 2];
   }
 
   //data should be rendered to outbuf
@@ -65,83 +73,94 @@
   //and so it must point to a mixbuf instead--
   //it will be reduced to 8bit and put in "buf" later
   short *outbuf;
-  short *tempbuf=mixbuf0;
-  short *tempbuf2=mixbuf1;
-  if(use16bit) outbuf = buf;
-  else outbuf = mixbuf1;
+  short *tempbuf = mixbuf0;
+  short *tempbuf2 = mixbuf1;
+  if (use16bit)
+    outbuf = buf;
+  else
+    outbuf = mixbuf1;
   //...there is a potentially confusing situation where mixbuf1 can be aliased.
   //beware. it is a little loony.
 
   //all of the following rendering code produces 16bit output
 
-  switch(currType) {
+  switch (currType)
+  {
   case TYPE_OPL2:
     //for opl2 mode:
     //render chip0 to the output buffer
-    YM3812UpdateOne(opl[0],outbuf,samples);
+    YM3812UpdateOne (opl[0], outbuf, samples);
 
     //if we are supposed to output stereo,
     //then we need to dup the mono channel
-    if(stereo)
-      for(i=samples-1;i>=0;i--) {
-	outbuf[i*2] = outbuf[i];
-	outbuf[i*2+1] = outbuf[i];
+    if (stereo)
+      for (i = samples - 1; i >= 0; i--)
+      {
+        outbuf[i * 2] = outbuf[i];
+        outbuf[i * 2 + 1] = outbuf[i];
       }
     break;
 
-  case TYPE_OPL3:	// unsupported
+  case TYPE_OPL3:              // unsupported
     break;
 
   case TYPE_DUAL_OPL2:
     //for dual opl2 mode:
     //render each chip to a different tempbuffer
-    YM3812UpdateOne(opl[0],tempbuf2,samples);
-    YM3812UpdateOne(opl[1],tempbuf,samples);
+    YM3812UpdateOne (opl[0], tempbuf2, samples);
+    YM3812UpdateOne (opl[1], tempbuf, samples);
 
     //output stereo:
     //then we need to interleave the two buffers
-    if(stereo){
+    if (stereo)
+    {
       //first, spread tempbuf's samples across left channel
       //left channel
-      for(i=0;i<samples;i++)
-	outbuf[i*2] = tempbuf2[i];
+      for (i = 0; i < samples; i++)
+        outbuf[i * 2] = tempbuf2[i];
       //next, insert the samples from tempbuf2 into right channel
-      for(i=0;i<samples;i++)
-	outbuf[i*2+1] = tempbuf[i];
-    } else
+      for (i = 0; i < samples; i++)
+        outbuf[i * 2 + 1] = tempbuf[i];
+    }
+    else
       //output mono:
       //then we need to mix the two buffers into buf
-      for(i=0;i<samples;i++)
-	outbuf[i] = (tempbuf[i]>>1) + (tempbuf2[i]>>1);
+      for (i = 0; i < samples; i++)
+        outbuf[i] = (tempbuf[i] >> 1) + (tempbuf2[i] >> 1);
     break;
   }
 
   //now reduce to 8bit if we need to
-  if(!use16bit)
-    for(i=0;i<(stereo ? samples*2 : samples);i++)
-      ((char *)buf)[i] = (outbuf[i] >> 8) ^ 0x80;
+  if (!use16bit)
+    for (i = 0; i < (stereo ? samples * 2 : samples); i++)
+      ((char *) buf)[i] = (outbuf[i] >> 8) ^ 0x80;
 }
 
-void CEmuopl::write(int reg, int val)
+void
+CEmuopl::write (int reg, int val)
 {
-  switch(currType){
+  switch (currType)
+  {
   case TYPE_OPL2:
   case TYPE_DUAL_OPL2:
-    OPLWrite(opl[currChip], 0, reg);
-    OPLWrite(opl[currChip], 1, val);
+    OPLWrite (opl[currChip], 0, reg);
+    OPLWrite (opl[currChip], 1, val);
     break;
-  case TYPE_OPL3:	// unsupported
+  case TYPE_OPL3:              // unsupported
     break;
   }
 }
 
-void CEmuopl::init()
+void
+CEmuopl::init ()
 {
-  OPLResetChip(opl[0]); OPLResetChip(opl[1]);
+  OPLResetChip (opl[0]);
+  OPLResetChip (opl[1]);
   currChip = 0;
 }
 
-void CEmuopl::settype(ChipType type)
+void
+CEmuopl::settype (ChipType type)
 {
   currType = type;
 }
--- a/src/adplug/core/flash.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/flash.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -31,8 +31,8 @@
 #include "flash.h"
 #include "debug.h"
 
-const unsigned char CxadflashPlayer::flash_adlib_registers[99] =
-{
+const unsigned char
+  CxadflashPlayer::flash_adlib_registers[99] = {
   0x23, 0x20, 0x43, 0x40, 0x63, 0x60, 0x83, 0x80, 0xC0, 0xE3, 0xE0,
   0x24, 0x21, 0x44, 0x41, 0x64, 0x61, 0x84, 0x81, 0xC1, 0xE4, 0xE1,
   0x25, 0x22, 0x45, 0x42, 0x65, 0x62, 0x85, 0x82, 0xC2, 0xE5, 0xE2,
@@ -44,49 +44,73 @@
   0x35, 0x32, 0x55, 0x52, 0x75, 0x72, 0x95, 0x92, 0xC8, 0xF5, 0xF2
 };
 
-const unsigned short CxadflashPlayer::flash_notes_encoded[268] =
-{
+const unsigned short
+  CxadflashPlayer::flash_notes_encoded[268] = {
   0x000,
-  0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700, 0x800, 0x900, 0xA00, 0xB00, 0xC00,
-  0x101, 0x201, 0x301, 0x401, 0x501, 0x601, 0x701, 0x801, 0x901, 0xA01, 0xB01, 0xC01,
-  0x102, 0x202, 0x302, 0x402, 0x502, 0x602, 0x702, 0x802, 0x902, 0xA02, 0xB02, 0xC02,
-  0x103, 0x203, 0x303, 0x403, 0x503, 0x603, 0x703, 0x803, 0x903, 0xA03, 0xB03, 0xC03,
-  0x104, 0x204, 0x304, 0x404, 0x504, 0x604, 0x704, 0x804, 0x904, 0xA04, 0xB04, 0xC04,
-  0x105, 0x205, 0x305, 0x405, 0x505, 0x605, 0x705, 0x805, 0x905, 0xA05, 0xB05, 0xC05,
-  0x106, 0x206, 0x306, 0x406, 0x506, 0x606, 0x706, 0x806, 0x906, 0xA06, 0xB06, 0xC06,
-  0x107, 0x207, 0x307, 0x407, 0x507, 0x607, 0x707, 0x807, 0x907, 0xA07, 0xB07, 0xC07,
-  0x108, 0x208, 0x308, 0x408, 0x508, 0x608, 0x708, 0x808, 0x908, 0xA08, 0xB08, 0xC08,
-  0x109, 0x209, 0x309, 0x409, 0x509, 0x609, 0x709, 0x809, 0x909, 0xA09, 0xB09, 0xC09,
-  0x10A, 0x20A, 0x30A, 0x40A, 0x50A, 0x60A, 0x70A, 0x80A, 0x90A, 0xA0A, 0xB0A, 0xC0A,
-  0x10B, 0x20B, 0x30B, 0x40B, 0x50B, 0x60B, 0x70B, 0x80B, 0x90B, 0xA0B, 0xB0B, 0xC0B,
-  0x10C, 0x20C, 0x30C, 0x40C, 0x50C, 0x60C, 0x70C, 0x80C, 0x90C, 0xA0C, 0xB0C, 0xC0C,
-  0x10D, 0x20D, 0x30D, 0x40D, 0x50D, 0x60D, 0x70D, 0x80D, 0x90D, 0xA0D, 0xB0D, 0xC0D,
-  0x10E, 0x20E, 0x30E, 0x40E, 0x50E, 0x60E, 0x70E, 0x80E, 0x90E, 0xA0E, 0xB0E, 0xC0E,
-  0x10F, 0x20F, 0x30F, 0x40F, 0x50F, 0x60F, 0x70F, 0x80F, 0x90F, 0xA0F, 0xB0F, 0xC0F,
-  0x110, 0x210, 0x310, 0x410, 0x510, 0x610, 0x710, 0x810, 0x910, 0xA10, 0xB10, 0xC10,
-  0x111, 0x211, 0x311, 0x411, 0x511, 0x611, 0x711, 0x811, 0x911, 0xA11, 0xB11, 0xC11,
-  0x112, 0x212, 0x312, 0x412, 0x512, 0x612, 0x712, 0x812, 0x912, 0xA12, 0xB12, 0xC12,
-  0x113, 0x213, 0x313, 0x413, 0x513, 0x613, 0x713, 0x813, 0x913, 0xA13, 0xB13, 0xC13,
-  0x114, 0x214, 0x314, 0x414, 0x514, 0x614, 0x714, 0x814, 0x914, 0xA14, 0xB14, 0xC14,
+  0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700, 0x800, 0x900, 0xA00, 0xB00,
+    0xC00,
+  0x101, 0x201, 0x301, 0x401, 0x501, 0x601, 0x701, 0x801, 0x901, 0xA01, 0xB01,
+    0xC01,
+  0x102, 0x202, 0x302, 0x402, 0x502, 0x602, 0x702, 0x802, 0x902, 0xA02, 0xB02,
+    0xC02,
+  0x103, 0x203, 0x303, 0x403, 0x503, 0x603, 0x703, 0x803, 0x903, 0xA03, 0xB03,
+    0xC03,
+  0x104, 0x204, 0x304, 0x404, 0x504, 0x604, 0x704, 0x804, 0x904, 0xA04, 0xB04,
+    0xC04,
+  0x105, 0x205, 0x305, 0x405, 0x505, 0x605, 0x705, 0x805, 0x905, 0xA05, 0xB05,
+    0xC05,
+  0x106, 0x206, 0x306, 0x406, 0x506, 0x606, 0x706, 0x806, 0x906, 0xA06, 0xB06,
+    0xC06,
+  0x107, 0x207, 0x307, 0x407, 0x507, 0x607, 0x707, 0x807, 0x907, 0xA07, 0xB07,
+    0xC07,
+  0x108, 0x208, 0x308, 0x408, 0x508, 0x608, 0x708, 0x808, 0x908, 0xA08, 0xB08,
+    0xC08,
+  0x109, 0x209, 0x309, 0x409, 0x509, 0x609, 0x709, 0x809, 0x909, 0xA09, 0xB09,
+    0xC09,
+  0x10A, 0x20A, 0x30A, 0x40A, 0x50A, 0x60A, 0x70A, 0x80A, 0x90A, 0xA0A, 0xB0A,
+    0xC0A,
+  0x10B, 0x20B, 0x30B, 0x40B, 0x50B, 0x60B, 0x70B, 0x80B, 0x90B, 0xA0B, 0xB0B,
+    0xC0B,
+  0x10C, 0x20C, 0x30C, 0x40C, 0x50C, 0x60C, 0x70C, 0x80C, 0x90C, 0xA0C, 0xB0C,
+    0xC0C,
+  0x10D, 0x20D, 0x30D, 0x40D, 0x50D, 0x60D, 0x70D, 0x80D, 0x90D, 0xA0D, 0xB0D,
+    0xC0D,
+  0x10E, 0x20E, 0x30E, 0x40E, 0x50E, 0x60E, 0x70E, 0x80E, 0x90E, 0xA0E, 0xB0E,
+    0xC0E,
+  0x10F, 0x20F, 0x30F, 0x40F, 0x50F, 0x60F, 0x70F, 0x80F, 0x90F, 0xA0F, 0xB0F,
+    0xC0F,
+  0x110, 0x210, 0x310, 0x410, 0x510, 0x610, 0x710, 0x810, 0x910, 0xA10, 0xB10,
+    0xC10,
+  0x111, 0x211, 0x311, 0x411, 0x511, 0x611, 0x711, 0x811, 0x911, 0xA11, 0xB11,
+    0xC11,
+  0x112, 0x212, 0x312, 0x412, 0x512, 0x612, 0x712, 0x812, 0x912, 0xA12, 0xB12,
+    0xC12,
+  0x113, 0x213, 0x313, 0x413, 0x513, 0x613, 0x713, 0x813, 0x913, 0xA13, 0xB13,
+    0xC13,
+  0x114, 0x214, 0x314, 0x414, 0x514, 0x614, 0x714, 0x814, 0x914, 0xA14, 0xB14,
+    0xC14,
   0x115, 0x215, 0x315
 };
 
-const unsigned short CxadflashPlayer::flash_notes[12] =
-{
-  0x157, 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263, 0x287
+const unsigned short
+  CxadflashPlayer::flash_notes[12] = {
+  0x157, 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263,
+    0x287
 };
 
-const unsigned char CxadflashPlayer::flash_default_instrument[8] =
-{
+const unsigned char
+  CxadflashPlayer::flash_default_instrument[8] = {
   0x00, 0x00, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF
 };
 
-CPlayer *CxadflashPlayer::factory(Copl *newopl)
+CPlayer *
+CxadflashPlayer::factory (Copl * newopl)
 {
-  return new CxadflashPlayer(newopl);
+  return new CxadflashPlayer (newopl);
 }
 
-void CxadflashPlayer::xadplayer_rewind(int subsong)
+void
+CxadflashPlayer::xadplayer_rewind (int subsong)
 {
   int i;
 
@@ -95,74 +119,77 @@
   flash.order_pos = 0;
   flash.pattern_pos = 0;
 
-  opl_write(0x08, 0x00);
-  opl_write(0xBD, 0x00);
+  opl_write (0x08, 0x00);
+  opl_write (0xBD, 0x00);
 
   // assign default instrument
-  for(i=0; i<9; i++)
+  for (i = 0; i < 9; i++)
   {
-    opl_write(0xA0+i, 0x00);
-    opl_write(0xB0+i, 0x00);
+    opl_write (0xA0 + i, 0x00);
+    opl_write (0xB0 + i, 0x00);
   }
 
   // assign instruments
-  for(i=0; i<9; i++)
-    for(int j=0; j<11; j++)
-      opl_write(flash_adlib_registers[i*11+j], tune[i*12+j]);
+  for (i = 0; i < 9; i++)
+    for (int j = 0; j < 11; j++)
+      opl_write (flash_adlib_registers[i * 11 + j], tune[i * 12 + j]);
 }
 
-void CxadflashPlayer::xadplayer_update()
+void
+CxadflashPlayer::xadplayer_update ()
 {
-  unsigned short event_pos = (tune[0x600+flash.order_pos]*1152) + \
-                             (flash.pattern_pos*18) + \
-                              0x633;
+  unsigned short event_pos = (tune[0x600 + flash.order_pos] * 1152) +
+    (flash.pattern_pos * 18) + 0x633;
 
-  for (int i=0; i<9; i++)
+  for (int i = 0; i < 9; i++)
   {
-    unsigned short flash_channel_freq = (adlib[0xB0+i] << 8) + adlib[0xA0+i];
+    unsigned short flash_channel_freq =
+      (adlib[0xB0 + i] << 8) + adlib[0xA0 + i];
 
     unsigned char event_b0 = tune[event_pos++];
     unsigned char event_b1 = tune[event_pos++];
 #ifdef DEBUG
-  AdPlug_LogWrite("channel %02X, event %02X %02X:\n",i+1,event_b0,event_b1);
+    AdPlug_LogWrite ("channel %02X, event %02X %02X:\n", i + 1, event_b0,
+                     event_b1);
 #endif
 
-    if (event_b0 == 0x80)               // 0.0x80: Set Instrument
+    if (event_b0 == 0x80)       // 0.0x80: Set Instrument
     {
-      for(int j=0; j<11; j++)
-        opl_write(flash_adlib_registers[i*11+j], tune[event_b1*12+j]);
+      for (int j = 0; j < 11; j++)
+        opl_write (flash_adlib_registers[i * 11 + j],
+                   tune[event_b1 * 12 + j]);
     }
     else
     {
       if (event_b1 == 0x01)
-        flash.pattern_pos = 0x3F;       // 1.0x01: Pattern Break
+        flash.pattern_pos = 0x3F;   // 1.0x01: Pattern Break
 
       unsigned char fx = (event_b1 >> 4);
       unsigned char fx_p = (event_b1 & 0x0F);
 
-      switch(fx)
+      switch (fx)
       {
-        case 0x0A:                      // 1.0xAy: Set Carrier volume
-          opl_write(flash_adlib_registers[11*i+2], fx_p << 2);
-          break;
-        case 0x0B:                      // 1.0xBy: Set Modulator volume
-          opl_write(flash_adlib_registers[11*i+3], fx_p << 2);
-          break;
-        case 0x0C:                      // 1.0xCy: Set both operators volume
-          opl_write(flash_adlib_registers[11*i+2], fx_p << 2);
-          opl_write(flash_adlib_registers[11*i+3], fx_p << 2);
-          break;
+      case 0x0A:               // 1.0xAy: Set Carrier volume
+        opl_write (flash_adlib_registers[11 * i + 2], fx_p << 2);
+        break;
+      case 0x0B:               // 1.0xBy: Set Modulator volume
+        opl_write (flash_adlib_registers[11 * i + 3], fx_p << 2);
+        break;
+      case 0x0C:               // 1.0xCy: Set both operators volume
+        opl_write (flash_adlib_registers[11 * i + 2], fx_p << 2);
+        opl_write (flash_adlib_registers[11 * i + 3], fx_p << 2);
+        break;
 //      case 0x0E:                      // 1.0xEy: ? (increase some value)
-        case 0x0F:                      // 1.0xFy: Set Speed
-          plr.speed = (fx_p + 1);
-          break;
+      case 0x0F:               // 1.0xFy: Set Speed
+        plr.speed = (fx_p + 1);
+        break;
       }
 
       if (event_b0)
       {
         // mute channel
-        opl_write(0xA0+i, adlib[0xA0+i]);
-        opl_write(0xB0+i, adlib[0xB0+i] & 0xDF);
+        opl_write (0xA0 + i, adlib[0xA0 + i]);
+        opl_write (0xB0 + i, adlib[0xB0 + i] & 0xDF);
 
         // is note ?
         if (event_b0 != 0x7F)
@@ -172,24 +199,24 @@
 
           flash_channel_freq = freq | ((note_encoded & 0xFF) << 10) | 0x2000;
 
-          opl_write(0xA0+i, flash_channel_freq & 0xFF);
-          opl_write(0xB0+i, flash_channel_freq >> 8);
+          opl_write (0xA0 + i, flash_channel_freq & 0xFF);
+          opl_write (0xB0 + i, flash_channel_freq >> 8);
         }
       }
 
-      if (fx == 0x01)                   // 1.0x1y: Fine Frequency Slide Up
+      if (fx == 0x01)           // 1.0x1y: Fine Frequency Slide Up
       {
         flash_channel_freq += (fx_p << 1);
 
-        opl_write(0xA0+i, flash_channel_freq & 0xFF);
-        opl_write(0xB0+i, flash_channel_freq >> 8);
+        opl_write (0xA0 + i, flash_channel_freq & 0xFF);
+        opl_write (0xB0 + i, flash_channel_freq >> 8);
       }
-      else if (fx == 0x02)              // 1.0x2y: Fine Frequency Slide Down
+      else if (fx == 0x02)      // 1.0x2y: Fine Frequency Slide Down
       {
         flash_channel_freq -= (fx_p << 1);
 
-        opl_write(0xA0+i, flash_channel_freq & 0xFF);
-        opl_write(0xB0+i, flash_channel_freq >> 8);
+        opl_write (0xA0 + i, flash_channel_freq & 0xFF);
+        opl_write (0xB0 + i, flash_channel_freq >> 8);
       }
     }
   }
@@ -205,7 +232,7 @@
     flash.order_pos++;
 
     // end of module ?
-    if (tune[0x600+flash.order_pos] == 0xFF)
+    if (tune[0x600 + flash.order_pos] == 0xFF)
     {
       flash.order_pos = 0;
 
@@ -214,17 +241,19 @@
   }
 }
 
-float CxadflashPlayer::xadplayer_getrefresh()
+float
+CxadflashPlayer::xadplayer_getrefresh ()
 {
   return 17.5f;
 }
 
-std::string CxadflashPlayer::xadplayer_gettype()
+std::string CxadflashPlayer::xadplayer_gettype ()
 {
-  return std::string("xad: flash player");
+  return std::string ("xad: flash player");
 }
 
-unsigned int CxadflashPlayer::xadplayer_getinstruments()
+unsigned int
+CxadflashPlayer::xadplayer_getinstruments ()
 {
   return 32;
 }
--- a/src/adplug/core/fmc.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/fmc.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -23,201 +23,217 @@
 
 /* -------- Public Methods -------------------------------- */
 
-CPlayer *CfmcLoader::factory(Copl *newopl)
+CPlayer *
+CfmcLoader::factory (Copl * newopl)
 {
-  return new CfmcLoader(newopl);
+  return new CfmcLoader (newopl);
 }
 
-bool CfmcLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CfmcLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-        binistream *f = fp.open(fd); if(!f) return false;
-	const unsigned char conv_fx[16] = {0,1,2,3,4,8,255,255,255,255,26,11,12,13,14,15};
-
-	int i,j,k,t=0;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  const unsigned char conv_fx[16] =
+    { 0, 1, 2, 3, 4, 8, 255, 255, 255, 255, 26, 11, 12, 13, 14, 15 };
 
-	// read header
-	f->readString(header.id, 4);
-	f->readString(header.title, 21);
-	header.numchan = f->readInt(1);
+  int i, j, k, t = 0;
 
-	// 'FMC!' - signed ?
-	if (strncmp(header.id,"FMC!",4)) { fp.close(f); return false; }
+  // read header
+  f->readString (header.id, 4);
+  f->readString (header.title, 21);
+  header.numchan = f->readInt (1);
 
-	// init CmodPlayer
-	realloc_instruments(32);
-	realloc_order(256);
-	realloc_patterns(64,64,header.numchan);
-	init_trackord();
+  // 'FMC!' - signed ?
+  if (strncmp (header.id, "FMC!", 4))
+  {
+    fp.close (f);
+    return false;
+  }
 
-	// load order
-	for(i = 0; i < 256; i++) order[i] = f->readInt(1);
-
-	f->ignore(2);
+  // init CmodPlayer
+  realloc_instruments (32);
+  realloc_order (256);
+  realloc_patterns (64, 64, header.numchan);
+  init_trackord ();
 
-	// load instruments
-	for(i = 0; i < 32; i++) {
-	  instruments[i].synthesis = f->readInt(1);
-	  instruments[i].feedback = f->readInt(1);
+  // load order
+  for (i = 0; i < 256; i++)
+    order[i] = f->readInt (1);
+
+  f->ignore (2);
 
-	  instruments[i].mod_attack = f->readInt(1);
-	  instruments[i].mod_decay = f->readInt(1);
-	  instruments[i].mod_sustain = f->readInt(1);
-	  instruments[i].mod_release = f->readInt(1);
-	  instruments[i].mod_volume = f->readInt(1);
-	  instruments[i].mod_ksl = f->readInt(1);
-	  instruments[i].mod_freq_multi = f->readInt(1);
-	  instruments[i].mod_waveform = f->readInt(1);
-	  instruments[i].mod_sustain_sound = f->readInt(1);
-	  instruments[i].mod_ksr = f->readInt(1);
-	  instruments[i].mod_vibrato = f->readInt(1);
-	  instruments[i].mod_tremolo = f->readInt(1);
+  // load instruments
+  for (i = 0; i < 32; i++)
+  {
+    instruments[i].synthesis = f->readInt (1);
+    instruments[i].feedback = f->readInt (1);
 
-	  instruments[i].car_attack = f->readInt(1);
-	  instruments[i].car_decay = f->readInt(1);
-	  instruments[i].car_sustain = f->readInt(1);
-	  instruments[i].car_release = f->readInt(1);
-	  instruments[i].car_volume = f->readInt(1);
-	  instruments[i].car_ksl = f->readInt(1);
-	  instruments[i].car_freq_multi = f->readInt(1);
-	  instruments[i].car_waveform = f->readInt(1);
-	  instruments[i].car_sustain_sound = f->readInt(1);
-	  instruments[i].car_ksr = f->readInt(1);
-	  instruments[i].car_vibrato = f->readInt(1);
-	  instruments[i].car_tremolo = f->readInt(1);
+    instruments[i].mod_attack = f->readInt (1);
+    instruments[i].mod_decay = f->readInt (1);
+    instruments[i].mod_sustain = f->readInt (1);
+    instruments[i].mod_release = f->readInt (1);
+    instruments[i].mod_volume = f->readInt (1);
+    instruments[i].mod_ksl = f->readInt (1);
+    instruments[i].mod_freq_multi = f->readInt (1);
+    instruments[i].mod_waveform = f->readInt (1);
+    instruments[i].mod_sustain_sound = f->readInt (1);
+    instruments[i].mod_ksr = f->readInt (1);
+    instruments[i].mod_vibrato = f->readInt (1);
+    instruments[i].mod_tremolo = f->readInt (1);
 
-	  instruments[i].pitch_shift = f->readInt(1);
+    instruments[i].car_attack = f->readInt (1);
+    instruments[i].car_decay = f->readInt (1);
+    instruments[i].car_sustain = f->readInt (1);
+    instruments[i].car_release = f->readInt (1);
+    instruments[i].car_volume = f->readInt (1);
+    instruments[i].car_ksl = f->readInt (1);
+    instruments[i].car_freq_multi = f->readInt (1);
+    instruments[i].car_waveform = f->readInt (1);
+    instruments[i].car_sustain_sound = f->readInt (1);
+    instruments[i].car_ksr = f->readInt (1);
+    instruments[i].car_vibrato = f->readInt (1);
+    instruments[i].car_tremolo = f->readInt (1);
 
-	  f->readString(instruments[i].name, 21);
-	}
+    instruments[i].pitch_shift = f->readInt (1);
+
+    f->readString (instruments[i].name, 21);
+  }
 
-	// load tracks
-	for (i=0;i<64;i++)
-	{
-	        if(f->ateof()) break;
+  // load tracks
+  for (i = 0; i < 64; i++)
+  {
+    if (f->ateof ())
+      break;
 
-		for (j=0;j<header.numchan;j++)
-		{
-			for (k=0;k<64;k++)
-			{
-				fmc_event event;
+    for (j = 0; j < header.numchan; j++)
+    {
+      for (k = 0; k < 64; k++)
+      {
+        fmc_event event;
 
-				// read event
-				event.byte0 = f->readInt(1);
-				event.byte1 = f->readInt(1);
-				event.byte2 = f->readInt(1);
+        // read event
+        event.byte0 = f->readInt (1);
+        event.byte1 = f->readInt (1);
+        event.byte2 = f->readInt (1);
 
-				// convert event
-				tracks[t][k].note = event.byte0 & 0x7F;
-				tracks[t][k].inst = ((event.byte0 & 0x80) >> 3) + (event.byte1 >> 4) + 1;
-				tracks[t][k].command = conv_fx[event.byte1 & 0x0F];
-				tracks[t][k].param1 = event.byte2 >> 4;
-				tracks[t][k].param2 = event.byte2 & 0x0F;
+        // convert event
+        tracks[t][k].note = event.byte0 & 0x7F;
+        tracks[t][k].inst =
+          ((event.byte0 & 0x80) >> 3) + (event.byte1 >> 4) + 1;
+        tracks[t][k].command = conv_fx[event.byte1 & 0x0F];
+        tracks[t][k].param1 = event.byte2 >> 4;
+        tracks[t][k].param2 = event.byte2 & 0x0F;
 
-				// fix effects
-				if (tracks[t][k].command == 0x0E) // 0x0E (14): Retrig
-					tracks[t][k].param1 = 3;
-				if (tracks[t][k].command == 0x1A) // 0x1A (26): Volume Slide
-					if (tracks[t][k].param1 > tracks[t][k].param2)
-					{
-						tracks[t][k].param1 -= tracks[t][k].param2;
-						tracks[t][k].param2 = 0;
-					}
-					else
-					{
-						tracks[t][k].param2 -= tracks[t][k].param1;
-						tracks[t][k].param1 = 0;
-					}
-			}
+        // fix effects
+        if (tracks[t][k].command == 0x0E)   // 0x0E (14): Retrig
+          tracks[t][k].param1 = 3;
+        if (tracks[t][k].command == 0x1A)   // 0x1A (26): Volume Slide
+          if (tracks[t][k].param1 > tracks[t][k].param2)
+          {
+            tracks[t][k].param1 -= tracks[t][k].param2;
+            tracks[t][k].param2 = 0;
+          }
+          else
+          {
+            tracks[t][k].param2 -= tracks[t][k].param1;
+            tracks[t][k].param1 = 0;
+          }
+      }
 
-			t++;
-		}
-	}
-	fp.close(f);
+      t++;
+    }
+  }
+  fp.close (f);
 
-	// convert instruments
-	for (i=0;i<31;i++)
-		buildinst(i);
+  // convert instruments
+  for (i = 0; i < 31; i++)
+    buildinst (i);
 
-	// order length
-	for (i=0;i<256;i++)
-	{
-		if (order[i] >= 0xFE)
-		{
-			length = i;
-			break;
-		}
-	}
+  // order length
+  for (i = 0; i < 256; i++)
+  {
+    if (order[i] >= 0xFE)
+    {
+      length = i;
+      break;
+    }
+  }
 
-	// data for Protracker
-	activechan = (0xffffffff >> (32 - header.numchan)) << (32 - header.numchan);
-	nop = t / header.numchan;
-	restartpos = 0;
+  // data for Protracker
+  activechan = (0xffffffff >> (32 - header.numchan)) << (32 - header.numchan);
+  nop = t / header.numchan;
+  restartpos = 0;
 
-	// flags
-	flags = Faust;
+  // flags
+  flags = Faust;
 
-	rewind(0);
+  rewind (0);
 
-	return true;
+  return true;
 }
 
-float CfmcLoader::getrefresh()
+float
+CfmcLoader::getrefresh ()
 {
-	return 50.0f;
+  return 50.0f;
 }
 
-std::string CfmcLoader::gettype()
+std::string CfmcLoader::gettype ()
 {
-	return std::string("Faust Music Creator");
+  return std::string ("Faust Music Creator");
 }
 
-std::string CfmcLoader::gettitle()
+std::string CfmcLoader::gettitle ()
 {
-	return std::string(header.title);
+  return std::string (header.title);
 }
 
-std::string CfmcLoader::getinstrument(unsigned int n)
+std::string CfmcLoader::getinstrument (unsigned int n)
 {
-	return std::string(instruments[n].name);
+  return std::string (instruments[n].name);
 }
 
-unsigned int CfmcLoader::getinstruments()
+unsigned int
+CfmcLoader::getinstruments ()
 {
-	return 32;
+  return 32;
 }
 
 /* -------- Private Methods ------------------------------- */
 
-void CfmcLoader::buildinst(unsigned char i)
+void
+CfmcLoader::buildinst (unsigned char i)
 {
-	inst[i].data[0]   = ((instruments[i].synthesis & 1) ^ 1);
-	inst[i].data[0]  |= ((instruments[i].feedback & 7) << 1);
+  inst[i].data[0] = ((instruments[i].synthesis & 1) ^ 1);
+  inst[i].data[0] |= ((instruments[i].feedback & 7) << 1);
 
-	inst[i].data[3]   = ((instruments[i].mod_attack & 15) << 4);
-	inst[i].data[3]  |=  (instruments[i].mod_decay & 15);
-	inst[i].data[5]   = ((15 - (instruments[i].mod_sustain & 15)) << 4);
-	inst[i].data[5]  |=  (instruments[i].mod_release & 15);
-	inst[i].data[9]   =  (63 - (instruments[i].mod_volume & 63));
-	inst[i].data[9]  |= ((instruments[i].mod_ksl & 3) << 6);
-	inst[i].data[1]   =  (instruments[i].mod_freq_multi & 15);
-	inst[i].data[7]   =  (instruments[i].mod_waveform & 3);
-	inst[i].data[1]  |= ((instruments[i].mod_sustain_sound & 1) << 5);
-	inst[i].data[1]  |= ((instruments[i].mod_ksr & 1) << 4);
-	inst[i].data[1]  |= ((instruments[i].mod_vibrato & 1) << 6);
-	inst[i].data[1]  |= ((instruments[i].mod_tremolo & 1) << 7);
+  inst[i].data[3] = ((instruments[i].mod_attack & 15) << 4);
+  inst[i].data[3] |= (instruments[i].mod_decay & 15);
+  inst[i].data[5] = ((15 - (instruments[i].mod_sustain & 15)) << 4);
+  inst[i].data[5] |= (instruments[i].mod_release & 15);
+  inst[i].data[9] = (63 - (instruments[i].mod_volume & 63));
+  inst[i].data[9] |= ((instruments[i].mod_ksl & 3) << 6);
+  inst[i].data[1] = (instruments[i].mod_freq_multi & 15);
+  inst[i].data[7] = (instruments[i].mod_waveform & 3);
+  inst[i].data[1] |= ((instruments[i].mod_sustain_sound & 1) << 5);
+  inst[i].data[1] |= ((instruments[i].mod_ksr & 1) << 4);
+  inst[i].data[1] |= ((instruments[i].mod_vibrato & 1) << 6);
+  inst[i].data[1] |= ((instruments[i].mod_tremolo & 1) << 7);
 
-	inst[i].data[4]   = ((instruments[i].car_attack & 15) << 4);
-	inst[i].data[4]  |=  (instruments[i].car_decay & 15);
-	inst[i].data[6]   = ((15 - (instruments[i].car_sustain & 15)) << 4);
-	inst[i].data[6]  |=  (instruments[i].car_release & 15);
-	inst[i].data[10]  =  (63 - (instruments[i].car_volume & 63));
-	inst[i].data[10] |= ((instruments[i].car_ksl & 3) << 6);
-	inst[i].data[2]   =  (instruments[i].car_freq_multi & 15);
-	inst[i].data[8]   =  (instruments[i].car_waveform & 3);
-	inst[i].data[2]  |= ((instruments[i].car_sustain_sound & 1) << 5);
-	inst[i].data[2]  |= ((instruments[i].car_ksr & 1) << 4);
-	inst[i].data[2]  |= ((instruments[i].car_vibrato & 1) << 6);
-	inst[i].data[2]  |= ((instruments[i].car_tremolo & 1) << 7);
+  inst[i].data[4] = ((instruments[i].car_attack & 15) << 4);
+  inst[i].data[4] |= (instruments[i].car_decay & 15);
+  inst[i].data[6] = ((15 - (instruments[i].car_sustain & 15)) << 4);
+  inst[i].data[6] |= (instruments[i].car_release & 15);
+  inst[i].data[10] = (63 - (instruments[i].car_volume & 63));
+  inst[i].data[10] |= ((instruments[i].car_ksl & 3) << 6);
+  inst[i].data[2] = (instruments[i].car_freq_multi & 15);
+  inst[i].data[8] = (instruments[i].car_waveform & 3);
+  inst[i].data[2] |= ((instruments[i].car_sustain_sound & 1) << 5);
+  inst[i].data[2] |= ((instruments[i].car_ksr & 1) << 4);
+  inst[i].data[2] |= ((instruments[i].car_vibrato & 1) << 6);
+  inst[i].data[2] |= ((instruments[i].car_tremolo & 1) << 7);
 
-	inst[i].slide     =   instruments[i].pitch_shift;
+  inst[i].slide = instruments[i].pitch_shift;
 }
--- a/src/adplug/core/fprovide.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/fprovide.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -27,49 +27,60 @@
 
 /***** CFileProvider *****/
 
-bool CFileProvider::extension(const std::string &filename,
-			      const std::string &extension)
+bool
+CFileProvider::extension (const std::string & filename,
+                          const std::string & extension)
 {
-  const char *fname = filename.c_str(), *ext = extension.c_str();
+  const char *fname = filename.c_str (), *ext = extension.c_str ();
 
-  if(strlen(fname) < strlen(ext) ||
-     stricmp(fname + strlen(fname) - strlen(ext), ext))
+  if (strlen (fname) < strlen (ext) ||
+      stricmp (fname + strlen (fname) - strlen (ext), ext))
     return false;
   else
     return true;
 }
 
-unsigned long CFileProvider::filesize(binistream *f)
+unsigned long
+CFileProvider::filesize (binistream * f)
 {
-  unsigned long oldpos = f->pos(), size;
+  unsigned long oldpos = f->pos (), size;
 
-  f->seek(0, binio::End);
-  size = f->pos();
-  f->seek(oldpos, binio::Set);
+  f->seek (0, binio::End);
+  size = f->pos ();
+  f->seek (oldpos, binio::Set);
 
   return size;
 }
 
 /***** CProvider_Filesystem *****/
 
-binistream *CProvider_Filesystem::open(VFSFile *fd) const
+binistream *
+CProvider_Filesystem::open (VFSFile * fd) const const
 {
-  vfsistream *f = new vfsistream(fd);
+  vfsistream *f = new vfsistream (fd);
 
-  if(!f) return 0;
-  if(f->error()) { delete f; return 0; }
+  if (!f)
+    return 0;
+  if (f->error ())
+  {
+    delete f;
+    return 0;
+  }
 
   // Open all files as little endian with IEEE floats by default
-  f->setFlag(binio::BigEndian, false); f->setFlag(binio::FloatIEEE);
+  f->setFlag (binio::BigEndian, false);
+  f->setFlag (binio::FloatIEEE);
 
   return f;
 }
 
-void CProvider_Filesystem::close(binistream *f) const
+void
+CProvider_Filesystem::close (binistream * f) const const
 {
-  vfsistream *ff = (vfsistream *)f;
+  vfsistream *ff = (vfsistream *) f;
 
-  if(f) {
+  if (f)
+  {
     delete ff;
   }
 }
--- a/src/adplug/core/hsc.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/hsc.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -26,84 +26,95 @@
 
 /*** public methods **************************************/
 
-CPlayer *ChscPlayer::factory(Copl *newopl)
+CPlayer *
+ChscPlayer::factory (Copl * newopl)
 {
-  return new ChscPlayer(newopl);
+  return new ChscPlayer (newopl);
 }
 
-bool ChscPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+ChscPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream	*f = fp.open(fd);
-  int		i;
+  binistream *f = fp.open (fd);
+  int i;
 
   // file validation section
-  if(!f || !fp.extension(fd->uri, ".hsc") || fp.filesize(f) > 59187) {
-    AdPlug_LogWrite("ChscPlayer::load(\"%s\"): Not a HSC file!\n", fd->uri);
-    fp.close(f);
+  if (!f || !fp.extension (fd->uri, ".hsc") || fp.filesize (f) > 59187)
+  {
+    AdPlug_LogWrite ("ChscPlayer::load(\"%s\"): Not a HSC file!\n", fd->uri);
+    fp.close (f);
     return false;
   }
 
   // load section
-  for(i=0;i<128*12;i++)		// load instruments
-    *((unsigned char *)instr + i) = f->readInt(1);
-  for (i=0;i<128;i++) {			// correct instruments
+  for (i = 0; i < 128 * 12; i++)    // load instruments
+    *((unsigned char *) instr + i) = f->readInt (1);
+  for (i = 0; i < 128; i++)
+  {                             // correct instruments
     instr[i][2] ^= (instr[i][2] & 0x40) << 1;
     instr[i][3] ^= (instr[i][3] & 0x40) << 1;
-    instr[i][11] >>= 4;			// slide
+    instr[i][11] >>= 4;         // slide
   }
-  for(i=0;i<51;i++) song[i] = f->readInt(1);	// load tracklist
-  for(i=0;i<50*64*9;i++)			// load patterns
-    *((char *)patterns + i) = f->readInt(1);
+  for (i = 0; i < 51; i++)
+    song[i] = f->readInt (1);   // load tracklist
+  for (i = 0; i < 50 * 64 * 9; i++) // load patterns
+    *((char *) patterns + i) = f->readInt (1);
 
-  fp.close(f);
-  rewind(0);					// rewind module
+  fp.close (f);
+  rewind (0);                   // rewind module
   return true;
 }
 
-bool ChscPlayer::update()
+bool
+ChscPlayer::update ()
 {
   // general vars
-  unsigned char		chan,pattnr,note,effect,eff_op,inst,vol,Okt,db;
-  unsigned short	Fnr;
-  unsigned long		pattoff;
+  unsigned char chan, pattnr, note, effect, eff_op, inst, vol, Okt, db;
+  unsigned short Fnr;
+  unsigned long pattoff;
 
-  del--;                      // player speed handling
-  if(del)
-    return !songend;		// nothing done
+  del--;                        // player speed handling
+  if (del)
+    return !songend;            // nothing done
 
-  if(fadein)					// fade-in handling
+  if (fadein)                   // fade-in handling
     fadein--;
 
   pattnr = song[songpos];
-  if(pattnr == 0xff) {			// arrangement handling
-    songend = 1;				// set end-flag
+  if (pattnr == 0xff)
+  {                             // arrangement handling
+    songend = 1;                // set end-flag
     songpos = 0;
     pattnr = song[songpos];
-  } else
-    if ((pattnr & 128) && (pattnr <= 0xb1)) { // goto pattern "nr"
-      songpos = song[songpos] & 127;
-      pattpos = 0;
-      pattnr = song[songpos];
-      songend = 1;
-    }
+  }
+  else if ((pattnr & 128) && (pattnr <= 0xb1))
+  {                             // goto pattern "nr"
+    songpos = song[songpos] & 127;
+    pattpos = 0;
+    pattnr = song[songpos];
+    songend = 1;
+  }
 
-  pattoff = pattpos*9;
-  for (chan=0;chan<9;chan++) {			// handle all channels
+  pattoff = pattpos * 9;
+  for (chan = 0; chan < 9; chan++)
+  {                             // handle all channels
     note = patterns[pattnr][pattoff].note;
     effect = patterns[pattnr][pattoff].effect;
     pattoff++;
 
-    if(note & 128) {                    // set instrument
-      setinstr(chan,effect);
+    if (note & 128)
+    {                           // set instrument
+      setinstr (chan, effect);
       continue;
     }
     eff_op = effect & 0x0f;
     inst = channel[chan].inst;
-    if(note)
+    if (note)
       channel[chan].slide = 0;
 
-    switch (effect & 0xf0) {			// effect handling
-    case 0:								// global effect
+    switch (effect & 0xf0)
+    {                           // effect handling
+    case 0:                    // global effect
       /* The following fx are unimplemented on purpose:
        * 02 - Slide Mainvolume up
        * 03 - Slide Mainvolume down (here: fade in)
@@ -112,161 +123,212 @@
        * This is because i've never seen any HSC modules using the fx this way.
        * All modules use the fx the way, i've implemented it.
        */
-      switch(eff_op) {
-      case 1: pattbreak++; break;	// jump to next pattern
-      case 3: fadein = 31; break;	// fade in (divided by 2)
-      case 5: mode6 = 1; break;	// 6 voice mode on
-      case 6: mode6 = 0; break;	// 6 voice mode off
+      switch (eff_op)
+      {
+      case 1:
+        pattbreak++;
+        break;                  // jump to next pattern
+      case 3:
+        fadein = 31;
+        break;                  // fade in (divided by 2)
+      case 5:
+        mode6 = 1;
+        break;                  // 6 voice mode on
+      case 6:
+        mode6 = 0;
+        break;                  // 6 voice mode off
       }
       break;
     case 0x20:
-    case 0x10:		                    // manual slides
-      if (effect & 0x10) {
-	channel[chan].freq += eff_op;
-	channel[chan].slide += eff_op;
-      } else {
-	channel[chan].freq -= eff_op;
-	channel[chan].slide -= eff_op;
+    case 0x10:                 // manual slides
+      if (effect & 0x10)
+      {
+        channel[chan].freq += eff_op;
+        channel[chan].slide += eff_op;
       }
-      if(!note)
-	setfreq(chan,channel[chan].freq);
+      else
+      {
+        channel[chan].freq -= eff_op;
+        channel[chan].slide -= eff_op;
+      }
+      if (!note)
+        setfreq (chan, channel[chan].freq);
       break;
-    case 0x50:							// set percussion instrument (unimplemented)
+    case 0x50:                 // set percussion instrument (unimplemented)
       break;
-    case 0x60:							// set feedback
-      opl->write(0xc0 + chan, (instr[channel[chan].inst][8] & 1) + (eff_op << 1));
+    case 0x60:                 // set feedback
+      opl->write (0xc0 + chan,
+                  (instr[channel[chan].inst][8] & 1) + (eff_op << 1));
       break;
-    case 0xa0:		                    // set carrier volume
+    case 0xa0:                 // set carrier volume
       vol = eff_op << 2;
-      opl->write(0x43 + op_table[chan], vol | (instr[channel[chan].inst][2] & ~63));
+      opl->write (0x43 + op_table[chan],
+                  vol | (instr[channel[chan].inst][2] & ~63));
       break;
-    case 0xb0:		                    // set modulator volume
+    case 0xb0:                 // set modulator volume
       vol = eff_op << 2;
       if (instr[inst][8] & 1)
-	opl->write(0x40 + op_table[chan], vol | (instr[channel[chan].inst][3] & ~63));
+        opl->write (0x40 + op_table[chan],
+                    vol | (instr[channel[chan].inst][3] & ~63));
       else
-	opl->write(0x40 + op_table[chan],vol | (instr[inst][3] & ~63));
+        opl->write (0x40 + op_table[chan], vol | (instr[inst][3] & ~63));
       break;
-    case 0xc0:		                    // set instrument volume
+    case 0xc0:                 // set instrument volume
       db = eff_op << 2;
-      opl->write(0x43 + op_table[chan], db | (instr[channel[chan].inst][2] & ~63));
+      opl->write (0x43 + op_table[chan],
+                  db | (instr[channel[chan].inst][2] & ~63));
       if (instr[inst][8] & 1)
-	opl->write(0x40 + op_table[chan], db | (instr[channel[chan].inst][3] & ~63));
+        opl->write (0x40 + op_table[chan],
+                    db | (instr[channel[chan].inst][3] & ~63));
       break;
-    case 0xd0: pattbreak++; songpos = eff_op; songend = 1; break;	// position jump
-    case 0xf0:							// set speed
+    case 0xd0:
+      pattbreak++;
+      songpos = eff_op;
+      songend = 1;
+      break;                    // position jump
+    case 0xf0:                 // set speed
       speed = eff_op;
       del = ++speed;
       break;
     }
 
-    if(fadein)						// fade-in volume setting
-      setvolume(chan,fadein*2,fadein*2);
+    if (fadein)                 // fade-in volume setting
+      setvolume (chan, fadein * 2, fadein * 2);
 
-    if(!note)						// note handling
+    if (!note)                  // note handling
       continue;
     note--;
 
-    if ((note == 0x7f-1) || ((note/12) & ~7)) {    // pause (7fh)
+    if ((note == 0x7f - 1) || ((note / 12) & ~7))
+    {                           // pause (7fh)
       adl_freq[chan] &= ~32;
-      opl->write(0xb0 + chan,adl_freq[chan]);
+      opl->write (0xb0 + chan, adl_freq[chan]);
       continue;
     }
 
     // play the note
-    if(mtkmode)		// imitate MPU-401 Trakker bug
+    if (mtkmode)                // imitate MPU-401 Trakker bug
       note--;
-    Okt = ((note/12) & 7) << 2;
+    Okt = ((note / 12) & 7) << 2;
     Fnr = note_table[(note % 12)] + instr[inst][11] + channel[chan].slide;
     channel[chan].freq = Fnr;
-    if(!mode6 || chan < 6)
+    if (!mode6 || chan < 6)
       adl_freq[chan] = Okt | 32;
     else
-      adl_freq[chan] = Okt;		// never set key for drums
-    opl->write(0xb0 + chan, 0);
-    setfreq(chan,Fnr);
-    if(mode6) {
-      switch(chan) {		// play drums
-      case 6: opl->write(0xbd,bd & ~16); bd |= 48; break;	// bass drum
-      case 7: opl->write(0xbd,bd & ~1); bd |= 33; break;	// hihat
-      case 8: opl->write(0xbd,bd & ~2); bd |= 34; break;	// cymbal
+      adl_freq[chan] = Okt;     // never set key for drums
+    opl->write (0xb0 + chan, 0);
+    setfreq (chan, Fnr);
+    if (mode6)
+    {
+      switch (chan)
+      {                         // play drums
+      case 6:
+        opl->write (0xbd, bd & ~16);
+        bd |= 48;
+        break;                  // bass drum
+      case 7:
+        opl->write (0xbd, bd & ~1);
+        bd |= 33;
+        break;                  // hihat
+      case 8:
+        opl->write (0xbd, bd & ~2);
+        bd |= 34;
+        break;                  // cymbal
       }
-      opl->write(0xbd,bd);
+      opl->write (0xbd, bd);
     }
   }
 
-  del = speed;		// player speed-timing
-  if(pattbreak) {		// do post-effect handling
-    pattpos=0;			// pattern break!
-    pattbreak=0;
+  del = speed;                  // player speed-timing
+  if (pattbreak)
+  {                             // do post-effect handling
+    pattpos = 0;                // pattern break!
+    pattbreak = 0;
     songpos++;
     songpos %= 50;
-    if(!songpos)
+    if (!songpos)
       songend = 1;
-  } else {
+  }
+  else
+  {
     pattpos++;
-    pattpos &= 63;		// advance in pattern data
-    if (!pattpos) {
+    pattpos &= 63;              // advance in pattern data
+    if (!pattpos)
+    {
       songpos++;
       songpos %= 50;
-      if(!songpos)
-	songend = 1;
+      if (!songpos)
+        songend = 1;
     }
   }
-  return !songend;		// still playing
+  return !songend;              // still playing
 }
 
-void ChscPlayer::rewind(int subsong)
+void
+ChscPlayer::rewind (int subsong)
 {
-  int i;								// counter
+  int i;                        // counter
 
   // rewind HSC player
-  pattpos = 0; songpos = 0; pattbreak = 0; speed = 2;
-  del = 1; songend = 0; mode6 = 0; bd = 0; fadein = 0;
+  pattpos = 0;
+  songpos = 0;
+  pattbreak = 0;
+  speed = 2;
+  del = 1;
+  songend = 0;
+  mode6 = 0;
+  bd = 0;
+  fadein = 0;
 
-  opl->init();						// reset OPL chip
-  opl->write(1,32); opl->write(8,128); opl->write(0xbd,0);
+  opl->init ();                 // reset OPL chip
+  opl->write (1, 32);
+  opl->write (8, 128);
+  opl->write (0xbd, 0);
 
-  for(i=0;i<9;i++)
-    setinstr((char) i,(char) i);	// init channels
+  for (i = 0; i < 9; i++)
+    setinstr ((char) i, (char) i);  // init channels
 }
 
-unsigned int ChscPlayer::getpatterns()
+unsigned int
+ChscPlayer::getpatterns ()
 {
-  unsigned char	poscnt,pattcnt=0;
+  unsigned char poscnt, pattcnt = 0;
 
   // count patterns
-  for(poscnt=0;poscnt<51 && song[poscnt] != 0xff;poscnt++)
-    if(song[poscnt] > pattcnt)
+  for (poscnt = 0; poscnt < 51 && song[poscnt] != 0xff; poscnt++)
+    if (song[poscnt] > pattcnt)
       pattcnt = song[poscnt];
 
-  return (pattcnt+1);
+  return (pattcnt + 1);
 }
 
-unsigned int ChscPlayer::getorders()
+unsigned int
+ChscPlayer::getorders ()
 {
   unsigned char poscnt;
 
   // count positions
-  for(poscnt=0;poscnt<51;poscnt++)
-    if(song[poscnt] == 0xff)
+  for (poscnt = 0; poscnt < 51; poscnt++)
+    if (song[poscnt] == 0xff)
       break;
 
   return poscnt;
 }
 
-unsigned int ChscPlayer::getinstruments()
+unsigned int
+ChscPlayer::getinstruments ()
 {
-  unsigned char	instcnt,instnum=0,i;
-  bool		isinst;
+  unsigned char instcnt, instnum = 0, i;
+  bool isinst;
 
   // count instruments
-  for(instcnt=0;instcnt<128;instcnt++) {
+  for (instcnt = 0; instcnt < 128; instcnt++)
+  {
     isinst = false;
-    for(i=0;i<12;i++)
-      if(instr[instcnt][i])
-	isinst = true;
-    if(isinst)
+    for (i = 0; i < 12; i++)
+      if (instr[instcnt][i])
+        isinst = true;
+    if (isinst)
       instnum++;
   }
 
@@ -275,43 +337,46 @@
 
 /*** private methods *************************************/
 
-void ChscPlayer::setfreq(unsigned char chan, unsigned short freq)
+void
+ChscPlayer::setfreq (unsigned char chan, unsigned short freq)
 {
   adl_freq[chan] = (adl_freq[chan] & ~3) | (freq >> 8);
 
-  opl->write(0xa0 + chan, freq & 0xff);
-  opl->write(0xb0 + chan, adl_freq[chan]);
+  opl->write (0xa0 + chan, freq & 0xff);
+  opl->write (0xb0 + chan, adl_freq[chan]);
 }
 
-void ChscPlayer::setvolume(unsigned char chan, int volc, int volm)
+void
+ChscPlayer::setvolume (unsigned char chan, int volc, int volm)
 {
-  unsigned char	*ins = instr[channel[chan].inst];
-  char		op = op_table[chan];
+  unsigned char *ins = instr[channel[chan].inst];
+  char op = op_table[chan];
 
-  opl->write(0x43 + op,volc | (ins[2] & ~63));
-  if (ins[8] & 1)							// carrier
-    opl->write(0x40 + op,volm | (ins[3] & ~63));
+  opl->write (0x43 + op, volc | (ins[2] & ~63));
+  if (ins[8] & 1)               // carrier
+    opl->write (0x40 + op, volm | (ins[3] & ~63));
   else
-    opl->write(0x40 + op, ins[3]);		// modulator
+    opl->write (0x40 + op, ins[3]); // modulator
 }
 
-void ChscPlayer::setinstr(unsigned char chan, unsigned char insnr)
+void
+ChscPlayer::setinstr (unsigned char chan, unsigned char insnr)
 {
-  unsigned char	*ins = instr[insnr];
-  char		op = op_table[chan];
+  unsigned char *ins = instr[insnr];
+  char op = op_table[chan];
 
-  channel[chan].inst = insnr;		// set internal instrument
-  opl->write(0xb0 + chan,0);			// stop old note
+  channel[chan].inst = insnr;   // set internal instrument
+  opl->write (0xb0 + chan, 0);  // stop old note
 
   // set instrument
-  opl->write(0xc0 + chan, ins[8]);
-  opl->write(0x23 + op, ins[0]);        // carrier
-  opl->write(0x20 + op, ins[1]);        // modulator
-  opl->write(0x63 + op, ins[4]);        // bits 0..3 = decay; 4..7 = attack
-  opl->write(0x60 + op, ins[5]);
-  opl->write(0x83 + op, ins[6]);        // 0..3 = release; 4..7 = sustain
-  opl->write(0x80 + op, ins[7]);
-  opl->write(0xe3 + op, ins[9]);        // bits 0..1 = Wellenform
-  opl->write(0xe0 + op, ins[10]);
-  setvolume(chan, ins[2] & 63, ins[3] & 63);
+  opl->write (0xc0 + chan, ins[8]);
+  opl->write (0x23 + op, ins[0]);   // carrier
+  opl->write (0x20 + op, ins[1]);   // modulator
+  opl->write (0x63 + op, ins[4]);   // bits 0..3 = decay; 4..7 = attack
+  opl->write (0x60 + op, ins[5]);
+  opl->write (0x83 + op, ins[6]);   // 0..3 = release; 4..7 = sustain
+  opl->write (0x80 + op, ins[7]);
+  opl->write (0xe3 + op, ins[9]);   // bits 0..1 = Wellenform
+  opl->write (0xe0 + op, ins[10]);
+  setvolume (chan, ins[2] & 63, ins[3] & 63);
 }
--- a/src/adplug/core/hsp.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/hsp.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -23,47 +23,64 @@
 
 #include "hsp.h"
 
-CPlayer *ChspLoader::factory(Copl *newopl)
+CPlayer *
+ChspLoader::factory (Copl * newopl)
 {
-  return new ChspLoader(newopl);
+  return new ChspLoader (newopl);
 }
 
-bool ChspLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+ChspLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream	*f = fp.open(fd); if(!f) return false;
-  unsigned long	i, j, orgsize, filesize;
-  unsigned char	*cmp, *org;
-  std::string   filename(fd->uri);
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  unsigned long i, j, orgsize, filesize;
+  unsigned char *cmp, *org;
+  std::string filename (fd->uri);
 
   // file validation section
-  if(!fp.extension(filename, ".hsp")) { fp.close(f); return false; }
+  if (!fp.extension (filename, ".hsp"))
+  {
+    fp.close (f);
+    return false;
+  }
 
-  filesize = fp.filesize(f);
-  orgsize = f->readInt(2);
-  if(orgsize > 59187) { fp.close(f); return false; }
+  filesize = fp.filesize (f);
+  orgsize = f->readInt (2);
+  if (orgsize > 59187)
+  {
+    fp.close (f);
+    return false;
+  }
 
   // load section
   cmp = new unsigned char[filesize];
-  for(i = 0; i < filesize; i++) cmp[i] = f->readInt(1);
-  fp.close(f);
+  for (i = 0; i < filesize; i++)
+    cmp[i] = f->readInt (1);
+  fp.close (f);
 
   org = new unsigned char[orgsize];
-  for(i = 0, j = 0; i < filesize; j += cmp[i], i += 2) {	// RLE decompress
-    if(j >= orgsize) break;	// memory boundary check
-    memset(org + j, cmp[i + 1], j + cmp[i] < orgsize ? cmp[i] : orgsize - j - 1);
+  for (i = 0, j = 0; i < filesize; j += cmp[i], i += 2)
+  {                             // RLE decompress
+    if (j >= orgsize)
+      break;                    // memory boundary check
+    memset (org + j, cmp[i + 1],
+            j + cmp[i] < orgsize ? cmp[i] : orgsize - j - 1);
   }
-  delete [] cmp;
+  delete[]cmp;
 
-  memcpy(instr, org, 128 * 12);		// instruments
-  for(i = 0; i < 128; i++) {		// correct instruments
+  memcpy (instr, org, 128 * 12);    // instruments
+  for (i = 0; i < 128; i++)
+  {                             // correct instruments
     instr[i][2] ^= (instr[i][2] & 0x40) << 1;
     instr[i][3] ^= (instr[i][3] & 0x40) << 1;
-    instr[i][11] >>= 4;		// slide
+    instr[i][11] >>= 4;         // slide
   }
-  memcpy(song, org + 128 * 12, 51);	// tracklist
-  memcpy(patterns, org + 128 * 12 + 51, orgsize - 128 * 12 - 51);	// patterns
-  delete [] org;
+  memcpy (song, org + 128 * 12, 51);    // tracklist
+  memcpy (patterns, org + 128 * 12 + 51, orgsize - 128 * 12 - 51);  // patterns
+  delete[]org;
 
-  rewind(0);
+  rewind (0);
   return true;
 }
--- a/src/adplug/core/hybrid.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/hybrid.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -31,8 +31,8 @@
 #include "hybrid.h"
 #include "debug.h"
 
-const unsigned char CxadhybridPlayer::hyb_adlib_registers[99] = 
-{
+const unsigned char
+  CxadhybridPlayer::hyb_adlib_registers[99] = {
   0xE0, 0x60, 0x80, 0x20, 0x40, 0xE3, 0x63, 0x83, 0x23, 0x43, 0xC0,
   0xE1, 0x61, 0x81, 0x21, 0x41, 0xE4, 0x64, 0x84, 0x24, 0x44, 0xC1,
   0xE2, 0x62, 0x82, 0x22, 0x42, 0xE5, 0x65, 0x85, 0x25, 0x45, 0xC2,
@@ -44,36 +44,46 @@
   0xF2, 0x72, 0x92, 0x32, 0x52, 0xF5, 0x75, 0x95, 0x35, 0x55, 0xC8
 };
 
-const unsigned short CxadhybridPlayer::hyb_notes[98] =
-{
+const unsigned short
+  CxadhybridPlayer::hyb_notes[98] = {
   0x0000, 0x0000,
-  0x016B, 0x0181, 0x0198, 0x01B0, 0x01CA, 0x01E5, 0x0202, 0x0220, 0x0241, 0x0263, 0x0287, 0x02AE,
-  0x056B, 0x0581, 0x0598, 0x05B0, 0x05CA, 0x05E5, 0x0602, 0x0620, 0x0641, 0x0663, 0x0687, 0x06AE,
-  0x096B, 0x0981, 0x0998, 0x09B0, 0x09CA, 0x09E5, 0x0A02, 0x0A20, 0x0A41, 0x0A63, 0x0A87, 0x0AAE,
-  0x0D6B, 0x0D81, 0x0D98, 0x0DB0, 0x0DCA, 0x0DE5, 0x0E02, 0x0E20, 0x0E41, 0x0E63, 0x0E87, 0x0EAE,
-  0x116B, 0x1181, 0x1198, 0x11B0, 0x11CA, 0x11E5, 0x1202, 0x1220, 0x1241, 0x1263, 0x1287, 0x12AE,
-  0x156B, 0x1581, 0x1598, 0x15B0, 0x15CA, 0x15E5, 0x1602, 0x1620, 0x1641, 0x1663, 0x1687, 0x16AE,
-  0x196B, 0x1981, 0x1998, 0x19B0, 0x19CA, 0x19E5, 0x1A02, 0x1A20, 0x1A41, 0x1A63, 0x1A87, 0x1AAE,
-  0x1D6B, 0x1D81, 0x1D98, 0x1DB0, 0x1DCA, 0x1DE5, 0x1E02, 0x1E20, 0x1E41, 0x1E63, 0x1E87, 0x1EAE
+  0x016B, 0x0181, 0x0198, 0x01B0, 0x01CA, 0x01E5, 0x0202, 0x0220, 0x0241,
+    0x0263, 0x0287, 0x02AE,
+  0x056B, 0x0581, 0x0598, 0x05B0, 0x05CA, 0x05E5, 0x0602, 0x0620, 0x0641,
+    0x0663, 0x0687, 0x06AE,
+  0x096B, 0x0981, 0x0998, 0x09B0, 0x09CA, 0x09E5, 0x0A02, 0x0A20, 0x0A41,
+    0x0A63, 0x0A87, 0x0AAE,
+  0x0D6B, 0x0D81, 0x0D98, 0x0DB0, 0x0DCA, 0x0DE5, 0x0E02, 0x0E20, 0x0E41,
+    0x0E63, 0x0E87, 0x0EAE,
+  0x116B, 0x1181, 0x1198, 0x11B0, 0x11CA, 0x11E5, 0x1202, 0x1220, 0x1241,
+    0x1263, 0x1287, 0x12AE,
+  0x156B, 0x1581, 0x1598, 0x15B0, 0x15CA, 0x15E5, 0x1602, 0x1620, 0x1641,
+    0x1663, 0x1687, 0x16AE,
+  0x196B, 0x1981, 0x1998, 0x19B0, 0x19CA, 0x19E5, 0x1A02, 0x1A20, 0x1A41,
+    0x1A63, 0x1A87, 0x1AAE,
+  0x1D6B, 0x1D81, 0x1D98, 0x1DB0, 0x1DCA, 0x1DE5, 0x1E02, 0x1E20, 0x1E41,
+    0x1E63, 0x1E87, 0x1EAE
 };
 
-const unsigned char CxadhybridPlayer::hyb_default_instrument[11] = 
-{
+const unsigned char
+  CxadhybridPlayer::hyb_default_instrument[11] = {
   0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00
 };
 
-CPlayer *CxadhybridPlayer::factory(Copl *newopl)
+CPlayer *
+CxadhybridPlayer::factory (Copl * newopl)
 {
-  return new CxadhybridPlayer(newopl);
+  return new CxadhybridPlayer (newopl);
 }
 
-bool CxadhybridPlayer::xadplayer_load()
+bool
+CxadhybridPlayer::xadplayer_load ()
 {
-  if(xad.fmt != HYBRID)
+  if (xad.fmt != HYBRID)
     return false;
 
   // load instruments
-  hyb.inst = (hyb_instrument *)&tune[0];
+  hyb.inst = (hyb_instrument *) & tune[0];
 
   // load order
   hyb.order = &tune[0x1D4];
@@ -81,7 +91,8 @@
   return true;
 }
 
-void CxadhybridPlayer::xadplayer_rewind(int subsong)
+void
+CxadhybridPlayer::xadplayer_rewind (int subsong)
 {
   int i;
 
@@ -94,32 +105,34 @@
   plr.speed = 1;
 
   // init channel data
-  for(i=0;i<9;i++)
+  for (i = 0; i < 9; i++)
   {
-    hyb.channel[i].freq       = 0x2000;
+    hyb.channel[i].freq = 0x2000;
     hyb.channel[i].freq_slide = 0x0000;
   }
 
   // basic OPL init
-  opl_write(0x01, 0x20);
-  opl_write(0xBD, 0x40);
-  opl_write(0x08, 0x00);
+  opl_write (0x01, 0x20);
+  opl_write (0xBD, 0x40);
+  opl_write (0x08, 0x00);
 
   // init OPL channels
-  for(i=0;i<9;i++)
+  for (i = 0; i < 9; i++)
   {
-    for(int j=0;j<11;j++)
-      opl_write(hyb_adlib_registers[i*11+j], 0x00 /* hyb_default_instrument[j] */ );
+    for (int j = 0; j < 11; j++)
+      opl_write (hyb_adlib_registers[i * 11 + j],
+                 0x00 /* hyb_default_instrument[j] */ );
 
-	opl_write(0xA0+i, 0x00);
-	opl_write(0xB0+i, 0x20);
+    opl_write (0xA0 + i, 0x00);
+    opl_write (0xB0 + i, 0x20);
   }
 }
 
-void CxadhybridPlayer::xadplayer_update()
+void
+CxadhybridPlayer::xadplayer_update ()
 {
-  int i,j;
-  unsigned char patpos,ordpos;
+  int i, j;
+  unsigned char patpos, ordpos;
 
   if (--hyb.speed_counter)
     goto update_slides;
@@ -130,75 +143,78 @@
   ordpos = hyb.order_pos;
 
   // process channels
-  for(i=0;i<9;i++)
+  for (i = 0; i < 9; i++)
   {
-    unsigned char *pos = &tune[0xADE + (hyb.order[hyb.order_pos*9 + i] * 64 * 2) + (patpos * 2)];
+    unsigned char *pos =
+      &tune[0xADE + (hyb.order[hyb.order_pos * 9 + i] * 64 * 2) +
+            (patpos * 2)];
     // read event
     unsigned short event = (pos[1] << 8) + pos[0];
 
 #ifdef DEBUG
-   AdPlug_LogWrite("track %02X, channel %02X, event %04X:\n", hyb.order[hyb.order_pos*9 + i], i, event );
+    AdPlug_LogWrite ("track %02X, channel %02X, event %04X:\n",
+                     hyb.order[hyb.order_pos * 9 + i], i, event);
 #endif
 
     // calculate variables
-	unsigned char  note  =   event >> 9;
-	unsigned char  ins   = ((event & 0x01F0) >> 4);
-    unsigned char  slide =   event & 0x000F;
+    unsigned char note = event >> 9;
+    unsigned char ins = ((event & 0x01F0) >> 4);
+    unsigned char slide = event & 0x000F;
 
     // play event
-    switch(note)
+    switch (note)
     {
-      case 0x7D: // 0x7D: Set Speed
-        hyb.speed = event & 0xFF;
-        break;
-      case 0x7E: // 0x7E: Jump Position
-        hyb.order_pos = event & 0xFF;
-        hyb.pattern_pos = 0x3F;
+    case 0x7D:                 // 0x7D: Set Speed
+      hyb.speed = event & 0xFF;
+      break;
+    case 0x7E:                 // 0x7E: Jump Position
+      hyb.order_pos = event & 0xFF;
+      hyb.pattern_pos = 0x3F;
 
-        // jumpback ?
-        if (hyb.order_pos <= ordpos)
-          plr.looping = 1;
+      // jumpback ?
+      if (hyb.order_pos <= ordpos)
+        plr.looping = 1;
 
-        break;
-      case 0x7F: // 0x7F: Pattern Break
-        hyb.pattern_pos = 0x3F;
-        break;
-      default:
+      break;
+    case 0x7F:                 // 0x7F: Pattern Break
+      hyb.pattern_pos = 0x3F;
+      break;
+    default:
 
-        // is instrument ?
-        if (ins)
-          for(j=0;j<11;j++)
-            opl_write(hyb_adlib_registers[i*11+j], *((unsigned char *)&hyb.inst[ins-1] + 7 + j)); // +7 = skip name...
+      // is instrument ?
+      if (ins)
+        for (j = 0; j < 11; j++)
+          opl_write (hyb_adlib_registers[i * 11 + j], *((unsigned char *) &hyb.inst[ins - 1] + 7 + j)); // +7 = skip name...
 
-        // is note ?
-        if (note)
-        {
-          hyb.channel[i].freq = hyb_notes[note];
-          hyb.channel[i].freq_slide = 0;
-        }
+      // is note ?
+      if (note)
+      {
+        hyb.channel[i].freq = hyb_notes[note];
+        hyb.channel[i].freq_slide = 0;
+      }
+
+      // is slide ?
+      if (slide)
+      {
+        hyb.channel[i].freq_slide = (((slide >> 3) * -1) * (slide & 7)) << 1;
 
-        // is slide ?
-        if (slide)
-        {
-          hyb.channel[i].freq_slide = (((slide >> 3) * -1) * (slide & 7)) << 1;
-    
-          if (slide & 0x80)
-            slide = -(slide & 7);
-        }
+        if (slide & 0x80)
+          slide = -(slide & 7);
+      }
 
-        // set frequency
-        if (!(hyb.channel[i].freq & 0x2000))
-        {
-          opl_write(0xA0+i, hyb.channel[i].freq & 0xFF);
-          opl_write(0xB0+i, hyb.channel[i].freq >> 8);
+      // set frequency
+      if (!(hyb.channel[i].freq & 0x2000))
+      {
+        opl_write (0xA0 + i, hyb.channel[i].freq & 0xFF);
+        opl_write (0xB0 + i, hyb.channel[i].freq >> 8);
 
-          hyb.channel[i].freq |= 0x2000;
+        hyb.channel[i].freq |= 0x2000;
 
-          opl_write(0xA0+i, hyb.channel[i].freq & 0xFF);
-          opl_write(0xB0+i, hyb.channel[i].freq >> 8);
-        }
+        opl_write (0xA0 + i, hyb.channel[i].freq & 0xFF);
+        opl_write (0xB0 + i, hyb.channel[i].freq >> 8);
+      }
 
-        break;
+      break;
     }
   }
 
@@ -214,35 +230,39 @@
 
 update_slides:
 #ifdef DEBUG
-   AdPlug_LogWrite("slides:\n");
+  AdPlug_LogWrite ("slides:\n");
 #endif
   // update fine frequency slides
-  for(i=0;i<9;i++)
+  for (i = 0; i < 9; i++)
     if (hyb.channel[i].freq_slide)
     {
-      hyb.channel[i].freq = (((hyb.channel[i].freq & 0x1FFF) + hyb.channel[i].freq_slide) & 0x1FFF) | 0x2000;
+      hyb.channel[i].freq =
+        (((hyb.channel[i].freq & 0x1FFF) +
+          hyb.channel[i].freq_slide) & 0x1FFF) | 0x2000;
 
-      opl_write(0xA0+i, hyb.channel[i].freq & 0xFF);
-      opl_write(0xB0+i, hyb.channel[i].freq >> 8);
+      opl_write (0xA0 + i, hyb.channel[i].freq & 0xFF);
+      opl_write (0xB0 + i, hyb.channel[i].freq >> 8);
     }
 }
 
-float CxadhybridPlayer::xadplayer_getrefresh()
+float
+CxadhybridPlayer::xadplayer_getrefresh ()
 {
   return 50.0f;
 }
 
-std::string CxadhybridPlayer::xadplayer_gettype()
+std::string CxadhybridPlayer::xadplayer_gettype ()
 {
-  return (std::string("xad: hybrid player"));
+  return (std::string ("xad: hybrid player"));
 }
 
-std::string CxadhybridPlayer::xadplayer_getinstrument(unsigned int i)
+std::string CxadhybridPlayer::xadplayer_getinstrument (unsigned int i)
 {
-  return (std::string(hyb.inst[i].name,7));
+  return (std::string (hyb.inst[i].name, 7));
 }
 
-unsigned int CxadhybridPlayer::xadplayer_getinstruments()
+unsigned int
+CxadhybridPlayer::xadplayer_getinstruments ()
 {
   return 26;
 }
--- a/src/adplug/core/hyp.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/hyp.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -31,8 +31,8 @@
 #include "hyp.h"
 #include "debug.h"
 
-const unsigned char CxadhypPlayer::hyp_adlib_registers[99] =
-{
+const unsigned char
+  CxadhypPlayer::hyp_adlib_registers[99] = {
   0x20, 0x23, 0x40, 0x43, 0x60, 0x63, 0x80, 0x83, 0xA0, 0xB0, 0xC0,
   0x21, 0x24, 0x41, 0x44, 0x61, 0x64, 0x81, 0x84, 0xA1, 0xB1, 0xC1,
   0x22, 0x25, 0x42, 0x45, 0x62, 0x65, 0x82, 0x85, 0xA2, 0xB2, 0xC2,
@@ -44,9 +44,9 @@
   0x32, 0x35, 0x52, 0x55, 0x72, 0x75, 0x92, 0x95, 0xA8, 0xB8, 0xC8
 };
 
-const unsigned short CxadhypPlayer::hyp_notes[73] =
-{
-  0x0000, // by riven
+const unsigned short
+  CxadhypPlayer::hyp_notes[73] = {
+  0x0000,                       // by riven
   0x0956, 0x096B, 0x0980, 0x0998, 0x09B1, 0x09C9, 0x09E5, 0x0A03, 0x0A21,
   0x0A41, 0x0A63, 0x0A86, 0x0D56, 0x0D6B, 0x0D80, 0x0D98, 0x0DB1, 0x0DC9,
   0x0DE5, 0x0E03, 0x0E21, 0x0E41, 0x0E63, 0x0E86, 0x1156, 0x116B, 0x1180,
@@ -57,32 +57,35 @@
   0x1D98, 0x1DB1, 0x1DC9, 0x1DE5, 0x1E03, 0x1E21, 0x1E41, 0x1E63, 0x1E86
 };
 
-CPlayer *CxadhypPlayer::factory(Copl *newopl)
+CPlayer *
+CxadhypPlayer::factory (Copl * newopl)
 {
-  return new CxadhypPlayer(newopl);
+  return new CxadhypPlayer (newopl);
 }
 
-void CxadhypPlayer::xadplayer_rewind(int subsong)
+void
+CxadhypPlayer::xadplayer_rewind (int subsong)
 {
   int i;
 
   plr.speed = tune[5];
 
-  opl_write(0xBD,0xC0);
+  opl_write (0xBD, 0xC0);
 
-  for(i=0; i<9; i++)
-    adlib[0xB0+i] = 0;
+  for (i = 0; i < 9; i++)
+    adlib[0xB0 + i] = 0;
 
   // define instruments
-  for(i=0; i<99; i++)
-    opl_write(hyp_adlib_registers[i], tune[6+i]);
+  for (i = 0; i < 99; i++)
+    opl_write (hyp_adlib_registers[i], tune[6 + i]);
 
   hyp.pointer = 0x69;
 }
 
-void CxadhypPlayer::xadplayer_update()
+void
+CxadhypPlayer::xadplayer_update ()
 {
-  for(int i=0; i<9; i++)
+  for (int i = 0; i < 9; i++)
   {
     unsigned char event = tune[hyp.pointer++];
 
@@ -93,15 +96,15 @@
       unsigned char lofreq = (freq & 0xFF);
       unsigned char hifreq = (freq >> 8);
 
-      opl_write(0xB0+i, adlib[0xB0+i]);
+      opl_write (0xB0 + i, adlib[0xB0 + i]);
 
       if (!(event & 0x40))
       {
-        opl_write(0xA0+i, lofreq);
-        opl_write(0xB0+i, hifreq | 0x20);
+        opl_write (0xA0 + i, lofreq);
+        opl_write (0xB0 + i, hifreq | 0x20);
       }
 
-      adlib[0xB0+i] &= 0xDF;
+      adlib[0xB0 + i] &= 0xDF;
     }
   }
 
@@ -114,12 +117,13 @@
   }
 }
 
-float CxadhypPlayer::xadplayer_getrefresh()
+float
+CxadhypPlayer::xadplayer_getrefresh ()
 {
   return 60.0f;
 }
 
-std::string CxadhypPlayer::xadplayer_gettype()
+std::string CxadhypPlayer::xadplayer_gettype ()
 {
-  return std::string("xad: hypnosis player");
+  return std::string ("xad: hypnosis player");
 }
--- a/src/adplug/core/imf.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/imf.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -48,114 +48,139 @@
 
 /*** public methods *************************************/
 
-CPlayer *CimfPlayer::factory(Copl *newopl)
+CPlayer *
+CimfPlayer::factory (Copl * newopl)
 {
-  return new CimfPlayer(newopl);
+  return new CimfPlayer (newopl);
 }
 
-bool CimfPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CimfPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
   unsigned long fsize, flsize, mfsize = 0;
   unsigned int i;
 
   // file validation section
   {
-    char	header[5];
-    int		version;
+    char header[5];
+    int version;
 
-    f->readString(header, 5);
-    version = f->readInt(1);
+    f->readString (header, 5);
+    version = f->readInt (1);
 
-    if(strncmp(header, "ADLIB", 5) || version != 1) {
-      if(!fp.extension(fd->uri, ".imf") && !fp.extension(fd->uri, ".wlf")) {
-	// It's no IMF file at all
-	fp.close(f);
-	return false;
-      } else
-	f->seek(0);	// It's a normal IMF file
-    } else {
+    if (strncmp (header, "ADLIB", 5) || version != 1)
+    {
+      if (!fp.extension (fd->uri, ".imf") && !fp.extension (fd->uri, ".wlf"))
+      {
+        // It's no IMF file at all
+        fp.close (f);
+        return false;
+      }
+      else
+        f->seek (0);            // It's a normal IMF file
+    }
+    else
+    {
       // It's a IMF file with header
-      track_name = f->readString('\0');
-      game_name = f->readString('\0');
-      f->ignore(1);
-      mfsize = f->pos() + 2;
+      track_name = f->readString ('\0');
+      game_name = f->readString ('\0');
+      f->ignore (1);
+      mfsize = f->pos () + 2;
     }
   }
 
   // load section
-  if(mfsize)
-    fsize = f->readInt(4);
+  if (mfsize)
+    fsize = f->readInt (4);
   else
-    fsize = f->readInt(2);
-  flsize = fp.filesize(f);
-  if(!fsize) {		// footerless file (raw music data)
-    if(mfsize)
-      f->seek(-4, binio::Add);
+    fsize = f->readInt (2);
+  flsize = fp.filesize (f);
+  if (!fsize)
+  {                             // footerless file (raw music data)
+    if (mfsize)
+      f->seek (-4, binio::Add);
     else
-      f->seek(-2, binio::Add);
+      f->seek (-2, binio::Add);
     size = (flsize - mfsize) / 4;
-  } else		// file has got a footer
+  }
+  else                          // file has got a footer
     size = fsize / 4;
 
   data = new Sdata[size];
-  for(i = 0; i < size; i++) {
-    data[i].reg = f->readInt(1); data[i].val = f->readInt(1);
-    data[i].time = f->readInt(2);
+  for (i = 0; i < size; i++)
+  {
+    data[i].reg = f->readInt (1);
+    data[i].val = f->readInt (1);
+    data[i].time = f->readInt (2);
   }
 
   // read footer, if any
-  if(fsize && (fsize < flsize - 2 - mfsize))
-    if(f->readInt(1) == 0x1a) {
+  if (fsize && (fsize < flsize - 2 - mfsize))
+    if (f->readInt (1) == 0x1a)
+    {
       // Adam Nielsen's footer format
-      track_name = f->readString();
-      author_name = f->readString();
-      remarks = f->readString();
-    } else {
+      track_name = f->readString ();
+      author_name = f->readString ();
+      remarks = f->readString ();
+    }
+    else
+    {
       // Generic footer
       unsigned long footerlen = flsize - fsize - 2 - mfsize;
 
       footer = new char[footerlen + 1];
-      f->readString(footer, footerlen);
-      footer[footerlen] = '\0';	// Make ASCIIZ string
+      f->readString (footer, footerlen);
+      footer[footerlen] = '\0'; // Make ASCIIZ string
     }
 
-  rate = getrate(fd->uri, fp, f);
-  fp.close(f);
-  rewind(0);
+  rate = getrate (fd->uri, fp, f);
+  fp.close (f);
+  rewind (0);
   return true;
 }
 
-bool CimfPlayer::update()
+bool
+CimfPlayer::update ()
 {
-	do {
-		opl->write(data[pos].reg,data[pos].val);
-		del = data[pos].time;
-		pos++;
-	} while(!del && pos < size);
+  do
+  {
+    opl->write (data[pos].reg, data[pos].val);
+    del = data[pos].time;
+    pos++;
+  } while (!del && pos < size);
 
-	if(pos >= size) {
-		pos = 0;
-		songend = true;
-	}
-	else timer = rate / (float)del;
+  if (pos >= size)
+  {
+    pos = 0;
+    songend = true;
+  }
+  else
+    timer = rate / (float) del;
 
-	return !songend;
+  return !songend;
 }
 
-void CimfPlayer::rewind(int subsong)
+void
+CimfPlayer::rewind (int subsong)
 {
-	pos = 0; del = 0; timer = rate; songend = false;
-	opl->init(); opl->write(1,32);	// go to OPL2 mode
+  pos = 0;
+  del = 0;
+  timer = rate;
+  songend = false;
+  opl->init ();
+  opl->write (1, 32);           // go to OPL2 mode
 }
 
-std::string CimfPlayer::gettitle()
+std::string CimfPlayer::gettitle ()
 {
-  std::string	title;
+  std::string title;
 
   title = track_name;
 
-  if(!track_name.empty() && !game_name.empty())
+  if (!track_name.empty () && !game_name.empty ())
     title += " - ";
 
   title += game_name;
@@ -163,14 +188,14 @@
   return title;
 }
 
-std::string CimfPlayer::getdesc()
+std::string CimfPlayer::getdesc ()
 {
-  std::string	desc;
+  std::string desc;
 
-  if(footer)
-    desc = std::string(footer);
+  if (footer)
+    desc = std::string (footer);
 
-  if(!remarks.empty() && footer)
+  if (!remarks.empty () && footer)
     desc += "\n\n";
 
   desc += remarks;
@@ -180,17 +205,23 @@
 
 /*** private methods *************************************/
 
-float CimfPlayer::getrate(const std::string &filename, const CFileProvider &fp, binistream *f)
+float
+CimfPlayer::getrate (const std::string & filename, const CFileProvider & fp,
+                     binistream * f)
 {
-  if(db) {	// Database available
-    f->seek(0, binio::Set);
-    CClockRecord *record = (CClockRecord *)db->search(CAdPlugDatabase::CKey(*f));
+  if (db)
+  {                             // Database available
+    f->seek (0, binio::Set);
+    CClockRecord *record =
+      (CClockRecord *) db->search (CAdPlugDatabase::CKey (*f));
     if (record && record->type == CAdPlugDatabase::CRecord::ClockSpeed)
       return record->clock;
   }
 
   // Otherwise the database is either unavailable, or there's no entry for this file
-  if (fp.extension(filename, ".imf")) return 560.0f;
-  if (fp.extension(filename, ".wlf")) return 700.0f;
-  return 700.0f; // default speed for unknown files that aren't .IMF or .WLF
+  if (fp.extension (filename, ".imf"))
+    return 560.0f;
+  if (fp.extension (filename, ".wlf"))
+    return 700.0f;
+  return 700.0f;                // default speed for unknown files that aren't .IMF or .WLF
 }
--- a/src/adplug/core/ksm.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/ksm.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -24,316 +24,396 @@
 #include "ksm.h"
 #include "debug.h"
 
-const unsigned int CksmPlayer::adlibfreq[63] = {
-	0,
-	2390,2411,2434,2456,2480,2506,2533,2562,2592,2625,2659,2695,
-	3414,3435,3458,3480,3504,3530,3557,3586,3616,3649,3683,3719,
-	4438,4459,4482,4504,4528,4554,4581,4610,4640,4673,4707,4743,
-	5462,5483,5506,5528,5552,5578,5605,5634,5664,5697,5731,5767,
-	6486,6507,6530,6552,6576,6602,6629,6658,6688,6721,6755,6791,
-	7510};
+const unsigned int
+  CksmPlayer::adlibfreq[63] = {
+  0,
+  2390, 2411, 2434, 2456, 2480, 2506, 2533, 2562, 2592, 2625, 2659, 2695,
+  3414, 3435, 3458, 3480, 3504, 3530, 3557, 3586, 3616, 3649, 3683, 3719,
+  4438, 4459, 4482, 4504, 4528, 4554, 4581, 4610, 4640, 4673, 4707, 4743,
+  5462, 5483, 5506, 5528, 5552, 5578, 5605, 5634, 5664, 5697, 5731, 5767,
+  6486, 6507, 6530, 6552, 6576, 6602, 6629, 6658, 6688, 6721, 6755, 6791,
+  7510
+};
 
 /*** public methods **************************************/
 
-CPlayer *CksmPlayer::factory(Copl *newopl)
+CPlayer *
+CksmPlayer::factory (Copl * newopl)
 {
-  return new CksmPlayer(newopl);
+  return new CksmPlayer (newopl);
 }
 
-bool CksmPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CksmPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream	*f;
-  int		i;
-  std::string   filename(fd->uri);
-  char		*fn = new char[filename.length() + 9];
+  binistream *f;
+  int i;
+  std::string filename (fd->uri);
+  char *fn = new char[filename.length () + 9];
 
   // file validation section
-  if(!fp.extension(filename, ".ksm")) {
-    AdPlug_LogWrite("CksmPlayer::load(,\"%s\"): File doesn't have '.ksm' "
-		    "extension! Rejected!\n", filename.c_str());
+  if (!fp.extension (filename, ".ksm"))
+  {
+    AdPlug_LogWrite ("CksmPlayer::load(,\"%s\"): File doesn't have '.ksm' "
+                     "extension! Rejected!\n", filename.c_str ());
     return false;
   }
-  AdPlug_LogWrite("*** CksmPlayer::load(,\"%s\") ***\n", filename.c_str());
+  AdPlug_LogWrite ("*** CksmPlayer::load(,\"%s\") ***\n", filename.c_str ());
 
   // Load instruments from 'insts.dat'
-  strcpy(fn, filename.c_str());
-  for(i = strlen(fn) - 1; i >= 0; i--)
-    if(fn[i] == '/' || fn[i] == '\\')
+  strcpy (fn, filename.c_str ());
+  for (i = strlen (fn) - 1; i >= 0; i--)
+    if (fn[i] == '/' || fn[i] == '\\')
       break;
-  strcpy(fn + i + 1, "insts.dat");
-  AdPlug_LogWrite("Instruments file: \"%s\"\n", fn);
-  VFSFile *instfd = vfs_fopen(fn, "rb");
-  f = fp.open(instfd);
-  delete [] fn;
-  if(!f) {
-    AdPlug_LogWrite("Couldn't open instruments file! Aborting!\n");
-    AdPlug_LogWrite("--- CksmPlayer::load ---\n");
+  strcpy (fn + i + 1, "insts.dat");
+  AdPlug_LogWrite ("Instruments file: \"%s\"\n", fn);
+  VFSFile *instfd = vfs_fopen (fn, "rb");
+  f = fp.open (instfd);
+  delete[]fn;
+  if (!f)
+  {
+    AdPlug_LogWrite ("Couldn't open instruments file! Aborting!\n");
+    AdPlug_LogWrite ("--- CksmPlayer::load ---\n");
     return false;
   }
-  loadinsts(f);
-  fp.close(f);
-  vfs_fclose(instfd);
+  loadinsts (f);
+  fp.close (f);
+  vfs_fclose (instfd);
 
-  f = fp.open(fd); if(!f) return false;
-  for(i = 0; i < 16; i++) trinst[i] = f->readInt(1);
-  for(i = 0; i < 16; i++) trquant[i] = f->readInt(1);
-  for(i = 0; i < 16; i++) trchan[i] = f->readInt(1);
-  f->ignore(16);
-  for(i = 0; i < 16; i++) trvol[i] = f->readInt(1);
-  numnotes = f->readInt(2);
-  note = new unsigned long [numnotes];
-  for(i = 0; i < numnotes; i++) note[i] = f->readInt(4);
-  fp.close(f);
+  f = fp.open (fd);
+  if (!f)
+    return false;
+  for (i = 0; i < 16; i++)
+    trinst[i] = f->readInt (1);
+  for (i = 0; i < 16; i++)
+    trquant[i] = f->readInt (1);
+  for (i = 0; i < 16; i++)
+    trchan[i] = f->readInt (1);
+  f->ignore (16);
+  for (i = 0; i < 16; i++)
+    trvol[i] = f->readInt (1);
+  numnotes = f->readInt (2);
+  note = new unsigned long[numnotes];
+  for (i = 0; i < numnotes; i++)
+    note[i] = f->readInt (4);
+  fp.close (f);
 
-  if(!trchan[11]) {
+  if (!trchan[11])
+  {
     drumstat = 0;
     numchans = 9;
-  } else {
+  }
+  else
+  {
     drumstat = 32;
     numchans = 6;
   }
 
-  rewind(0);
-  AdPlug_LogWrite("--- CksmPlayer::load ---\n");
+  rewind (0);
+  AdPlug_LogWrite ("--- CksmPlayer::load ---\n");
   return true;
 }
 
-bool CksmPlayer::update()
+bool
+CksmPlayer::update ()
 {
-  int quanter,chan,drumnum,freq,track,volevel,volval;
-	unsigned int i,j,bufnum;
-	unsigned long temp,templong;
+  int quanter, chan, drumnum, freq, track, volevel, volval;
+  unsigned int i, j, bufnum;
+  unsigned long temp, templong;
 
-	count++;
-	if (count >= countstop)
-	{
-		bufnum = 0;
-		while (count >= countstop)
-		{
-			templong = note[nownote];
-			track = (int)((templong>>8)&15);
-			if ((templong&192) == 0)
-			{
-				i = 0;
+  count++;
+  if (count >= countstop)
+  {
+    bufnum = 0;
+    while (count >= countstop)
+    {
+      templong = note[nownote];
+      track = (int) ((templong >> 8) & 15);
+      if ((templong & 192) == 0)
+      {
+        i = 0;
 
-	      while ((i < numchans) &&
-		     ((chanfreq[i] != (templong&63)) ||
-		      (chantrack[i] != ((templong>>8)&15))))
-					i++;
-				if (i < numchans)
-				{
-					databuf[bufnum] = (char)0; bufnum++;
-					databuf[bufnum] = (unsigned char)(0xb0+i); bufnum++;
-					databuf[bufnum] = (unsigned char)((adlibfreq[templong&63]>>8)&223); bufnum++;
-					chanfreq[i] = 0;
-					chanage[i] = 0;
-				}
-			}
-			else
-			{
-				volevel = trvol[track];
-				if ((templong&192) == 128)
-				{
-					volevel -= 4;
-					if (volevel < 0)
-						volevel = 0;
-				}
-				if ((templong&192) == 192)
-				{
-					volevel += 4;
-					if (volevel > 63)
-						volevel = 63;
-				}
-				if (track < 11)
-				{
-					temp = 0;
-					i = numchans;
-					for(j=0;j<numchans;j++)
-						if ((countstop - chanage[j] >= temp) && (chantrack[j] == track))
-						{
-							temp = countstop - chanage[j];
-							i = j;
-						}
-					if (i < numchans)
-					{
-						databuf[bufnum] = (char)0, bufnum++;
-						databuf[bufnum] = (unsigned char)(0xb0+i); bufnum++;
-						databuf[bufnum] = (unsigned char)0; bufnum++;
-						volval = (inst[trinst[track]][1]&192)+(volevel^63);
-						databuf[bufnum] = (char)0, bufnum++;
-						databuf[bufnum] = (unsigned char)(0x40+op_table[i]+3); bufnum++;
-						databuf[bufnum] = (unsigned char)volval; bufnum++;
-						databuf[bufnum] = (char)0, bufnum++;
-						databuf[bufnum] = (unsigned char)(0xa0+i); bufnum++;
-						databuf[bufnum] = (unsigned char)(adlibfreq[templong&63]&255); bufnum++;
-						databuf[bufnum] = (char)0, bufnum++;
-						databuf[bufnum] = (unsigned char)(0xb0+i); bufnum++;
-						databuf[bufnum] = (unsigned char)((adlibfreq[templong&63]>>8)|32); bufnum++;
-						chanfreq[i] = templong&63;
-						chanage[i] = countstop;
-					}
-				}
-				else if ((drumstat&32) > 0)
-				{
-					freq = adlibfreq[templong&63];
-					switch(track)
-					{
-						case 11: drumnum = 16; chan = 6; freq -= 2048; break;
-						case 12: drumnum = 8; chan = 7; freq -= 2048; break;
-						case 13: drumnum = 4; chan = 8; break;
-						case 14: drumnum = 2; chan = 8; break;
-						case 15: drumnum = 1; chan = 7; freq -= 2048; break;
-					}
-					databuf[bufnum] = (char)0, bufnum++;
-					databuf[bufnum] = (unsigned char)(0xa0+chan); bufnum++;
-					databuf[bufnum] = (unsigned char)(freq&255); bufnum++;
-					databuf[bufnum] = (char)0, bufnum++;
-					databuf[bufnum] = (unsigned char)(0xb0+chan); bufnum++;
-					databuf[bufnum] = (unsigned char)((freq>>8)&223); bufnum++;
-					databuf[bufnum] = (char)0, bufnum++;
-					databuf[bufnum] = (unsigned char)(0xbd); bufnum++;
-					databuf[bufnum] = (unsigned char)(drumstat&(255-drumnum)); bufnum++;
-					drumstat |= drumnum;
-					if ((track == 11) || (track == 12) || (track == 14))
-					{
-						volval = (inst[trinst[track]][1]&192)+(volevel^63);
-						databuf[bufnum] = (char)0, bufnum++;
-						databuf[bufnum] = (unsigned char)(0x40+op_table[chan]+3); bufnum++;
-						databuf[bufnum] = (unsigned char)(volval); bufnum++;
-					}
-					else
-					{
-						volval = (inst[trinst[track]][6]&192)+(volevel^63);
-						databuf[bufnum] = (char)0, bufnum++;
-						databuf[bufnum] = (unsigned char)(0x40+op_table[chan]); bufnum++;
-						databuf[bufnum] = (unsigned char)(volval); bufnum++;
-					}
-					databuf[bufnum] = (char)0, bufnum++;
-					databuf[bufnum] = (unsigned char)(0xbd); bufnum++;
-					databuf[bufnum] = (unsigned char)(drumstat); bufnum++;
-				}
-			}
-			nownote++;
-			if (nownote >= numnotes) {
-				nownote = 0;
-				songend = true;
-			}
-			templong = note[nownote];
-			if (nownote == 0)
-				count = (templong>>12)-1;
-			quanter = (240/trquant[(templong>>8)&15]);
-			countstop = (((templong>>12)+(quanter>>1)) / quanter) * quanter;
-		}
-		for(i=0;i<bufnum;i+=3)
-			opl->write(databuf[i+1],databuf[i+2]);
-	}
-	return !songend;
+        while ((i < numchans) &&
+               ((chanfreq[i] != (templong & 63)) ||
+                (chantrack[i] != ((templong >> 8) & 15))))
+          i++;
+        if (i < numchans)
+        {
+          databuf[bufnum] = (char) 0;
+          bufnum++;
+          databuf[bufnum] = (unsigned char) (0xb0 + i);
+          bufnum++;
+          databuf[bufnum] =
+            (unsigned char) ((adlibfreq[templong & 63] >> 8) & 223);
+          bufnum++;
+          chanfreq[i] = 0;
+          chanage[i] = 0;
+        }
+      }
+      else
+      {
+        volevel = trvol[track];
+        if ((templong & 192) == 128)
+        {
+          volevel -= 4;
+          if (volevel < 0)
+            volevel = 0;
+        }
+        if ((templong & 192) == 192)
+        {
+          volevel += 4;
+          if (volevel > 63)
+            volevel = 63;
+        }
+        if (track < 11)
+        {
+          temp = 0;
+          i = numchans;
+          for (j = 0; j < numchans; j++)
+            if ((countstop - chanage[j] >= temp) && (chantrack[j] == track))
+            {
+              temp = countstop - chanage[j];
+              i = j;
+            }
+          if (i < numchans)
+          {
+            databuf[bufnum] = (char) 0, bufnum++;
+            databuf[bufnum] = (unsigned char) (0xb0 + i);
+            bufnum++;
+            databuf[bufnum] = (unsigned char) 0;
+            bufnum++;
+            volval = (inst[trinst[track]][1] & 192) + (volevel ^ 63);
+            databuf[bufnum] = (char) 0, bufnum++;
+            databuf[bufnum] = (unsigned char) (0x40 + op_table[i] + 3);
+            bufnum++;
+            databuf[bufnum] = (unsigned char) volval;
+            bufnum++;
+            databuf[bufnum] = (char) 0, bufnum++;
+            databuf[bufnum] = (unsigned char) (0xa0 + i);
+            bufnum++;
+            databuf[bufnum] =
+              (unsigned char) (adlibfreq[templong & 63] & 255);
+            bufnum++;
+            databuf[bufnum] = (char) 0, bufnum++;
+            databuf[bufnum] = (unsigned char) (0xb0 + i);
+            bufnum++;
+            databuf[bufnum] =
+              (unsigned char) ((adlibfreq[templong & 63] >> 8) | 32);
+            bufnum++;
+            chanfreq[i] = templong & 63;
+            chanage[i] = countstop;
+          }
+        }
+        else if ((drumstat & 32) > 0)
+        {
+          freq = adlibfreq[templong & 63];
+          switch (track)
+          {
+          case 11:
+            drumnum = 16;
+            chan = 6;
+            freq -= 2048;
+            break;
+          case 12:
+            drumnum = 8;
+            chan = 7;
+            freq -= 2048;
+            break;
+          case 13:
+            drumnum = 4;
+            chan = 8;
+            break;
+          case 14:
+            drumnum = 2;
+            chan = 8;
+            break;
+          case 15:
+            drumnum = 1;
+            chan = 7;
+            freq -= 2048;
+            break;
+          }
+          databuf[bufnum] = (char) 0, bufnum++;
+          databuf[bufnum] = (unsigned char) (0xa0 + chan);
+          bufnum++;
+          databuf[bufnum] = (unsigned char) (freq & 255);
+          bufnum++;
+          databuf[bufnum] = (char) 0, bufnum++;
+          databuf[bufnum] = (unsigned char) (0xb0 + chan);
+          bufnum++;
+          databuf[bufnum] = (unsigned char) ((freq >> 8) & 223);
+          bufnum++;
+          databuf[bufnum] = (char) 0, bufnum++;
+          databuf[bufnum] = (unsigned char) (0xbd);
+          bufnum++;
+          databuf[bufnum] = (unsigned char) (drumstat & (255 - drumnum));
+          bufnum++;
+          drumstat |= drumnum;
+          if ((track == 11) || (track == 12) || (track == 14))
+          {
+            volval = (inst[trinst[track]][1] & 192) + (volevel ^ 63);
+            databuf[bufnum] = (char) 0, bufnum++;
+            databuf[bufnum] = (unsigned char) (0x40 + op_table[chan] + 3);
+            bufnum++;
+            databuf[bufnum] = (unsigned char) (volval);
+            bufnum++;
+          }
+          else
+          {
+            volval = (inst[trinst[track]][6] & 192) + (volevel ^ 63);
+            databuf[bufnum] = (char) 0, bufnum++;
+            databuf[bufnum] = (unsigned char) (0x40 + op_table[chan]);
+            bufnum++;
+            databuf[bufnum] = (unsigned char) (volval);
+            bufnum++;
+          }
+          databuf[bufnum] = (char) 0, bufnum++;
+          databuf[bufnum] = (unsigned char) (0xbd);
+          bufnum++;
+          databuf[bufnum] = (unsigned char) (drumstat);
+          bufnum++;
+        }
+      }
+      nownote++;
+      if (nownote >= numnotes)
+      {
+        nownote = 0;
+        songend = true;
+      }
+      templong = note[nownote];
+      if (nownote == 0)
+        count = (templong >> 12) - 1;
+      quanter = (240 / trquant[(templong >> 8) & 15]);
+      countstop = (((templong >> 12) + (quanter >> 1)) / quanter) * quanter;
+    }
+    for (i = 0; i < bufnum; i += 3)
+      opl->write (databuf[i + 1], databuf[i + 2]);
+  }
+  return !songend;
 }
 
-void CksmPlayer::rewind(int subsong)
+void
+CksmPlayer::rewind (int subsong)
 {
-	unsigned int i,j,k;
-	unsigned char instbuf[11];
-	unsigned long templong;
-
-	songend = false;
-	opl->init(); opl->write(1,32); opl->write(4,0); opl->write(8,0); opl->write(0xbd,drumstat);
+  unsigned int i, j, k;
+  unsigned char instbuf[11];
+  unsigned long templong;
 
-	if (trchan[11] == 1) {
-	  for(i=0;i<11;i++)
-	    instbuf[i] = inst[trinst[11]][i];
-	  instbuf[1] = ((instbuf[1]&192)|(trvol[11])^63);
-	  setinst(6,instbuf[0],instbuf[1],instbuf[2],instbuf[3],instbuf[4],instbuf[5],instbuf[6],instbuf[7],instbuf[8],instbuf[9],instbuf[10]);
-	  for(i=0;i<5;i++)
-	    instbuf[i] = inst[trinst[12]][i];
-	  for(i=5;i<11;i++)
-	    instbuf[i] = inst[trinst[15]][i];
-	  instbuf[1] = ((instbuf[1]&192)|(trvol[12])^63);
-	  instbuf[6] = ((instbuf[6]&192)|(trvol[15])^63);
-	  setinst(7,instbuf[0],instbuf[1],instbuf[2],instbuf[3],instbuf[4],instbuf[5],instbuf[6],instbuf[7],instbuf[8],instbuf[9],instbuf[10]);
-	  for(i=0;i<5;i++)
-	    instbuf[i] = inst[trinst[14]][i];
-	  for(i=5;i<11;i++)
-	    instbuf[i] = inst[trinst[13]][i];
-	  instbuf[1] = ((instbuf[1]&192)|(trvol[14])^63);
-	  instbuf[6] = ((instbuf[6]&192)|(trvol[13])^63);
-	  setinst(8,instbuf[0],instbuf[1],instbuf[2],instbuf[3],instbuf[4],instbuf[5],instbuf[6],instbuf[7],instbuf[8],instbuf[9],instbuf[10]);
-	}
+  songend = false;
+  opl->init ();
+  opl->write (1, 32);
+  opl->write (4, 0);
+  opl->write (8, 0);
+  opl->write (0xbd, drumstat);
 
-	for(i=0;i<numchans;i++)
-	{
-		chantrack[i] = 0;
-		chanage[i] = 0;
-	}
-	j = 0;
-	for(i=0;i<16;i++)
-		if ((trchan[i] > 0) && (j < numchans))
-		{
-			k = trchan[i];
-			while ((j < numchans) && (k > 0))
-			{
-				chantrack[j] = i;
-				k--;
-				j++;
-			}
-		}
-	for(i=0;i<numchans;i++)
-	{
-		for(j=0;j<11;j++)
-			instbuf[j] = inst[trinst[chantrack[i]]][j];
-		instbuf[1] = ((instbuf[1]&192)|(63-trvol[chantrack[i]]));
-		setinst(i,instbuf[0],instbuf[1],instbuf[2],instbuf[3],instbuf[4],instbuf[5],instbuf[6],instbuf[7],instbuf[8],instbuf[9],instbuf[10]);
-		chanfreq[i] = 0;
-	}
-	k = 0;
-	templong = *note;
-	count = (templong>>12)-1;
-	countstop = (templong>>12)-1;
-	nownote = 0;
+  if (trchan[11] == 1)
+  {
+    for (i = 0; i < 11; i++)
+      instbuf[i] = inst[trinst[11]][i];
+    instbuf[1] = ((instbuf[1] & 192) | (trvol[11]) ^ 63);
+    setinst (6, instbuf[0], instbuf[1], instbuf[2], instbuf[3], instbuf[4],
+             instbuf[5], instbuf[6], instbuf[7], instbuf[8], instbuf[9],
+             instbuf[10]);
+    for (i = 0; i < 5; i++)
+      instbuf[i] = inst[trinst[12]][i];
+    for (i = 5; i < 11; i++)
+      instbuf[i] = inst[trinst[15]][i];
+    instbuf[1] = ((instbuf[1] & 192) | (trvol[12]) ^ 63);
+    instbuf[6] = ((instbuf[6] & 192) | (trvol[15]) ^ 63);
+    setinst (7, instbuf[0], instbuf[1], instbuf[2], instbuf[3], instbuf[4],
+             instbuf[5], instbuf[6], instbuf[7], instbuf[8], instbuf[9],
+             instbuf[10]);
+    for (i = 0; i < 5; i++)
+      instbuf[i] = inst[trinst[14]][i];
+    for (i = 5; i < 11; i++)
+      instbuf[i] = inst[trinst[13]][i];
+    instbuf[1] = ((instbuf[1] & 192) | (trvol[14]) ^ 63);
+    instbuf[6] = ((instbuf[6] & 192) | (trvol[13]) ^ 63);
+    setinst (8, instbuf[0], instbuf[1], instbuf[2], instbuf[3], instbuf[4],
+             instbuf[5], instbuf[6], instbuf[7], instbuf[8], instbuf[9],
+             instbuf[10]);
+  }
+
+  for (i = 0; i < numchans; i++)
+  {
+    chantrack[i] = 0;
+    chanage[i] = 0;
+  }
+  j = 0;
+  for (i = 0; i < 16; i++)
+    if ((trchan[i] > 0) && (j < numchans))
+    {
+      k = trchan[i];
+      while ((j < numchans) && (k > 0))
+      {
+        chantrack[j] = i;
+        k--;
+        j++;
+      }
+    }
+  for (i = 0; i < numchans; i++)
+  {
+    for (j = 0; j < 11; j++)
+      instbuf[j] = inst[trinst[chantrack[i]]][j];
+    instbuf[1] = ((instbuf[1] & 192) | (63 - trvol[chantrack[i]]));
+    setinst (i, instbuf[0], instbuf[1], instbuf[2], instbuf[3], instbuf[4],
+             instbuf[5], instbuf[6], instbuf[7], instbuf[8], instbuf[9],
+             instbuf[10]);
+    chanfreq[i] = 0;
+  }
+  k = 0;
+  templong = *note;
+  count = (templong >> 12) - 1;
+  countstop = (templong >> 12) - 1;
+  nownote = 0;
 }
 
-std::string CksmPlayer::getinstrument(unsigned int n)
+std::string CksmPlayer::getinstrument (unsigned int n)
 {
-	if(trchan[n])
-		return std::string(instname[trinst[n]]);
-	else
-		return std::string();
+  if (trchan[n])
+    return std::string (instname[trinst[n]]);
+  else
+    return std::string ();
 }
 
 /*** private methods *************************************/
 
-void CksmPlayer::loadinsts(binistream *f)
+void
+CksmPlayer::loadinsts (binistream * f)
 {
   int i, j;
 
-  for(i = 0; i < 256; i++) {
-    f->readString(instname[i], 20);
-    for(j = 0; j < 11; j++) inst[i][j] = f->readInt(1);
-    f->ignore(2);
+  for (i = 0; i < 256; i++)
+  {
+    f->readString (instname[i], 20);
+    for (j = 0; j < 11; j++)
+      inst[i][j] = f->readInt (1);
+    f->ignore (2);
   }
 }
 
-void CksmPlayer::setinst(int chan,
-			 unsigned char v0,unsigned char v1,unsigned char v2,
-			 unsigned char v3,unsigned char v4,unsigned char v5,
-			 unsigned char v6,unsigned char v7,unsigned char v8,
-			 unsigned char v9,unsigned char v10)
+void
+CksmPlayer::setinst (int chan,
+                     unsigned char v0, unsigned char v1, unsigned char v2,
+                     unsigned char v3, unsigned char v4, unsigned char v5,
+                     unsigned char v6, unsigned char v7, unsigned char v8,
+                     unsigned char v9, unsigned char v10)
 {
-	int offs;
+  int offs;
 
-	opl->write(0xa0+chan,0);
-	opl->write(0xb0+chan,0);
-	opl->write(0xc0+chan,v10);
-	offs = op_table[chan];
-	opl->write(0x20+offs,v5);
-	opl->write(0x40+offs,v6);
-	opl->write(0x60+offs,v7);
-	opl->write(0x80+offs,v8);
-	opl->write(0xe0+offs,v9);
-	offs+=3;
-	opl->write(0x20+offs,v0);
-	opl->write(0x40+offs,v1);
-	opl->write(0x60+offs,v2);
-	opl->write(0x80+offs,v3);
-	opl->write(0xe0+offs,v4);
+  opl->write (0xa0 + chan, 0);
+  opl->write (0xb0 + chan, 0);
+  opl->write (0xc0 + chan, v10);
+  offs = op_table[chan];
+  opl->write (0x20 + offs, v5);
+  opl->write (0x40 + offs, v6);
+  opl->write (0x60 + offs, v7);
+  opl->write (0x80 + offs, v8);
+  opl->write (0xe0 + offs, v9);
+  offs += 3;
+  opl->write (0x20 + offs, v0);
+  opl->write (0x40 + offs, v1);
+  opl->write (0x60 + offs, v2);
+  opl->write (0x80 + offs, v3);
+  opl->write (0xe0 + offs, v4);
 }
--- a/src/adplug/core/lds.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/lds.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -25,7 +25,8 @@
 #include "debug.h"
 
 // Note frequency table (16 notes / octave)
-const unsigned short CldsPlayer::frequency[] = {
+const unsigned short
+  CldsPlayer::frequency[] = {
   343, 344, 345, 347, 348, 349, 350, 352, 353, 354, 356, 357, 358,
   359, 361, 362, 363, 365, 366, 367, 369, 370, 371, 373, 374, 375,
   377, 378, 379, 381, 382, 384, 385, 386, 388, 389, 391, 392, 393,
@@ -44,7 +45,8 @@
 };
 
 // Vibrato (sine) table
-const unsigned char CldsPlayer::vibtab[] = {
+const unsigned char
+  CldsPlayer::vibtab[] = {
   0, 13, 25, 37, 50, 62, 74, 86, 98, 109, 120, 131, 142, 152, 162,
   171, 180, 189, 197, 205, 212, 219, 225, 231, 236, 240, 244, 247,
   250, 252, 254, 255, 255, 255, 254, 252, 250, 247, 244, 240, 236,
@@ -53,7 +55,8 @@
 };
 
 // Tremolo (sine * sine) table
-const unsigned char CldsPlayer::tremtab[] = {
+const unsigned char
+  CldsPlayer::tremtab[] = {
   0, 0, 1, 1, 2, 4, 5, 7, 10, 12, 15, 18, 21, 25, 29, 33, 37, 42, 47,
   52, 57, 62, 67, 73, 79, 85, 90, 97, 103, 109, 115, 121, 128, 134,
   140, 146, 152, 158, 165, 170, 176, 182, 188, 193, 198, 203, 208,
@@ -67,509 +70,618 @@
 
 // 'maxsound' is maximum number of patches (instruments)
 // 'maxpos' is maximum number of entries in position list (orderlist)
-const unsigned short CldsPlayer::maxsound = 0x3f, CldsPlayer::maxpos = 0xff;
+const unsigned short
+  CldsPlayer::maxsound = 0x3f, CldsPlayer::maxpos = 0xff;
 
 /*** public methods *************************************/
 
-CldsPlayer::CldsPlayer(Copl *newopl)
-  : CPlayer(newopl), soundbank(0), positions(0), patterns(0)
+CldsPlayer::CldsPlayer (Copl * newopl):CPlayer (newopl), soundbank (0), positions (0),
+patterns (0)
 {
 }
 
-CldsPlayer::~CldsPlayer()
+CldsPlayer::~CldsPlayer ()
 {
-  if(soundbank) delete [] soundbank;
-  if(positions) delete [] positions;
-  if(patterns) delete [] patterns;
+  if (soundbank)
+    delete[]soundbank;
+  if (positions)
+    delete[]positions;
+  if (patterns)
+    delete[]patterns;
 }
 
-bool CldsPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CldsPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream	*f;
-  unsigned int	i, j;
-  SoundBank	*sb;
-  std::string   filename(fd->uri);
+  binistream *f;
+  unsigned int i, j;
+  SoundBank *sb;
+  std::string filename (fd->uri);
 
   // file validation section (actually just an extension check)
-  f = fp.open(fd); if(!f) return false;
-  if(!fp.extension(filename, ".lds")) return false;
+  f = fp.open (fd);
+  if (!f)
+    return false;
+  if (!fp.extension (filename, ".lds"))
+    return false;
 
   // file load section (header)
-  mode = f->readInt(1);
-  if(mode > 2) { fp.close(f); return false; }
-  speed = f->readInt(2);
-  tempo = f->readInt(1);
-  pattlen = f->readInt(1);
-  for(i = 0; i < 9; i++) chandelay[i] = f->readInt(1);
-  regbd = f->readInt(1);
+  mode = f->readInt (1);
+  if (mode > 2)
+  {
+    fp.close (f);
+    return false;
+  }
+  speed = f->readInt (2);
+  tempo = f->readInt (1);
+  pattlen = f->readInt (1);
+  for (i = 0; i < 9; i++)
+    chandelay[i] = f->readInt (1);
+  regbd = f->readInt (1);
 
   // load patches
-  numpatch = f->readInt(2);
+  numpatch = f->readInt (2);
   soundbank = new SoundBank[numpatch];
-  for(i = 0; i < numpatch; i++) {
+  for (i = 0; i < numpatch; i++)
+  {
     sb = &soundbank[i];
-    sb->mod_misc = f->readInt(1); sb->mod_vol = f->readInt(1);
-    sb->mod_ad = f->readInt(1); sb->mod_sr = f->readInt(1);
-    sb->mod_wave = f->readInt(1); sb->car_misc = f->readInt(1);
-    sb->car_vol = f->readInt(1); sb->car_ad = f->readInt(1);
-    sb->car_sr = f->readInt(1); sb->car_wave = f->readInt(1);
-    sb->feedback = f->readInt(1); sb->keyoff = f->readInt(1);
-    sb->portamento = f->readInt(1); sb->glide = f->readInt(1);
-    sb->finetune = f->readInt(1); sb->vibrato = f->readInt(1);
-    sb->vibdelay = f->readInt(1); sb->mod_trem = f->readInt(1);
-    sb->car_trem = f->readInt(1); sb->tremwait = f->readInt(1);
-    sb->arpeggio = f->readInt(1);
-    for(j = 0; j < 12; j++) sb->arp_tab[j] = f->readInt(1);
-    sb->start = f->readInt(2); sb->size = f->readInt(2);
-    sb->fms = f->readInt(1); sb->transp = f->readInt(2);
-    sb->midinst = f->readInt(1); sb->midvelo = f->readInt(1);
-    sb->midkey = f->readInt(1); sb->midtrans = f->readInt(1);
-    sb->middum1 = f->readInt(1); sb->middum2 = f->readInt(1);
+    sb->mod_misc = f->readInt (1);
+    sb->mod_vol = f->readInt (1);
+    sb->mod_ad = f->readInt (1);
+    sb->mod_sr = f->readInt (1);
+    sb->mod_wave = f->readInt (1);
+    sb->car_misc = f->readInt (1);
+    sb->car_vol = f->readInt (1);
+    sb->car_ad = f->readInt (1);
+    sb->car_sr = f->readInt (1);
+    sb->car_wave = f->readInt (1);
+    sb->feedback = f->readInt (1);
+    sb->keyoff = f->readInt (1);
+    sb->portamento = f->readInt (1);
+    sb->glide = f->readInt (1);
+    sb->finetune = f->readInt (1);
+    sb->vibrato = f->readInt (1);
+    sb->vibdelay = f->readInt (1);
+    sb->mod_trem = f->readInt (1);
+    sb->car_trem = f->readInt (1);
+    sb->tremwait = f->readInt (1);
+    sb->arpeggio = f->readInt (1);
+    for (j = 0; j < 12; j++)
+      sb->arp_tab[j] = f->readInt (1);
+    sb->start = f->readInt (2);
+    sb->size = f->readInt (2);
+    sb->fms = f->readInt (1);
+    sb->transp = f->readInt (2);
+    sb->midinst = f->readInt (1);
+    sb->midvelo = f->readInt (1);
+    sb->midkey = f->readInt (1);
+    sb->midtrans = f->readInt (1);
+    sb->middum1 = f->readInt (1);
+    sb->middum2 = f->readInt (1);
   }
 
   // load positions
-  numposi = f->readInt(2);
+  numposi = f->readInt (2);
   positions = new Position[9 * numposi];
-  for(i = 0; i < numposi; i++)
-    for(j = 0; j < 9; j++) {
+  for (i = 0; i < numposi; i++)
+    for (j = 0; j < 9; j++)
+    {
       /*
        * patnum is a pointer inside the pattern space, but patterns are 16bit
        * word fields anyway, so it ought to be an even number (hopefully) and
        * we can just divide it by 2 to get our array index of 16bit words.
        */
-      positions[i * 9 + j].patnum = f->readInt(2) / 2;
-      positions[i * 9 + j].transpose = f->readInt(1);
+      positions[i * 9 + j].patnum = f->readInt (2) / 2;
+      positions[i * 9 + j].transpose = f->readInt (1);
     }
 
-  AdPlug_LogWrite("CldsPlayer::load(\"%s\",fp): loading LOUDNESS file: mode = "
-		  "%d, pattlen = %d, numpatch = %d, numposi = %d\n",
-		  filename.c_str(), mode, pattlen, numpatch, numposi);
+  AdPlug_LogWrite
+    ("CldsPlayer::load(\"%s\",fp): loading LOUDNESS file: mode = "
+     "%d, pattlen = %d, numpatch = %d, numposi = %d\n", filename.c_str (),
+     mode, pattlen, numpatch, numposi);
 
   // load patterns
-  f->ignore(2);		// ignore # of digital sounds (not played by this player)
-  patterns = new unsigned short[(fp.filesize(f) - f->pos()) / 2 + 1];
-  for(i = 0; !f->eof(); i++)
-    patterns[i] = f->readInt(2);
+  f->ignore (2);                // ignore # of digital sounds (not played by this player)
+  patterns = new unsigned short[(fp.filesize (f) - f->pos ()) / 2 + 1];
+  for (i = 0; !f->eof (); i++)
+    patterns[i] = f->readInt (2);
 
-  fp.close(f);
-  rewind(0);
+  fp.close (f);
+  rewind (0);
   return true;
 }
 
-bool CldsPlayer::update()
+bool
+CldsPlayer::update ()
 {
-  unsigned short	comword, freq, octave, chan, tune, wibc, tremc, arpreg;
-  bool			vbreak;
-  unsigned char		level, regnum, comhi, comlo;
-  int			i;
-  Channel		*c;
+  unsigned short comword, freq, octave, chan, tune, wibc, tremc, arpreg;
+  bool vbreak;
+  unsigned char level, regnum, comhi, comlo;
+  int i;
+  Channel *c;
 
-  if(!playing) return false;
+  if (!playing)
+    return false;
 
   // handle fading
-  if(fadeonoff)
-    if(fadeonoff <= 128) {
-      if(allvolume > fadeonoff || allvolume == 0)
-	allvolume -= fadeonoff;
-      else {
-	allvolume = 1;
-	fadeonoff = 0;
-	if(hardfade != 0) {
-	  playing = false;
-	  hardfade = 0;
-	  for(i = 0; i < 9; i++)
-	    channel[i].keycount = 1;
-	}
+  if (fadeonoff)
+    if (fadeonoff <= 128)
+    {
+      if (allvolume > fadeonoff || allvolume == 0)
+        allvolume -= fadeonoff;
+      else
+      {
+        allvolume = 1;
+        fadeonoff = 0;
+        if (hardfade != 0)
+        {
+          playing = false;
+          hardfade = 0;
+          for (i = 0; i < 9; i++)
+            channel[i].keycount = 1;
+        }
       }
-    } else
-      if((unsigned int)((allvolume + (0x100 - fadeonoff)) & 0xff) <= mainvolume)
-	allvolume += 0x100 - fadeonoff;
-      else {
-	allvolume = mainvolume;
-	fadeonoff = 0;
-      }
+    }
+    else
+      if ((unsigned int) ((allvolume + (0x100 - fadeonoff)) & 0xff) <=
+          mainvolume)
+      allvolume += 0x100 - fadeonoff;
+    else
+    {
+      allvolume = mainvolume;
+      fadeonoff = 0;
+    }
 
   // handle channel delay
-  for(chan = 0; chan < 9; chan++) {
+  for (chan = 0; chan < 9; chan++)
+  {
     c = &channel[chan];
-    if(c->chancheat.chandelay)
-      if(!(--c->chancheat.chandelay))
-	playsound(c->chancheat.sound, chan, c->chancheat.high);
+    if (c->chancheat.chandelay)
+      if (!(--c->chancheat.chandelay))
+        playsound (c->chancheat.sound, chan, c->chancheat.high);
   }
 
   // handle notes
-  if(!tempo_now) {
+  if (!tempo_now)
+  {
     vbreak = false;
-    for(chan = 0; chan < 9; chan++) {
+    for (chan = 0; chan < 9; chan++)
+    {
       c = &channel[chan];
-      if(!c->packwait) {
-	unsigned short	patnum = positions[posplay * 9 + chan].patnum;
-	unsigned char	transpose = positions[posplay * 9 + chan].transpose;
+      if (!c->packwait)
+      {
+        unsigned short patnum = positions[posplay * 9 + chan].patnum;
+        unsigned char transpose = positions[posplay * 9 + chan].transpose;
 
-	comword = patterns[patnum + c->packpos];
-	comhi = comword >> 8; comlo = comword & 0xff;
-	if(comword)
-	  if(comhi == 0x80)
-	    c->packwait = comlo;
-	  else
-	    if(comhi >= 0x80) {
-	      switch(comhi) {
-	      case 0xff:
-		c->volcar = (((c->volcar & 0x3f) * comlo) >> 6) & 0x3f;
-		if(fmchip[0xc0 + chan] & 1)
-		  c->volmod = (((c->volmod & 0x3f) * comlo) >> 6) & 0x3f;
-		break;
-	      case 0xfe:
-		tempo = comword & 0x3f;
-		break;
-	      case 0xfd:
-		c->nextvol = comlo;
-		break;
-	      case 0xfc:
-		playing = false;
-		// in real player there's also full keyoff here, but we don't need it
-		break;
-	      case 0xfb:
-		c->keycount = 1;
-		break;
-	      case 0xfa:
-		vbreak = true;
-		jumppos = (posplay + 1) & maxpos;
-		break;
-	      case 0xf9:
-		vbreak = true;
-		jumppos = comlo & maxpos;
-		jumping = 1;
-		if(jumppos < posplay) songlooped = true;
-		break;
-	      case 0xf8:
-		c->lasttune = 0;
-		break;
-	      case 0xf7:
-		c->vibwait = 0;
-		// PASCAL: c->vibspeed = ((comlo >> 4) & 15) + 2;
-		c->vibspeed = (comlo >> 4) + 2;
-		c->vibrate = (comlo & 15) + 1;
-		break;
-	      case 0xf6:
-		c->glideto = comlo;
-		break;
-	      case 0xf5:
-		c->finetune = comlo;
-		break;
-	      case 0xf4:
-		if(!hardfade) {
-		  allvolume = mainvolume = comlo;
-		  fadeonoff = 0;
-		}
-		break;
-	      case 0xf3:
-		if(!hardfade) fadeonoff = comlo;
-		break;
-	      case 0xf2:
-		c->trmstay = comlo;
-		break;
-	      case 0xf1:	// panorama
-	      case 0xf0:	// progch
-		// MIDI commands (unhandled)
-		AdPlug_LogWrite("CldsPlayer(): not handling MIDI command 0x%x, "
-				"value = 0x%x\n", comhi);
-		break;
-	      default:
-		if(comhi < 0xa0)
-		  c->glideto = comhi & 0x1f;
-		else
-		  AdPlug_LogWrite("CldsPlayer(): unknown command 0x%x encountered!"
-				  " value = 0x%x\n", comhi, comlo);
-		break;
-	      }
-	    } else {
-	      unsigned char	sound;
-	      unsigned short	high;
-	      signed char	transp = transpose & 127;
+        comword = patterns[patnum + c->packpos];
+        comhi = comword >> 8;
+        comlo = comword & 0xff;
+        if (comword)
+          if (comhi == 0x80)
+            c->packwait = comlo;
+          else if (comhi >= 0x80)
+          {
+            switch (comhi)
+            {
+            case 0xff:
+              c->volcar = (((c->volcar & 0x3f) * comlo) >> 6) & 0x3f;
+              if (fmchip[0xc0 + chan] & 1)
+                c->volmod = (((c->volmod & 0x3f) * comlo) >> 6) & 0x3f;
+              break;
+            case 0xfe:
+              tempo = comword & 0x3f;
+              break;
+            case 0xfd:
+              c->nextvol = comlo;
+              break;
+            case 0xfc:
+              playing = false;
+              // in real player there's also full keyoff here, but we don't need it
+              break;
+            case 0xfb:
+              c->keycount = 1;
+              break;
+            case 0xfa:
+              vbreak = true;
+              jumppos = (posplay + 1) & maxpos;
+              break;
+            case 0xf9:
+              vbreak = true;
+              jumppos = comlo & maxpos;
+              jumping = 1;
+              if (jumppos < posplay)
+                songlooped = true;
+              break;
+            case 0xf8:
+              c->lasttune = 0;
+              break;
+            case 0xf7:
+              c->vibwait = 0;
+              // PASCAL: c->vibspeed = ((comlo >> 4) & 15) + 2;
+              c->vibspeed = (comlo >> 4) + 2;
+              c->vibrate = (comlo & 15) + 1;
+              break;
+            case 0xf6:
+              c->glideto = comlo;
+              break;
+            case 0xf5:
+              c->finetune = comlo;
+              break;
+            case 0xf4:
+              if (!hardfade)
+              {
+                allvolume = mainvolume = comlo;
+                fadeonoff = 0;
+              }
+              break;
+            case 0xf3:
+              if (!hardfade)
+                fadeonoff = comlo;
+              break;
+            case 0xf2:
+              c->trmstay = comlo;
+              break;
+            case 0xf1:         // panorama
+            case 0xf0:         // progch
+              // MIDI commands (unhandled)
+              AdPlug_LogWrite
+                ("CldsPlayer(): not handling MIDI command 0x%x, "
+                 "value = 0x%x\n", comhi);
+              break;
+            default:
+              if (comhi < 0xa0)
+                c->glideto = comhi & 0x1f;
+              else
+                AdPlug_LogWrite
+                  ("CldsPlayer(): unknown command 0x%x encountered!"
+                   " value = 0x%x\n", comhi, comlo);
+              break;
+            }
+          }
+          else
+          {
+            unsigned char sound;
+            unsigned short high;
+            signed char transp = transpose & 127;
 
-	      /*
-	       * Originally, in assembler code, the player first shifted
-	       * logically left the transpose byte by 1 and then shifted
-	       * arithmetically right the same byte to achieve the final,
-	       * signed transpose value. Since we can't do arithmetic shifts
-	       * in C, we just duplicate the 7th bit into the 8th one and
-	       * discard the 8th one completely.
-	       */
+            /*
+             * Originally, in assembler code, the player first shifted
+             * logically left the transpose byte by 1 and then shifted
+             * arithmetically right the same byte to achieve the final,
+             * signed transpose value. Since we can't do arithmetic shifts
+             * in C, we just duplicate the 7th bit into the 8th one and
+             * discard the 8th one completely.
+             */
 
-	      if(transpose & 64) transp |= 128;
-
-	      if(transpose & 128) {
-		sound = (comlo + transp) & maxsound;
-		high = comhi << 4;
-	      } else {
-		sound = comlo & maxsound;
-		high = (comhi + transp) << 4;
-	      }
+            if (transpose & 64)
+              transp |= 128;
 
-	      /*
-		PASCAL:
-	      sound = comlo & maxsound;
-	      high = (comhi + (((transpose + 0x24) & 0xff) - 0x24)) << 4;
-	      */
+            if (transpose & 128)
+            {
+              sound = (comlo + transp) & maxsound;
+              high = comhi << 4;
+            }
+            else
+            {
+              sound = comlo & maxsound;
+              high = (comhi + transp) << 4;
+            }
 
-	      if(!chandelay[chan])
-		playsound(sound, chan, high);
-	      else {
-		c->chancheat.chandelay = chandelay[chan];
-		c->chancheat.sound = sound;
-		c->chancheat.high = high;
-	      }
-	    }
+            /*
+               PASCAL:
+               sound = comlo & maxsound;
+               high = (comhi + (((transpose + 0x24) & 0xff) - 0x24)) << 4;
+             */
 
-	c->packpos++;
-      } else
-	c->packwait--;
+            if (!chandelay[chan])
+              playsound (sound, chan, high);
+            else
+            {
+              c->chancheat.chandelay = chandelay[chan];
+              c->chancheat.sound = sound;
+              c->chancheat.high = high;
+            }
+          }
+
+        c->packpos++;
+      }
+      else
+        c->packwait--;
     }
 
     tempo_now = tempo;
     /*
-      The continue table is updated here, but this is only used in the
-      original player, which can be paused in the middle of a song and then
-      unpaused. Since AdPlug does all this for us automatically, we don't
-      have a continue table here. The continue table update code is noted
-      here for reference only.
+       The continue table is updated here, but this is only used in the
+       original player, which can be paused in the middle of a song and then
+       unpaused. Since AdPlug does all this for us automatically, we don't
+       have a continue table here. The continue table update code is noted
+       here for reference only.
 
-      if(!pattplay) {
-        conttab[speed & maxcont].position = posplay & 0xff;
-        conttab[speed & maxcont].tempo = tempo;
-      }
-    */
+       if(!pattplay) {
+       conttab[speed & maxcont].position = posplay & 0xff;
+       conttab[speed & maxcont].tempo = tempo;
+       }
+     */
     pattplay++;
-    if(vbreak) {
+    if (vbreak)
+    {
       pattplay = 0;
-      for(i = 0; i < 9; i++) channel[i].packpos = channel[i].packwait = 0;
+      for (i = 0; i < 9; i++)
+        channel[i].packpos = channel[i].packwait = 0;
       posplay = jumppos;
-    } else
-      if(pattplay >= pattlen) {
-	pattplay = 0;
-	for(i = 0; i < 9; i++) channel[i].packpos = channel[i].packwait = 0;
-	posplay = (posplay + 1) & maxpos;
-      }
-  } else
+    }
+    else if (pattplay >= pattlen)
+    {
+      pattplay = 0;
+      for (i = 0; i < 9; i++)
+        channel[i].packpos = channel[i].packwait = 0;
+      posplay = (posplay + 1) & maxpos;
+    }
+  }
+  else
     tempo_now--;
 
   // make effects
-  for(chan = 0; chan < 9; chan++) {
+  for (chan = 0; chan < 9; chan++)
+  {
     c = &channel[chan];
     regnum = op_table[chan];
-    if(c->keycount > 0) {
-      if(c->keycount == 1)
-	setregs_adv(0xb0 + chan, 0xdf, 0);
+    if (c->keycount > 0)
+    {
+      if (c->keycount == 1)
+        setregs_adv (0xb0 + chan, 0xdf, 0);
       c->keycount--;
     }
 
     // arpeggio
-    if(c->arp_size == 0)
+    if (c->arp_size == 0)
       arpreg = 0;
-    else {
+    else
+    {
       arpreg = c->arp_tab[c->arp_pos] << 4;
-      if(arpreg == 0x800) {
-	if(c->arp_pos > 0) c->arp_tab[0] = c->arp_tab[c->arp_pos - 1];
-	c->arp_size = 1; c->arp_pos = 0;
-	arpreg = c->arp_tab[0] << 4;
+      if (arpreg == 0x800)
+      {
+        if (c->arp_pos > 0)
+          c->arp_tab[0] = c->arp_tab[c->arp_pos - 1];
+        c->arp_size = 1;
+        c->arp_pos = 0;
+        arpreg = c->arp_tab[0] << 4;
       }
 
-      if(c->arp_count == c->arp_speed) {
-	c->arp_pos++;
-	if(c->arp_pos >= c->arp_size) c->arp_pos = 0;
-	c->arp_count = 0;
-      } else
-	c->arp_count++;
+      if (c->arp_count == c->arp_speed)
+      {
+        c->arp_pos++;
+        if (c->arp_pos >= c->arp_size)
+          c->arp_pos = 0;
+        c->arp_count = 0;
+      }
+      else
+        c->arp_count++;
     }
 
     // glide & portamento
-    if(c->lasttune && (c->lasttune != c->gototune)) {
-      if(c->lasttune > c->gototune) {
-	if(c->lasttune - c->gototune < c->portspeed)
-	  c->lasttune = c->gototune;
-	else
-	  c->lasttune -= c->portspeed;
-      } else {
-	if(c->gototune - c->lasttune < c->portspeed)
-	  c->lasttune = c->gototune;
-	else
-	  c->lasttune += c->portspeed;
+    if (c->lasttune && (c->lasttune != c->gototune))
+    {
+      if (c->lasttune > c->gototune)
+      {
+        if (c->lasttune - c->gototune < c->portspeed)
+          c->lasttune = c->gototune;
+        else
+          c->lasttune -= c->portspeed;
+      }
+      else
+      {
+        if (c->gototune - c->lasttune < c->portspeed)
+          c->lasttune = c->gototune;
+        else
+          c->lasttune += c->portspeed;
       }
 
-      if(arpreg >= 0x800)
-	arpreg = c->lasttune - (arpreg ^ 0xff0) - 16;
+      if (arpreg >= 0x800)
+        arpreg = c->lasttune - (arpreg ^ 0xff0) - 16;
       else
-	arpreg += c->lasttune;
+        arpreg += c->lasttune;
 
       freq = frequency[arpreg % (12 * 16)];
       octave = arpreg / (12 * 16) - 1;
-      setregs(0xa0 + chan, freq & 0xff);
-      setregs_adv(0xb0 + chan, 0x20, ((octave << 2) + (freq >> 8)) & 0xdf);
-    } else {
+      setregs (0xa0 + chan, freq & 0xff);
+      setregs_adv (0xb0 + chan, 0x20, ((octave << 2) + (freq >> 8)) & 0xdf);
+    }
+    else
+    {
       // vibrato
-      if(!c->vibwait) {
-	if(c->vibrate) {
-	  wibc = vibtab[c->vibcount & 0x3f] * c->vibrate;
+      if (!c->vibwait)
+      {
+        if (c->vibrate)
+        {
+          wibc = vibtab[c->vibcount & 0x3f] * c->vibrate;
 
-	  if((c->vibcount & 0x40) == 0)
-	    tune = c->lasttune + (wibc >> 8);
-	  else
-	    tune = c->lasttune - (wibc >> 8);
+          if ((c->vibcount & 0x40) == 0)
+            tune = c->lasttune + (wibc >> 8);
+          else
+            tune = c->lasttune - (wibc >> 8);
 
-	  if(arpreg >= 0x800)
-	    tune = tune - (arpreg ^ 0xff0) - 16;
-	  else
-	    tune += arpreg;
+          if (arpreg >= 0x800)
+            tune = tune - (arpreg ^ 0xff0) - 16;
+          else
+            tune += arpreg;
 
-	  freq = frequency[tune % (12 * 16)];
-	  octave = tune / (12 * 16) - 1;
-	  setregs(0xa0 + chan, freq & 0xff);
-	  setregs_adv(0xb0 + chan, 0x20, ((octave << 2) + (freq >> 8)) & 0xdf);
-	  c->vibcount += c->vibspeed;
-	} else
-	  if(c->arp_size != 0) {	// no vibrato, just arpeggio
-	    if(arpreg >= 0x800)
-	      tune = c->lasttune - (arpreg ^ 0xff0) - 16;
-	    else
-	      tune = c->lasttune + arpreg;
+          freq = frequency[tune % (12 * 16)];
+          octave = tune / (12 * 16) - 1;
+          setregs (0xa0 + chan, freq & 0xff);
+          setregs_adv (0xb0 + chan, 0x20,
+                       ((octave << 2) + (freq >> 8)) & 0xdf);
+          c->vibcount += c->vibspeed;
+        }
+        else if (c->arp_size != 0)
+        {                       // no vibrato, just arpeggio
+          if (arpreg >= 0x800)
+            tune = c->lasttune - (arpreg ^ 0xff0) - 16;
+          else
+            tune = c->lasttune + arpreg;
 
-	    freq = frequency[tune % (12 * 16)];
-	    octave = tune / (12 * 16) - 1;
-	    setregs(0xa0 + chan, freq & 0xff);
-	    setregs_adv(0xb0 + chan, 0x20, ((octave << 2) + (freq >> 8)) & 0xdf);
-	  }
-      } else {	// no vibrato, just arpeggio
-	c->vibwait--;
+          freq = frequency[tune % (12 * 16)];
+          octave = tune / (12 * 16) - 1;
+          setregs (0xa0 + chan, freq & 0xff);
+          setregs_adv (0xb0 + chan, 0x20,
+                       ((octave << 2) + (freq >> 8)) & 0xdf);
+        }
+      }
+      else
+      {                         // no vibrato, just arpeggio
+        c->vibwait--;
 
-	if(c->arp_size != 0) {
-	  if(arpreg >= 0x800)
-	    tune = c->lasttune - (arpreg ^ 0xff0) - 16;
-	  else
-	    tune = c->lasttune + arpreg;
+        if (c->arp_size != 0)
+        {
+          if (arpreg >= 0x800)
+            tune = c->lasttune - (arpreg ^ 0xff0) - 16;
+          else
+            tune = c->lasttune + arpreg;
 
-	  freq = frequency[tune % (12 * 16)];
-	  octave = tune / (12 * 16) - 1;
-	  setregs(0xa0 + chan, freq & 0xff);
-	  setregs_adv(0xb0 + chan, 0x20, ((octave << 2) + (freq >> 8)) & 0xdf);
-	}
+          freq = frequency[tune % (12 * 16)];
+          octave = tune / (12 * 16) - 1;
+          setregs (0xa0 + chan, freq & 0xff);
+          setregs_adv (0xb0 + chan, 0x20,
+                       ((octave << 2) + (freq >> 8)) & 0xdf);
+        }
       }
     }
 
     // tremolo (modulator)
-    if(!c->trmwait) {
-      if(c->trmrate) {
-	tremc = tremtab[c->trmcount & 0x7f] * c->trmrate;
-	if((tremc >> 8) <= (c->volmod & 0x3f))
-	  level = (c->volmod & 0x3f) - (tremc >> 8);
-	else
-	  level = 0;
+    if (!c->trmwait)
+    {
+      if (c->trmrate)
+      {
+        tremc = tremtab[c->trmcount & 0x7f] * c->trmrate;
+        if ((tremc >> 8) <= (c->volmod & 0x3f))
+          level = (c->volmod & 0x3f) - (tremc >> 8);
+        else
+          level = 0;
 
-	if(allvolume != 0 && (fmchip[0xc0 + chan] & 1))
-	  setregs_adv(0x40 + regnum, 0xc0, ((level * allvolume) >> 8) ^ 0x3f);
-	else
-	  setregs_adv(0x40 + regnum, 0xc0, level ^ 0x3f);
+        if (allvolume != 0 && (fmchip[0xc0 + chan] & 1))
+          setregs_adv (0x40 + regnum, 0xc0,
+                       ((level * allvolume) >> 8) ^ 0x3f);
+        else
+          setregs_adv (0x40 + regnum, 0xc0, level ^ 0x3f);
 
-	c->trmcount += c->trmspeed;
-      } else
-	if(allvolume != 0 && (fmchip[0xc0 + chan] & 1))
-	  setregs_adv(0x40 + regnum, 0xc0, ((((c->volmod & 0x3f) * allvolume) >> 8) ^ 0x3f) & 0x3f);
-	else
-	  setregs_adv(0x40 + regnum, 0xc0, (c->volmod ^ 0x3f) & 0x3f);
-    } else {
+        c->trmcount += c->trmspeed;
+      }
+      else if (allvolume != 0 && (fmchip[0xc0 + chan] & 1))
+        setregs_adv (0x40 + regnum, 0xc0,
+                     ((((c->volmod & 0x3f) * allvolume) >> 8) ^ 0x3f) & 0x3f);
+      else
+        setregs_adv (0x40 + regnum, 0xc0, (c->volmod ^ 0x3f) & 0x3f);
+    }
+    else
+    {
       c->trmwait--;
-      if(allvolume != 0 && (fmchip[0xc0 + chan] & 1))
-	setregs_adv(0x40 + regnum, 0xc0, ((((c->volmod & 0x3f) * allvolume) >> 8) ^ 0x3f) & 0x3f);
+      if (allvolume != 0 && (fmchip[0xc0 + chan] & 1))
+        setregs_adv (0x40 + regnum, 0xc0,
+                     ((((c->volmod & 0x3f) * allvolume) >> 8) ^ 0x3f) & 0x3f);
     }
 
     // tremolo (carrier)
-    if(!c->trcwait) {
-      if(c->trcrate) {
-	tremc = tremtab[c->trccount & 0x7f] * c->trcrate;
-	if((tremc >> 8) <= (c->volcar & 0x3f))
-	  level = (c->volcar & 0x3f) - (tremc >> 8);
-	else
-	  level = 0;
+    if (!c->trcwait)
+    {
+      if (c->trcrate)
+      {
+        tremc = tremtab[c->trccount & 0x7f] * c->trcrate;
+        if ((tremc >> 8) <= (c->volcar & 0x3f))
+          level = (c->volcar & 0x3f) - (tremc >> 8);
+        else
+          level = 0;
 
-	if(allvolume != 0)
-	  setregs_adv(0x43 + regnum, 0xc0, ((level * allvolume) >> 8) ^ 0x3f);
-	else
-	  setregs_adv(0x43 + regnum, 0xc0, level ^ 0x3f);
-	c->trccount += c->trcspeed;
-      } else
-	if(allvolume != 0)
-	  setregs_adv(0x43 + regnum, 0xc0, ((((c->volcar & 0x3f) * allvolume) >> 8) ^ 0x3f) & 0x3f);
-	else
-	  setregs_adv(0x43 + regnum, 0xc0, (c->volcar ^ 0x3f) & 0x3f);
-    } else {
+        if (allvolume != 0)
+          setregs_adv (0x43 + regnum, 0xc0,
+                       ((level * allvolume) >> 8) ^ 0x3f);
+        else
+          setregs_adv (0x43 + regnum, 0xc0, level ^ 0x3f);
+        c->trccount += c->trcspeed;
+      }
+      else if (allvolume != 0)
+        setregs_adv (0x43 + regnum, 0xc0,
+                     ((((c->volcar & 0x3f) * allvolume) >> 8) ^ 0x3f) & 0x3f);
+      else
+        setregs_adv (0x43 + regnum, 0xc0, (c->volcar ^ 0x3f) & 0x3f);
+    }
+    else
+    {
       c->trcwait--;
-      if(allvolume != 0)
-	setregs_adv(0x43 + regnum, 0xc0, ((((c->volcar & 0x3f) * allvolume) >> 8) ^ 0x3f) & 0x3f);
+      if (allvolume != 0)
+        setregs_adv (0x43 + regnum, 0xc0,
+                     ((((c->volcar & 0x3f) * allvolume) >> 8) ^ 0x3f) & 0x3f);
     }
   }
 
   return (!playing || songlooped) ? false : true;
 }
 
-void CldsPlayer::rewind(int subsong)
+void
+CldsPlayer::rewind (int subsong)
 {
   int i;
 
   // init all with 0
-  tempo_now = 3; playing = true; songlooped = false;
+  tempo_now = 3;
+  playing = true;
+  songlooped = false;
   jumping = fadeonoff = allvolume = hardfade = pattplay = posplay = jumppos =
     mainvolume = 0;
-  memset(channel, 0, sizeof(channel));
-  memset(fmchip, 0, sizeof(fmchip));
+  memset (channel, 0, sizeof (channel));
+  memset (fmchip, 0, sizeof (fmchip));
 
   // OPL2 init
-  opl->init();				// Reset OPL chip
-  opl->write(1, 0x20);
-  opl->write(8, 0);
-  opl->write(0xbd, regbd);
+  opl->init ();                 // Reset OPL chip
+  opl->write (1, 0x20);
+  opl->write (8, 0);
+  opl->write (0xbd, regbd);
 
-  for(i = 0; i < 9; i++) {
-    opl->write(0x20 + op_table[i], 0);
-    opl->write(0x23 + op_table[i], 0);
-    opl->write(0x40 + op_table[i], 0x3f);
-    opl->write(0x43 + op_table[i], 0x3f);
-    opl->write(0x60 + op_table[i], 0xff);
-    opl->write(0x63 + op_table[i], 0xff);
-    opl->write(0x80 + op_table[i], 0xff);
-    opl->write(0x83 + op_table[i], 0xff);
-    opl->write(0xe0 + op_table[i], 0);
-    opl->write(0xe3 + op_table[i], 0);
-    opl->write(0xa0 + i, 0);
-    opl->write(0xb0 + i, 0);
-    opl->write(0xc0 + i, 0);
+  for (i = 0; i < 9; i++)
+  {
+    opl->write (0x20 + op_table[i], 0);
+    opl->write (0x23 + op_table[i], 0);
+    opl->write (0x40 + op_table[i], 0x3f);
+    opl->write (0x43 + op_table[i], 0x3f);
+    opl->write (0x60 + op_table[i], 0xff);
+    opl->write (0x63 + op_table[i], 0xff);
+    opl->write (0x80 + op_table[i], 0xff);
+    opl->write (0x83 + op_table[i], 0xff);
+    opl->write (0xe0 + op_table[i], 0);
+    opl->write (0xe3 + op_table[i], 0);
+    opl->write (0xa0 + i, 0);
+    opl->write (0xb0 + i, 0);
+    opl->write (0xc0 + i, 0);
   }
 }
 
 /*** private methods *************************************/
 
-void CldsPlayer::playsound(int inst_number, int channel_number, int tunehigh)
+void
+CldsPlayer::playsound (int inst_number, int channel_number, int tunehigh)
 {
-  Channel		*c = &channel[channel_number];		// current channel
-  SoundBank		*i = &soundbank[inst_number];		// current instrument
-  unsigned int		regnum = op_table[channel_number];	// channel's OPL2 register
-  unsigned char		volcalc, octave;
-  unsigned short	freq;
+  Channel *c = &channel[channel_number];    // current channel
+  SoundBank *i = &soundbank[inst_number];   // current instrument
+  unsigned int regnum = op_table[channel_number];   // channel's OPL2 register
+  unsigned char volcalc, octave;
+  unsigned short freq;
 
   // set fine tune
   tunehigh += ((i->finetune + c->finetune + 0x80) & 0xff) - 0x80;
 
   // arpeggio handling
-  if(!i->arpeggio) {
-    unsigned short	arpcalc = i->arp_tab[0] << 4;
+  if (!i->arpeggio)
+  {
+    unsigned short arpcalc = i->arp_tab[0] << 4;
 
-    if(arpcalc > 0x800)
+    if (arpcalc > 0x800)
       tunehigh = tunehigh - (arpcalc ^ 0xff0) - 16;
     else
       tunehigh += arpcalc;
   }
 
   // glide handling
-  if(c->glideto != 0) {
+  if (c->glideto != 0)
+  {
     c->gototune = tunehigh;
     c->portspeed = c->glideto;
     c->glideto = c->finetune = 0;
@@ -577,69 +689,83 @@
   }
 
   // set modulator registers
-  setregs(0x20 + regnum, i->mod_misc);
+  setregs (0x20 + regnum, i->mod_misc);
   volcalc = i->mod_vol;
-  if(!c->nextvol || !(i->feedback & 1))
+  if (!c->nextvol || !(i->feedback & 1))
     c->volmod = volcalc;
   else
     c->volmod = (volcalc & 0xc0) | ((((volcalc & 0x3f) * c->nextvol) >> 6));
 
-  if((i->feedback & 1) == 1 && allvolume != 0)
-    setregs(0x40 + regnum, ((c->volmod & 0xc0) | (((c->volmod & 0x3f) * allvolume) >> 8)) ^ 0x3f);
+  if ((i->feedback & 1) == 1 && allvolume != 0)
+    setregs (0x40 + regnum,
+             ((c->
+               volmod & 0xc0) | (((c->volmod & 0x3f) *
+                                  allvolume) >> 8)) ^ 0x3f);
   else
-    setregs(0x40 + regnum, c->volmod ^ 0x3f);
-  setregs(0x60 + regnum, i->mod_ad);
-  setregs(0x80 + regnum, i->mod_sr);
-  setregs(0xe0 + regnum, i->mod_wave);
+    setregs (0x40 + regnum, c->volmod ^ 0x3f);
+  setregs (0x60 + regnum, i->mod_ad);
+  setregs (0x80 + regnum, i->mod_sr);
+  setregs (0xe0 + regnum, i->mod_wave);
 
   // Set carrier registers
-  setregs(0x23 + regnum, i->car_misc);
+  setregs (0x23 + regnum, i->car_misc);
   volcalc = i->car_vol;
-  if(!c->nextvol)
+  if (!c->nextvol)
     c->volcar = volcalc;
   else
     c->volcar = (volcalc & 0xc0) | ((((volcalc & 0x3f) * c->nextvol) >> 6));
 
-  if(allvolume)
-    setregs(0x43 + regnum, ((c->volcar & 0xc0) | (((c->volcar & 0x3f) * allvolume) >> 8)) ^ 0x3f);
+  if (allvolume)
+    setregs (0x43 + regnum,
+             ((c->
+               volcar & 0xc0) | (((c->volcar & 0x3f) *
+                                  allvolume) >> 8)) ^ 0x3f);
   else
-    setregs(0x43 + regnum, c->volcar ^ 0x3f);
-  setregs(0x63 + regnum, i->car_ad);
-  setregs(0x83 + regnum, i->car_sr);
-  setregs(0xe3 + regnum, i->car_wave);
-  setregs(0xc0 + channel_number, i->feedback);
-  setregs_adv(0xb0 + channel_number, 0xdf, 0);		// key off
+    setregs (0x43 + regnum, c->volcar ^ 0x3f);
+  setregs (0x63 + regnum, i->car_ad);
+  setregs (0x83 + regnum, i->car_sr);
+  setregs (0xe3 + regnum, i->car_wave);
+  setregs (0xc0 + channel_number, i->feedback);
+  setregs_adv (0xb0 + channel_number, 0xdf, 0); // key off
 
   freq = frequency[tunehigh % (12 * 16)];
   octave = tunehigh / (12 * 16) - 1;
-  if(!i->glide) {
-    if(!i->portamento || !c->lasttune) {
-      setregs(0xa0 + channel_number, freq & 0xff);
-      setregs(0xb0 + channel_number, (octave << 2) + 0x20 + (freq >> 8));
+  if (!i->glide)
+  {
+    if (!i->portamento || !c->lasttune)
+    {
+      setregs (0xa0 + channel_number, freq & 0xff);
+      setregs (0xb0 + channel_number, (octave << 2) + 0x20 + (freq >> 8));
       c->lasttune = c->gototune = tunehigh;
-    } else {
+    }
+    else
+    {
       c->gototune = tunehigh;
       c->portspeed = i->portamento;
-      setregs_adv(0xb0 + channel_number, 0xdf, 0x20);	// key on
+      setregs_adv (0xb0 + channel_number, 0xdf, 0x20);  // key on
     }
-  } else {
-    setregs(0xa0 + channel_number, freq & 0xff);
-    setregs(0xb0 + channel_number, (octave << 2) + 0x20 + (freq >> 8));
+  }
+  else
+  {
+    setregs (0xa0 + channel_number, freq & 0xff);
+    setregs (0xb0 + channel_number, (octave << 2) + 0x20 + (freq >> 8));
     c->lasttune = tunehigh;
-    c->gototune = tunehigh + ((i->glide + 0x80) & 0xff) - 0x80;	// set destination
+    c->gototune = tunehigh + ((i->glide + 0x80) & 0xff) - 0x80; // set destination
     c->portspeed = i->portamento;
   }
 
-  if(!i->vibrato)
+  if (!i->vibrato)
     c->vibwait = c->vibspeed = c->vibrate = 0;
-  else {
+  else
+  {
     c->vibwait = i->vibdelay;
     // PASCAL:    c->vibspeed = ((i->vibrato >> 4) & 15) + 1;
     c->vibspeed = (i->vibrato >> 4) + 2;
     c->vibrate = (i->vibrato & 15) + 1;
   }
 
-  if(!(c->trmstay & 0xf0)) {
+  if (!(c->trmstay & 0xf0))
+  {
     c->trmwait = (i->tremwait & 0xf0) >> 3;
     // PASCAL:    c->trmspeed = (i->mod_trem >> 4) & 15;
     c->trmspeed = i->mod_trem >> 4;
@@ -647,7 +773,8 @@
     c->trmcount = 0;
   }
 
-  if(!(c->trmstay & 0x0f)) {
+  if (!(c->trmstay & 0x0f))
+  {
     c->trcwait = (i->tremwait & 15) << 1;
     // PASCAL:    c->trcspeed = (i->car_trem >> 4) & 15;
     c->trcspeed = i->car_trem >> 4;
@@ -657,21 +784,25 @@
 
   c->arp_size = i->arpeggio & 15;
   c->arp_speed = i->arpeggio >> 4;
-  memcpy(c->arp_tab, i->arp_tab, 12);
+  memcpy (c->arp_tab, i->arp_tab, 12);
   c->keycount = i->keyoff;
-  c->nextvol = c->glideto = c->finetune = c->vibcount = c->arp_pos = c->arp_count = 0;
+  c->nextvol = c->glideto = c->finetune = c->vibcount = c->arp_pos =
+    c->arp_count = 0;
 }
 
-inline void CldsPlayer::setregs(unsigned char reg, unsigned char val)
+inline void
+CldsPlayer::setregs (unsigned char reg, unsigned char val)
 {
-  if(fmchip[reg] == val) return;
+  if (fmchip[reg] == val)
+    return;
 
   fmchip[reg] = val;
-  opl->write(reg, val);
+  opl->write (reg, val);
 }
 
-inline void CldsPlayer::setregs_adv(unsigned char reg, unsigned char mask,
-				    unsigned char val)
+inline void
+CldsPlayer::setregs_adv (unsigned char reg, unsigned char mask,
+                         unsigned char val)
 {
-  setregs(reg, (fmchip[reg] & mask) | val);
+  setregs (reg, (fmchip[reg] & mask) | val);
 }
--- a/src/adplug/core/mad.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/mad.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -23,104 +23,122 @@
 
 /* -------- Public Methods -------------------------------- */
 
-CPlayer *CmadLoader::factory(Copl *newopl)
+CPlayer *
+CmadLoader::factory (Copl * newopl)
 {
-  return new CmadLoader(newopl);
+  return new CmadLoader (newopl);
 }
 
-bool CmadLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CmadLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
-  const unsigned char conv_inst[10] = { 2,1,10,9,4,3,6,5,8,7 };
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  const unsigned char conv_inst[10] = { 2, 1, 10, 9, 4, 3, 6, 5, 8, 7 };
   unsigned int i, j, k, t = 0;
 
   // 'MAD+' - signed ?
-  char id[4]; f->readString(id, 4);
-  if (strncmp(id,"MAD+",4)) { fp.close(f); return false; }
+  char id[4];
+  f->readString (id, 4);
+  if (strncmp (id, "MAD+", 4))
+  {
+    fp.close (f);
+    return false;
+  }
 
   // load instruments
-  for(i = 0; i < 9; i++) {
-    f->readString(instruments[i].name, 8);
-    for(j = 0; j < 12; j++) instruments[i].data[j] = f->readInt(1);
+  for (i = 0; i < 9; i++)
+  {
+    f->readString (instruments[i].name, 8);
+    for (j = 0; j < 12; j++)
+      instruments[i].data[j] = f->readInt (1);
   }
 
-  f->ignore(1);
+  f->ignore (1);
 
   // data for Protracker
-  length = f->readInt(1); nop = f->readInt(1); timer = f->readInt(1);
+  length = f->readInt (1);
+  nop = f->readInt (1);
+  timer = f->readInt (1);
 
   // init CmodPlayer
-  realloc_instruments(9);
-  realloc_order(length);
-  realloc_patterns(nop,32,9);
-  init_trackord();
+  realloc_instruments (9);
+  realloc_order (length);
+  realloc_patterns (nop, 32, 9);
+  init_trackord ();
 
   // load tracks
-  for(i = 0; i < nop; i++)
-    for(k = 0; k < 32; k++)
-      for(j = 0; j < 9; j++) {
-	t = i * 9 + j;
-
-	// read event
-	unsigned char event = f->readInt(1);
+  for (i = 0; i < nop; i++)
+    for (k = 0; k < 32; k++)
+      for (j = 0; j < 9; j++)
+      {
+        t = i * 9 + j;
 
-	// convert event
-	if (event < 0x61)
-	  tracks[t][k].note = event;
-	if (event == 0xFF) // 0xFF: Release note
-	  tracks[t][k].command = 8;
-	if (event == 0xFE) // 0xFE: Pattern Break
-	  tracks[t][k].command = 13;
+        // read event
+        unsigned char event = f->readInt (1);
+
+        // convert event
+        if (event < 0x61)
+          tracks[t][k].note = event;
+        if (event == 0xFF)      // 0xFF: Release note
+          tracks[t][k].command = 8;
+        if (event == 0xFE)      // 0xFE: Pattern Break
+          tracks[t][k].command = 13;
       }
 
   // load order
-  for(i = 0; i < length; i++) order[i] = f->readInt(1) - 1;
+  for (i = 0; i < length; i++)
+    order[i] = f->readInt (1) - 1;
 
-  fp.close(f);
+  fp.close (f);
 
   // convert instruments
-  for(i = 0; i < 9; i++)
-    for(j = 0; j < 10; j++)
+  for (i = 0; i < 9; i++)
+    for (j = 0; j < 10; j++)
       inst[i].data[conv_inst[j]] = instruments[i].data[j];
 
   // data for Protracker
   restartpos = 0;
   initspeed = 1;
 
-  rewind(0);
+  rewind (0);
   return true;
 }
 
-void CmadLoader::rewind(int subsong)
+void
+CmadLoader::rewind (int subsong)
 {
-	CmodPlayer::rewind(subsong);
+  CmodPlayer::rewind (subsong);
 
-	// default instruments
-	for (int i=0;i<9;i++)
-	{
-		channel[i].inst = i;
+  // default instruments
+  for (int i = 0; i < 9; i++)
+  {
+    channel[i].inst = i;
 
-		channel[i].vol1 = 63 - (inst[i].data[10] & 63);
-		channel[i].vol2 = 63 - (inst[i].data[9] & 63);
-	}
+    channel[i].vol1 = 63 - (inst[i].data[10] & 63);
+    channel[i].vol2 = 63 - (inst[i].data[9] & 63);
+  }
 }
 
-float CmadLoader::getrefresh()
+float
+CmadLoader::getrefresh ()
 {
-	return (float)timer;
+  return (float) timer;
 }
 
-std::string CmadLoader::gettype()
+std::string CmadLoader::gettype ()
 {
-	return std::string("Mlat Adlib Tracker");
+  return std::string ("Mlat Adlib Tracker");
 }
 
-std::string CmadLoader::getinstrument(unsigned int n)
+std::string CmadLoader::getinstrument (unsigned int n)
 {
-	return std::string(instruments[n].name,8);
+  return std::string (instruments[n].name, 8);
 }
 
-unsigned int CmadLoader::getinstruments()
+unsigned int
+CmadLoader::getinstruments ()
 {
-	return 9;
+  return 9;
 }
--- a/src/adplug/core/mid.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/mid.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -82,9 +82,10 @@
 #ifdef TESTING
 #define midiprintf printf
 #else
-void CmidPlayer::midiprintf(char *format, ...)
-    {
-    }
+void
+CmidPlayer::midiprintf (char *format, ...)
+{
+}
 #endif
 
 #define LUCAS_STYLE   1
@@ -105,987 +106,1082 @@
 #define FILE_OLDLUCAS   6
 
 // AdLib standard operator table
-const unsigned char CmidPlayer::adlib_opadd[] = {0x00  ,0x01 ,0x02  ,0x08  ,0x09  ,0x0A  ,0x10 ,0x11  ,0x12};
+const unsigned char
+CmidPlayer::adlib_opadd[] =
+  { 0x00, 0x01, 0x02, 0x08, 0x09, 0x0A, 0x10, 0x11, 0x12 };
 
 // dunno
-const int CmidPlayer::ops[] = {0x20,0x20,0x40,0x40,0x60,0x60,0x80,0x80,0xe0,0xe0,0xc0};
+const int
+CmidPlayer::ops[] =
+  { 0x20, 0x20, 0x40, 0x40, 0x60, 0x60, 0x80, 0x80, 0xe0, 0xe0, 0xc0 };
 
 // map CMF drum channels 12 - 15 to corresponding AdLib drum operators
 // bass drum (channel 11) not mapped, cause it's handled like a normal instrument
-const int CmidPlayer::map_chan[] = { 0x14, 0x12, 0x15, 0x11 };
+const int
+CmidPlayer::map_chan[] = { 0x14, 0x12, 0x15, 0x11 };
 
 // Standard AdLib frequency table
-const int CmidPlayer::fnums[] = { 0x16b,0x181,0x198,0x1b0,0x1ca,0x1e5,0x202,0x220,0x241,0x263,0x287,0x2ae };
+const int
+CmidPlayer::fnums[] =
+  { 0x16b, 0x181, 0x198, 0x1b0, 0x1ca, 0x1e5, 0x202, 0x220, 0x241, 0x263,
+0x287, 0x2ae };
 
 // Map CMF drum channels 11 - 15 to corresponding AdLib drum channels
-const int CmidPlayer::percussion_map[] = { 6, 7, 8, 8, 7 };
+const int
+CmidPlayer::percussion_map[] = { 6, 7, 8, 8, 7 };
 
-CPlayer *CmidPlayer::factory(Copl *newopl)
+CPlayer *
+CmidPlayer::factory (Copl * newopl)
 {
-  return new CmidPlayer(newopl);
+  return new CmidPlayer (newopl);
 }
 
-CmidPlayer::CmidPlayer(Copl *newopl)
-  : CPlayer(newopl), author(&emptystr), title(&emptystr), remarks(&emptystr),
-    emptystr('\0'), flen(0), data(0)
+CmidPlayer::CmidPlayer (Copl * newopl):CPlayer (newopl), author (&emptystr), title (&emptystr), remarks (&emptystr),
+emptystr ('\0'), flen (0), data (0)
 {
 }
 
-unsigned char CmidPlayer::datalook(long pos)
+unsigned char
+CmidPlayer::datalook (long pos)
 {
-    if (pos<0 || pos >= flen) return(0);
-    return(data[pos]);
+  if (pos < 0 || pos >= flen)
+    return (0);
+  return (data[pos]);
 }
 
-unsigned long CmidPlayer::getnexti(unsigned long num)
+unsigned long
+CmidPlayer::getnexti (unsigned long num)
 {
-	unsigned long v=0;
-	unsigned long i;
+  unsigned long v = 0;
+  unsigned long i;
 
-    for (i=0; i<num; i++)
-        {
-        v+=(datalook(pos)<<(8*i)); pos++;
-        }
-    return(v);
+  for (i = 0; i < num; i++)
+  {
+    v += (datalook (pos) << (8 * i));
+    pos++;
+  }
+  return (v);
 }
 
-unsigned long CmidPlayer::getnext(unsigned long num)
+unsigned long
+CmidPlayer::getnext (unsigned long num)
 {
-	unsigned long v=0;
-	unsigned long i;
+  unsigned long v = 0;
+  unsigned long i;
 
-    for (i=0; i<num; i++)
-        {
-        v<<=8;
-        v+=datalook(pos); pos++;
-        }
-    return(v);
+  for (i = 0; i < num; i++)
+  {
+    v <<= 8;
+    v += datalook (pos);
+    pos++;
+  }
+  return (v);
 }
 
-unsigned long CmidPlayer::getval()
+unsigned long
+CmidPlayer::getval ()
 {
-    int v=0;
-	unsigned char b;
+  int v = 0;
+  unsigned char b;
 
-    b=(unsigned char)getnext(1);
-	v=b&0x7f;
-	while ((b&0x80) !=0)
-		{
-        b=(unsigned char)getnext(1);
-        v = (v << 7) + (b & 0x7F);
-		}
-	return(v);
+  b = (unsigned char) getnext (1);
+  v = b & 0x7f;
+  while ((b & 0x80) != 0)
+  {
+    b = (unsigned char) getnext (1);
+    v = (v << 7) + (b & 0x7F);
+  }
+  return (v);
 }
 
-bool CmidPlayer::load_sierra_ins(const std::string &fname, const CFileProvider &fp)
+bool
+CmidPlayer::load_sierra_ins (const std::string & fname,
+                             const CFileProvider & fp)
 {
-    long i,j,k,l;
-    unsigned char ins[28];
-    char *pfilename;
-    binistream *f;
+  long i, j, k, l;
+  unsigned char ins[28];
+  char *pfilename;
+  binistream *f;
+
+  pfilename = (char *) malloc (fname.length () + 9);
+  strcpy (pfilename, fname.c_str ());
+  j = 0;
+  for (i = strlen (pfilename) - 1; i >= 0; i--)
+    if (pfilename[i] == '/' || pfilename[i] == '\\')
+    {
+      j = i + 1;
+      break;
+    }
+  sprintf (pfilename + j + 3, "patch.003");
+
+  VFSFile *instfd = vfs_fopen (pfilename, "rb");
+  f = fp.open (instfd);
+  free (pfilename);
+  if (!f)
+  {
+    vfs_fclose (instfd);
+    return false;
+  }
+
+  f->ignore (2);
+  stins = 0;
+  for (i = 0; i < 2; i++)
+  {
+    for (k = 0; k < 48; k++)
+    {
+      l = i * 48 + k;
+      midiprintf ("\n%2d: ", l);
+      for (j = 0; j < 28; j++)
+        ins[j] = f->readInt (1);
 
-    pfilename = (char *)malloc(fname.length()+9);
-    strcpy(pfilename,fname.c_str());
-    j=0;
-    for(i=strlen(pfilename)-1; i >= 0; i--)
-      if(pfilename[i] == '/' || pfilename[i] == '\\') {
-	j = i+1;
-	break;
-      }
-    sprintf(pfilename+j+3,"patch.003");
+      myinsbank[l][0] = (ins[9] * 0x80) + (ins[10] * 0x40) + (ins[5] * 0x20) + (ins[11] * 0x10) + ins[1];   //1=ins5
+      myinsbank[l][1] = (ins[22] * 0x80) + (ins[23] * 0x40) + (ins[18] * 0x20) + (ins[24] * 0x10) + ins[14];    //1=ins18
+
+      myinsbank[l][2] = (ins[0] << 6) + ins[8];
+      myinsbank[l][3] = (ins[13] << 6) + ins[21];
+
+      myinsbank[l][4] = (ins[3] << 4) + ins[6];
+      myinsbank[l][5] = (ins[16] << 4) + ins[19];
+      myinsbank[l][6] = (ins[4] << 4) + ins[7];
+      myinsbank[l][7] = (ins[17] << 4) + ins[20];
+
+      myinsbank[l][8] = ins[26];
+      myinsbank[l][9] = ins[27];
+
+      myinsbank[l][10] = ((ins[2] << 1)) + (1 - (ins[12] & 1));
+      //(ins[12] ? 0:1)+((ins[2]<<1));
 
-    VFSFile *instfd = vfs_fopen(pfilename, "rb");
-    f = fp.open(instfd);
-    free(pfilename);
-    if(!f) { vfs_fclose(instfd); return false; }
+      for (j = 0; j < 11; j++)
+        midiprintf ("%02X ", myinsbank[l][j]);
+      stins++;
+    }
+    f->ignore (2);
+  }
 
-    f->ignore(2);
-    stins = 0;
-    for (i=0; i<2; i++)
-        {
-        for (k=0; k<48; k++)
-            {
-            l=i*48+k;
-            midiprintf ("\n%2d: ",l);
-            for (j=0; j<28; j++)
-                ins[j] = f->readInt(1);
+  fp.close (f);
+  vfs_fclose (instfd);
+  memcpy (smyinsbank, myinsbank, 128 * 16);
+  return true;
+}
+
+void
+CmidPlayer::sierra_next_section ()
+{
+  int i, j;
+
+  for (i = 0; i < 16; i++)
+    track[i].on = 0;
+
+  midiprintf ("\n\nnext adv sierra section:\n");
 
-            myinsbank[l][0]=
-                (ins[9]*0x80) + (ins[10]*0x40) +
-                (ins[5]*0x20) + (ins[11]*0x10) +
-                ins[1];   //1=ins5
-            myinsbank[l][1]=
-                (ins[22]*0x80) + (ins[23]*0x40) +
-                (ins[18]*0x20) + (ins[24]*0x10) +
-                ins[14];  //1=ins18
+  pos = sierra_pos;
+  i = 0;
+  j = 0;
+  while (i != 0xff)
+  {
+    getnext (1);
+    curtrack = j;
+    j++;
+    track[curtrack].on = 1;
+    track[curtrack].spos = getnext (1);
+    track[curtrack].spos += (getnext (1) << 8) + 4; //4 best usually +3? not 0,1,2 or 5
+//       track[curtrack].spos=getnext(1)+(getnext(1)<<8)+4;     // dynamite!: doesn't optimize correctly!!
+    track[curtrack].tend = flen;    //0xFC will kill it
+    track[curtrack].iwait = 0;
+    track[curtrack].pv = 0;
+    midiprintf ("track %d starts at %lx\n", curtrack, track[curtrack].spos);
 
-            myinsbank[l][2]=(ins[0]<<6)+ins[8];
-            myinsbank[l][3]=(ins[13]<<6)+ins[21];
+    getnext (2);
+    i = getnext (1);
+  }
+  getnext (2);
+  deltas = 0x20;
+  sierra_pos = pos;
+  //getch();
 
-            myinsbank[l][4]=(ins[3]<<4)+ins[6];
-            myinsbank[l][5]=(ins[16]<<4)+ins[19];
-            myinsbank[l][6]=(ins[4]<<4)+ins[7];
-            myinsbank[l][7]=(ins[17]<<4)+ins[20];
+  fwait = 0;
+  doing = 1;
+}
+
+bool
+CmidPlayer::load (VFSFile * fd, const CFileProvider & fp)
+{
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  int good;
+  unsigned char s[6];
+  std::string filename (fd->uri);
 
-            myinsbank[l][8]=ins[26];
-            myinsbank[l][9]=ins[27];
-
-            myinsbank[l][10]=((ins[2]<<1))+(1-(ins[12]&1));
-            //(ins[12] ? 0:1)+((ins[2]<<1));
+  f->readString ((char *) s, 6);
+  good = 0;
+  subsongs = 0;
+  switch (s[0])
+  {
+  case 'A':
+    if (s[1] == 'D' && s[2] == 'L')
+      good = FILE_LUCAS;
+    break;
+  case 'C':
+    if (s[1] == 'T' && s[2] == 'M' && s[3] == 'F')
+      good = FILE_CMF;
+    break;
+  case 0x84:
+    if (s[1] == 0x00 && load_sierra_ins (filename, fp))
+      if (s[2] == 0xf0)
+        good = FILE_ADVSIERRA;
+      else
+        good = FILE_SIERRA;
+    break;
+  default:
+    if (s[4] == 'A' && s[5] == 'D')
+      good = FILE_OLDLUCAS;
+    break;
+  }
 
-            for (j=0; j<11; j++)
-                midiprintf ("%02X ",myinsbank[l][j]);
-			stins++;
-            }
-		f->ignore(2);
-        }
+  if (good != 0)
+    subsongs = 1;
+  else
+  {
+    fp.close (f);
+    return false;
+  }
 
-    fp.close(f);
-    vfs_fclose(instfd);
-    memcpy(smyinsbank, myinsbank, 128 * 16);
-    return true;
+  type = good;
+  f->seek (0);
+  flen = fp.filesize (f);
+  data = new unsigned char[flen];
+  f->readString ((char *) data, flen);
+
+  fp.close (f);
+  rewind (0);
+  return true;
+}
+
+void
+CmidPlayer::midi_write_adlib (unsigned int r, unsigned char v)
+{
+  opl->write (r, v);
+  adlib_data[r] = v;
 }
 
-void CmidPlayer::sierra_next_section()
+void
+CmidPlayer::midi_fm_instrument (int voice, unsigned char *inst)
 {
-    int i,j;
+  if ((adlib_style & SIERRA_STYLE) != 0)
+    midi_write_adlib (0xbd, 0); //just gotta make sure this happens..
+  //'cause who knows when it'll be
+  //reset otherwise.
+
+
+  midi_write_adlib (0x20 + adlib_opadd[voice], inst[0]);
+  midi_write_adlib (0x23 + adlib_opadd[voice], inst[1]);
 
-    for (i=0; i<16; i++)
-        track[i].on=0;
+  if ((adlib_style & LUCAS_STYLE) != 0)
+  {
+    midi_write_adlib (0x43 + adlib_opadd[voice], 0x3f);
+    if ((inst[10] & 1) == 0)
+      midi_write_adlib (0x40 + adlib_opadd[voice], inst[2]);
+    else
+      midi_write_adlib (0x40 + adlib_opadd[voice], 0x3f);
+  }
+  else
+  {
+    if ((adlib_style & SIERRA_STYLE) != 0)
+    {
+      midi_write_adlib (0x40 + adlib_opadd[voice], inst[2]);
+      midi_write_adlib (0x43 + adlib_opadd[voice], inst[3]);
+    }
+    else
+    {
+      midi_write_adlib (0x40 + adlib_opadd[voice], inst[2]);
+      if ((inst[10] & 1) == 0)
+        midi_write_adlib (0x43 + adlib_opadd[voice], inst[3]);
+      else
+        midi_write_adlib (0x43 + adlib_opadd[voice], 0);
+    }
+  }
 
-    midiprintf("\n\nnext adv sierra section:\n");
+  midi_write_adlib (0x60 + adlib_opadd[voice], inst[4]);
+  midi_write_adlib (0x63 + adlib_opadd[voice], inst[5]);
+  midi_write_adlib (0x80 + adlib_opadd[voice], inst[6]);
+  midi_write_adlib (0x83 + adlib_opadd[voice], inst[7]);
+  midi_write_adlib (0xe0 + adlib_opadd[voice], inst[8]);
+  midi_write_adlib (0xe3 + adlib_opadd[voice], inst[9]);
+
+  midi_write_adlib (0xc0 + voice, inst[10]);
+}
+
+void
+CmidPlayer::midi_fm_percussion (int ch, unsigned char *inst)
+{
+  int opadd = map_chan[ch - 12];
+
+  midi_write_adlib (0x20 + opadd, inst[0]);
+  midi_write_adlib (0x40 + opadd, inst[2]);
+  midi_write_adlib (0x60 + opadd, inst[4]);
+  midi_write_adlib (0x80 + opadd, inst[6]);
+  midi_write_adlib (0xe0 + opadd, inst[8]);
+  midi_write_adlib (0xc0 + opadd, inst[10]);
+}
+
+void
+CmidPlayer::midi_fm_volume (int voice, int volume)
+{
+  int vol;
+
+  if ((adlib_style & SIERRA_STYLE) == 0)    //sierra likes it loud!
+  {
+    vol = volume >> 2;
 
-    pos=sierra_pos;
-    i=0;j=0;
-    while (i!=0xff)
-       {
-       getnext(1);
-       curtrack=j; j++;
-       track[curtrack].on=1;
-	   track[curtrack].spos = getnext(1);
-	   track[curtrack].spos += (getnext(1) << 8) + 4;	//4 best usually +3? not 0,1,2 or 5
-//       track[curtrack].spos=getnext(1)+(getnext(1)<<8)+4;		// dynamite!: doesn't optimize correctly!!
-       track[curtrack].tend=flen; //0xFC will kill it
-       track[curtrack].iwait=0;
-       track[curtrack].pv=0;
-       midiprintf ("track %d starts at %lx\n",curtrack,track[curtrack].spos);
+    if ((adlib_style & LUCAS_STYLE) != 0)
+    {
+      if ((adlib_data[0xc0 + voice] & 1) == 1)
+        midi_write_adlib (0x40 + adlib_opadd[voice],
+                          (unsigned char) ((63 - vol) |
+                                           (adlib_data
+                                            [0x40 +
+                                             adlib_opadd[voice]] & 0xc0)));
+      midi_write_adlib (0x43 + adlib_opadd[voice],
+                        (unsigned char) ((63 - vol) |
+                                         (adlib_data
+                                          [0x43 +
+                                           adlib_opadd[voice]] & 0xc0)));
+    }
+    else
+    {
+      if ((adlib_data[0xc0 + voice] & 1) == 1)
+        midi_write_adlib (0x40 + adlib_opadd[voice],
+                          (unsigned char) ((63 - vol) |
+                                           (adlib_data
+                                            [0x40 +
+                                             adlib_opadd[voice]] & 0xc0)));
+      midi_write_adlib (0x43 + adlib_opadd[voice],
+                        (unsigned char) ((63 - vol) |
+                                         (adlib_data
+                                          [0x43 +
+                                           adlib_opadd[voice]] & 0xc0)));
+    }
+  }
+}
 
-       getnext(2);
-       i=getnext(1);
-       }
-    getnext(2);
-    deltas=0x20;
-    sierra_pos=pos;
-    //getch();
+void
+CmidPlayer::midi_fm_playnote (int voice, int note, int volume)
+{
+  int freq = fnums[note % 12];
+  int oct = note / 12;
+  int c;
+
+  midi_fm_volume (voice, volume);
+  midi_write_adlib (0xa0 + voice, (unsigned char) (freq & 0xff));
+
+  c = ((freq & 0x300) >> 8) + (oct << 2) + (adlib_mode == ADLIB_MELODIC
+                                            || voice < 6 ? (1 << 5) : 0);
+  midi_write_adlib (0xb0 + voice, (unsigned char) c);
+}
 
-    fwait=0;
-    doing=1;
+void
+CmidPlayer::midi_fm_endnote (int voice)
+{
+  //midi_fm_volume(voice,0);
+  //midi_write_adlib(0xb0+voice,0);
+
+  midi_write_adlib (0xb0 + voice,
+                    (unsigned char) (adlib_data[0xb0 + voice] & (255 - 32)));
+}
+
+void
+CmidPlayer::midi_fm_reset ()
+{
+  int i;
+
+  opl->init ();
+
+  for (i = 0; i < 256; i++)
+    midi_write_adlib (i, 0);
+
+  midi_write_adlib (0x01, 0x20);
+  midi_write_adlib (0xBD, 0xc0);
 }
 
-bool CmidPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CmidPlayer::update ()
 {
-    binistream *f = fp.open(fd); if(!f) return false;
-    int good;
-    unsigned char s[6];
-    std::string filename(fd->uri);
+  long w, v, note, vel, ctrl, nv, x, l, lnum;
+  int i = 0, j, c;
+  int on, onl, numchan;
+  int ret;
 
-    f->readString((char *)s, 6);
-    good=0;
-    subsongs=0;
-    switch(s[0])
+  if (doing == 1)
+  {
+    // just get the first wait and ignore it :>
+    for (curtrack = 0; curtrack < 16; curtrack++)
+      if (track[curtrack].on)
+      {
+        pos = track[curtrack].pos;
+        if (type != FILE_SIERRA && type != FILE_ADVSIERRA)
+          track[curtrack].iwait += getval ();
+        else
+          track[curtrack].iwait += getnext (1);
+        track[curtrack].pos = pos;
+      }
+    doing = 0;
+  }
+
+  iwait = 0;
+  ret = 1;
+
+  while (iwait == 0 && ret == 1)
+  {
+    for (curtrack = 0; curtrack < 16; curtrack++)
+      if (track[curtrack].on && track[curtrack].iwait == 0 &&
+          track[curtrack].pos < track[curtrack].tend)
+      {
+        pos = track[curtrack].pos;
+
+        v = getnext (1);
+
+        //  This is to do implied MIDI events.
+        if (v < 0x80)
         {
-        case 'A':
-            if (s[1]=='D' && s[2]=='L') good=FILE_LUCAS;
-            break;
-        case 'C':
-            if (s[1]=='T' && s[2]=='M' && s[3]=='F') good=FILE_CMF;
-            break;
-        case 0x84:
-            if (s[1]==0x00 && load_sierra_ins(filename, fp))
-                if (s[2]==0xf0)
-                    good=FILE_ADVSIERRA;
-                    else
-                    good=FILE_SIERRA;
-            break;
-        default:
-            if (s[4]=='A' && s[5]=='D') good=FILE_OLDLUCAS;
-            break;
+          v = track[curtrack].pv;
+          pos--;
         }
+        track[curtrack].pv = (unsigned char) v;
 
-    if (good!=0)
-		subsongs=1;
-    else {
-      fp.close(f);
-      return false;
-    }
+        c = v & 0x0f;
+        midiprintf ("[%2X]", v);
+        switch (v & 0xf0)
+        {
+        case 0x80:             /*note off */
+          note = getnext (1);
+          vel = getnext (1);
+          for (i = 0; i < 9; i++)
+            if (chp[i][0] == c && chp[i][1] == note)
+            {
+              midi_fm_endnote (i);
+              chp[i][0] = -1;
+            }
+          break;
+        case 0x90:             /*note on */
+          //  doing=0;
+          note = getnext (1);
+          vel = getnext (1);
+
+          if (adlib_mode == ADLIB_RYTHM)
+            numchan = 6;
+          else
+            numchan = 9;
 
-    type=good;
-    f->seek(0);
-    flen = fp.filesize(f);
-    data = new unsigned char [flen];
-    f->readString((char *)data, flen);
+          if (ch[c].on != 0)
+          {
+            for (i = 0; i < 18; i++)
+              chp[i][2]++;
 
-    fp.close(f);
-    rewind(0);
-    return true;
-}
+            if (c < 11 || adlib_mode == ADLIB_MELODIC)
+            {
+              j = 0;
+              on = -1;
+              onl = 0;
+              for (i = 0; i < numchan; i++)
+                if (chp[i][0] == -1 && chp[i][2] > onl)
+                {
+                  onl = chp[i][2];
+                  on = i;
+                  j = 1;
+                }
 
-void CmidPlayer::midi_write_adlib(unsigned int r, unsigned char v)
-{
-  opl->write(r,v);
-  adlib_data[r]=v;
-}
+              if (on == -1)
+              {
+                onl = 0;
+                for (i = 0; i < numchan; i++)
+                  if (chp[i][2] > onl)
+                  {
+                    onl = chp[i][2];
+                    on = i;
+                  }
+              }
+
+              if (j == 0)
+                midi_fm_endnote (on);
+            }
+            else
+              on = percussion_map[c - 11];
 
-void CmidPlayer::midi_fm_instrument(int voice, unsigned char *inst)
-{
-    if ((adlib_style&SIERRA_STYLE)!=0)
-        midi_write_adlib(0xbd,0);  //just gotta make sure this happens..
-                                      //'cause who knows when it'll be
-                                      //reset otherwise.
-
-
-    midi_write_adlib(0x20+adlib_opadd[voice],inst[0]);
-    midi_write_adlib(0x23+adlib_opadd[voice],inst[1]);
+            if (vel != 0 && ch[c].inum >= 0 && ch[c].inum < 128)
+            {
+              if (adlib_mode == ADLIB_MELODIC || c < 12)
+                midi_fm_instrument (on, ch[c].ins);
+              else
+                midi_fm_percussion (c, ch[c].ins);
 
-    if ((adlib_style&LUCAS_STYLE)!=0)
-        {
-        midi_write_adlib(0x43+adlib_opadd[voice],0x3f);
-        if ((inst[10] & 1)==0)
-            midi_write_adlib(0x40+adlib_opadd[voice],inst[2]);
-            else
-            midi_write_adlib(0x40+adlib_opadd[voice],0x3f);
-        }
-        else
-        {
-        if ((adlib_style&SIERRA_STYLE)!=0)
-            {
-            midi_write_adlib(0x40+adlib_opadd[voice],inst[2]);
-            midi_write_adlib(0x43+adlib_opadd[voice],inst[3]);
+              if ((adlib_style & MIDI_STYLE) != 0)
+              {
+                nv = ((ch[c].vol * vel) / 128);
+                if ((adlib_style & LUCAS_STYLE) != 0)
+                  nv *= 2;
+                if (nv > 127)
+                  nv = 127;
+                nv = my_midi_fm_vol_table[nv];
+                if ((adlib_style & LUCAS_STYLE) != 0)
+                  nv = (int) ((float) sqrt ((float) nv) * 11);
+              }
+              else
+              {
+                nv = vel;
+              }
+
+              midi_fm_playnote (on, note + ch[c].nshift, nv * 2);
+              chp[on][0] = c;
+              chp[on][1] = note;
+              chp[on][2] = 0;
+
+              if (adlib_mode == ADLIB_RYTHM && c >= 11)
+              {
+                midi_write_adlib (0xbd,
+                                  adlib_data[0xbd] & ~(0x10 >> (c - 11)));
+                midi_write_adlib (0xbd,
+                                  adlib_data[0xbd] | (0x10 >> (c - 11)));
+              }
+
             }
             else
             {
-            midi_write_adlib(0x40+adlib_opadd[voice],inst[2]);
-            if ((inst[10] & 1)==0)
-                midi_write_adlib(0x43+adlib_opadd[voice],inst[3]);
-                else
-                midi_write_adlib(0x43+adlib_opadd[voice],0);
+              if (vel == 0)     //same code as end note
+              {
+                for (i = 0; i < 9; i++)
+                  if (chp[i][0] == c && chp[i][1] == note)
+                  {
+                    // midi_fm_volume(i,0);  // really end the note
+                    midi_fm_endnote (i);
+                    chp[i][0] = -1;
+                  }
+              }
+              else
+              {                 // i forget what this is for.
+                chp[on][0] = -1;
+                chp[on][2] = 0;
+              }
             }
-        }
+            midiprintf (" [%d:%d:%d:%d]\n", c, ch[c].inum, note, vel);
+          }
+          else
+            midiprintf ("off");
+          break;
+        case 0xa0:             /*key after touch */
+          note = getnext (1);
+          vel = getnext (1);
+          /*  //this might all be good
+             for (i=0; i<9; i++)
+             if (chp[i][0]==c & chp[i][1]==note)
 
-    midi_write_adlib(0x60+adlib_opadd[voice],inst[4]);
-    midi_write_adlib(0x63+adlib_opadd[voice],inst[5]);
-    midi_write_adlib(0x80+adlib_opadd[voice],inst[6]);
-    midi_write_adlib(0x83+adlib_opadd[voice],inst[7]);
-    midi_write_adlib(0xe0+adlib_opadd[voice],inst[8]);
-    midi_write_adlib(0xe3+adlib_opadd[voice],inst[9]);
-
-    midi_write_adlib(0xc0+voice,inst[10]);
-}
+             midi_fm_playnote(i,note+cnote[c],my_midi_fm_vol_table[(cvols[c]*vel)/128]*2);
+           */
+          break;
+        case 0xb0:             /*control change .. pitch bend? */
+          ctrl = getnext (1);
+          vel = getnext (1);
 
-void CmidPlayer::midi_fm_percussion(int ch, unsigned char *inst)
-{
-  int	opadd = map_chan[ch - 12];
+          switch (ctrl)
+          {
+          case 0x07:
+            midiprintf ("(pb:%d: %d %d)", c, ctrl, vel);
+            ch[c].vol = vel;
+            midiprintf ("vol");
+            break;
+          case 0x67:
+            midiprintf ("\n\nhere:%d\n\n", vel);
+            if ((adlib_style & CMF_STYLE) != 0)
+            {
+              adlib_mode = vel;
+              if (adlib_mode == ADLIB_RYTHM)
+                midi_write_adlib (0xbd, adlib_data[0xbd] | (1 << 5));
+              else
+                midi_write_adlib (0xbd, adlib_data[0xbd] & ~(1 << 5));
+            }
+            break;
+          }
+          break;
+        case 0xc0:             /*patch change */
+          x = getnext (1);
+          ch[c].inum = x;
+          for (j = 0; j < 11; j++)
+            ch[c].ins[j] = myinsbank[ch[c].inum][j];
+          break;
+        case 0xd0:             /*chanel touch */
+          x = getnext (1);
+          break;
+        case 0xe0:             /*pitch wheel */
+          x = getnext (1);
+          x = getnext (1);
+          break;
+        case 0xf0:
+          switch (v)
+          {
+          case 0xf0:
+          case 0xf7:           /*sysex */
+            l = getval ();
+            if (datalook (pos + l) == 0xf7)
+              i = 1;
+            midiprintf ("{%d}", l);
+            midiprintf ("\n");
 
-  midi_write_adlib(0x20 + opadd, inst[0]);
-  midi_write_adlib(0x40 + opadd, inst[2]);
-  midi_write_adlib(0x60 + opadd, inst[4]);
-  midi_write_adlib(0x80 + opadd, inst[6]);
-  midi_write_adlib(0xe0 + opadd, inst[8]);
-  midi_write_adlib(0xc0 + opadd, inst[10]);
-}
-
-void CmidPlayer::midi_fm_volume(int voice, int volume)
-{
-    int vol;
-
-    if ((adlib_style&SIERRA_STYLE)==0)  //sierra likes it loud!
-    {
-    vol=volume>>2;
+            if (datalook (pos) == 0x7d &&
+                datalook (pos + 1) == 0x10 && datalook (pos + 2) < 16)
+            {
+              adlib_style = LUCAS_STYLE | MIDI_STYLE;
+              for (i = 0; i < l; i++)
+              {
+                midiprintf ("%x ", datalook (pos + i));
+                if ((i - 3) % 10 == 0)
+                  midiprintf ("\n");
+              }
+              midiprintf ("\n");
+              getnext (1);
+              getnext (1);
+              c = getnext (1);
+              getnext (1);
 
-    if ((adlib_style&LUCAS_STYLE)!=0)
-        {
-        if ((adlib_data[0xc0+voice]&1)==1)
-            midi_write_adlib(0x40+adlib_opadd[voice], (unsigned char)((63-vol) |
-            (adlib_data[0x40+adlib_opadd[voice]]&0xc0)));
-        midi_write_adlib(0x43+adlib_opadd[voice], (unsigned char)((63-vol) |
-            (adlib_data[0x43+adlib_opadd[voice]]&0xc0)));
-        }
-        else
-        {
-        if ((adlib_data[0xc0+voice]&1)==1)
-            midi_write_adlib(0x40+adlib_opadd[voice], (unsigned char)((63-vol) |
-            (adlib_data[0x40+adlib_opadd[voice]]&0xc0)));
-        midi_write_adlib(0x43+adlib_opadd[voice], (unsigned char)((63-vol) |
-           (adlib_data[0x43+adlib_opadd[voice]]&0xc0)));
-        }
-    }
-}
+              //  getnext(22); //temp
+              ch[c].ins[0] =
+                (unsigned char) ((getnext (1) << 4) + getnext (1));
+              ch[c].ins[2] =
+                (unsigned char) (0xff -
+                                 (((getnext (1) << 4) + getnext (1)) & 0x3f));
+              ch[c].ins[4] =
+                (unsigned char) (0xff - ((getnext (1) << 4) + getnext (1)));
+              ch[c].ins[6] =
+                (unsigned char) (0xff - ((getnext (1) << 4) + getnext (1)));
+              ch[c].ins[8] =
+                (unsigned char) ((getnext (1) << 4) + getnext (1));
 
-void CmidPlayer::midi_fm_playnote(int voice, int note, int volume)
-{
-    int freq=fnums[note%12];
-    int oct=note/12;
-	int c;
-
-    midi_fm_volume(voice,volume);
-    midi_write_adlib(0xa0+voice,(unsigned char)(freq&0xff));
+              ch[c].ins[1] =
+                (unsigned char) ((getnext (1) << 4) + getnext (1));
+              ch[c].ins[3] =
+                (unsigned char) (0xff -
+                                 (((getnext (1) << 4) + getnext (1)) & 0x3f));
+              ch[c].ins[5] =
+                (unsigned char) (0xff - ((getnext (1) << 4) + getnext (1)));
+              ch[c].ins[7] =
+                (unsigned char) (0xff - ((getnext (1) << 4) + getnext (1)));
+              ch[c].ins[9] =
+                (unsigned char) ((getnext (1) << 4) + getnext (1));
 
-	c=((freq&0x300) >> 8)+(oct<<2) + (adlib_mode == ADLIB_MELODIC || voice < 6 ? (1<<5) : 0);
-    midi_write_adlib(0xb0+voice,(unsigned char)c);
-}
+              i = (getnext (1) << 4) + getnext (1);
+              ch[c].ins[10] = i;
+
+              //if ((i&1)==1) ch[c].ins[10]=1;
 
-void CmidPlayer::midi_fm_endnote(int voice)
-{
-    //midi_fm_volume(voice,0);
-    //midi_write_adlib(0xb0+voice,0);
+              midiprintf ("\n%d: ", c);
+              for (i = 0; i < 11; i++)
+                midiprintf ("%2X ", ch[c].ins[i]);
+              getnext (l - 26);
+            }
+            else
+            {
+              midiprintf ("\n");
+              for (j = 0; j < l; j++)
+                midiprintf ("%2X ", getnext (1));
+            }
 
-    midi_write_adlib(0xb0+voice,(unsigned char)(adlib_data[0xb0+voice]&(255-32)));
-}
-
-void CmidPlayer::midi_fm_reset()
-{
-    int i;
-
-    opl->init();
-
-    for (i=0; i<256; i++)
-        midi_write_adlib(i,0);
-
-    midi_write_adlib(0x01, 0x20);
-    midi_write_adlib(0xBD,0xc0);
-}
-
-bool CmidPlayer::update()
-{
-    long w,v,note,vel,ctrl,nv,x,l,lnum;
-    int i=0,j,c;
-    int on,onl,numchan;
-    int ret;
-
-    if (doing == 1)
-        {
-        // just get the first wait and ignore it :>
-        for (curtrack=0; curtrack<16; curtrack++)
-            if (track[curtrack].on)
-                {
-                pos=track[curtrack].pos;
-                if (type != FILE_SIERRA && type !=FILE_ADVSIERRA)
-                    track[curtrack].iwait+=getval();
-                    else
-                    track[curtrack].iwait+=getnext(1);
-                track[curtrack].pos=pos;
-                }
-        doing=0;
+            midiprintf ("\n");
+            if (i == 1)
+              getnext (1);
+            break;
+          case 0xf1:
+            break;
+          case 0xf2:
+            getnext (2);
+            break;
+          case 0xf3:
+            getnext (1);
+            break;
+          case 0xf4:
+            break;
+          case 0xf5:
+            break;
+          case 0xf6:           /*something */
+          case 0xf8:
+          case 0xfa:
+          case 0xfb:
+          case 0xfc:
+            //this ends the track for sierra.
+            if (type == FILE_SIERRA || type == FILE_ADVSIERRA)
+            {
+              track[curtrack].tend = pos;
+              midiprintf ("endmark: %ld -- %lx\n", pos, pos);
+            }
+            break;
+          case 0xfe:
+            break;
+          case 0xfd:
+            break;
+          case 0xff:
+            v = getnext (1);
+            l = getval ();
+            midiprintf ("\n");
+            midiprintf ("{%X_%X}", v, l);
+            if (v == 0x51)
+            {
+              lnum = getnext (l);
+              msqtr = lnum;     /*set tempo */
+              midiprintf ("(qtr=%ld)", msqtr);
+            }
+            else
+            {
+              for (i = 0; i < l; i++)
+                midiprintf ("%2X ", getnext (1));
+            }
+            break;
+          }
+          break;
+        default:
+          midiprintf ("!", v);  /* if we get down here, a error occurred */
+          break;
         }
 
-    iwait=0;
-    ret=1;
-
-    while (iwait==0 && ret==1)
-        {
-        for (curtrack=0; curtrack<16; curtrack++)
-        if (track[curtrack].on && track[curtrack].iwait==0 &&
-            track[curtrack].pos < track[curtrack].tend)
+        if (pos < track[curtrack].tend)
         {
-        pos=track[curtrack].pos;
-
-		v=getnext(1);
-
-        //  This is to do implied MIDI events.
-        if (v<0x80) {v=track[curtrack].pv; pos--;}
-        track[curtrack].pv=(unsigned char)v;
-
-		c=v&0x0f;
-        midiprintf ("[%2X]",v);
-        switch(v&0xf0)
-            {
-			case 0x80: /*note off*/
-				note=getnext(1); vel=getnext(1);
-                for (i=0; i<9; i++)
-                    if (chp[i][0]==c && chp[i][1]==note)
-                        {
-                        midi_fm_endnote(i);
-                        chp[i][0]=-1;
-                        }
-                break;
-            case 0x90: /*note on*/
-              //  doing=0;
-                note=getnext(1); vel=getnext(1);
-
-		if(adlib_mode == ADLIB_RYTHM)
-		  numchan = 6;
-		else
-		  numchan = 9;
-
-                if (ch[c].on!=0)
-                {
-		  for (i=0; i<18; i++)
-                    chp[i][2]++;
-
-		  if(c < 11 || adlib_mode == ADLIB_MELODIC) {
-		    j=0;
-		    on=-1;onl=0;
-		    for (i=0; i<numchan; i++)
-		      if (chp[i][0]==-1 && chp[i][2]>onl)
-			{ onl=chp[i][2]; on=i; j=1; }
-
-		    if (on==-1)
-		      {
-			onl=0;
-			for (i=0; i<numchan; i++)
-			  if (chp[i][2]>onl)
-			    { onl=chp[i][2]; on=i; }
-		      }
-
-		    if (j==0)
-		      midi_fm_endnote(on);
-		  } else
-		    on = percussion_map[c - 11];
+          if (type != FILE_SIERRA && type != FILE_ADVSIERRA)
+            w = getval ();
+          else
+            w = getnext (1);
+          track[curtrack].iwait = w;
+          /*
+             if (w!=0)
+             {
+             midiprintf("\n<%d>",w);
+             f = 
+             ((float)w/(float)deltas)*((float)msqtr/(float)1000000);
+             if (doing==1) f=0; //not playing yet. don't wait yet
+             }
+           */
+        }
+        else
+          track[curtrack].iwait = 0;
 
-                 if (vel!=0 && ch[c].inum>=0 && ch[c].inum<128)
-                    {
-                    if (adlib_mode == ADLIB_MELODIC || c < 12)
-		      midi_fm_instrument(on,ch[c].ins);
-		    else
- 		      midi_fm_percussion(c, ch[c].ins);
-
-                    if ((adlib_style&MIDI_STYLE)!=0)
-                        {
-                        nv=((ch[c].vol*vel)/128);
-                        if ((adlib_style&LUCAS_STYLE)!=0)
-                            nv*=2;
-                        if (nv>127) nv=127;
-                        nv=my_midi_fm_vol_table[nv];
-                        if ((adlib_style&LUCAS_STYLE)!=0)
-                            nv=(int)((float)sqrt((float)nv)*11);
-                        }
-                        else
-                        {
-                        nv=vel;
-                        }
-
-		    midi_fm_playnote(on,note+ch[c].nshift,nv*2);
-                    chp[on][0]=c;
-                    chp[on][1]=note;
-                    chp[on][2]=0;
-
-		    if(adlib_mode == ADLIB_RYTHM && c >= 11) {
-		      midi_write_adlib(0xbd, adlib_data[0xbd] & ~(0x10 >> (c - 11)));
-		      midi_write_adlib(0xbd, adlib_data[0xbd] | (0x10 >> (c - 11)));
-		    }
+        track[curtrack].pos = pos;
+      }
 
-                    }
-                    else
-                    {
-                    if (vel==0)  //same code as end note
-                        {
-                        for (i=0; i<9; i++)
-                            if (chp[i][0]==c && chp[i][1]==note)
-                                {
-                               // midi_fm_volume(i,0);  // really end the note
-                                midi_fm_endnote(i);
-                                chp[i][0]=-1;
-                                }
-                        }
-                        else
-                        {        // i forget what this is for.
-                        chp[on][0]=-1;
-                        chp[on][2]=0;
-                        }
-                    }
-                midiprintf(" [%d:%d:%d:%d]\n",c,ch[c].inum,note,vel);
-                }
-                else
-                midiprintf ("off");
-                break;
-            case 0xa0: /*key after touch */
-                note=getnext(1); vel=getnext(1);
-                /*  //this might all be good
-                for (i=0; i<9; i++)
-                    if (chp[i][0]==c & chp[i][1]==note)
-                        
-midi_fm_playnote(i,note+cnote[c],my_midi_fm_vol_table[(cvols[c]*vel)/128]*2);
-                */
-                break;
-            case 0xb0: /*control change .. pitch bend? */
-                ctrl=getnext(1); vel=getnext(1);
 
-                switch(ctrl)
-                    {
-                    case 0x07:
-                        midiprintf ("(pb:%d: %d %d)",c,ctrl,vel);
-                        ch[c].vol=vel;
-                        midiprintf("vol");
-                        break;
-                    case 0x67:
-                        midiprintf ("\n\nhere:%d\n\n",vel);
-                        if ((adlib_style&CMF_STYLE)!=0) {
-			  adlib_mode=vel;
-			  if(adlib_mode == ADLIB_RYTHM)
-			    midi_write_adlib(0xbd, adlib_data[0xbd] | (1 << 5));
-			  else
-			    midi_write_adlib(0xbd, adlib_data[0xbd] & ~(1 << 5));
-			}
-                        break;
-                    }
-                break;
-            case 0xc0: /*patch change*/
-	      x=getnext(1);
-	      ch[c].inum=x;
-	      for (j=0; j<11; j++)
-		ch[c].ins[j]=myinsbank[ch[c].inum][j];
-	      break;
-            case 0xd0: /*chanel touch*/
-                x=getnext(1);
-                break;
-            case 0xe0: /*pitch wheel*/
-                x=getnext(1);
-                x=getnext(1);
-                break;
-            case 0xf0:
-                switch(v)
-                    {
-                    case 0xf0:
-                    case 0xf7: /*sysex*/
-		      l=getval();
-		      if (datalook(pos+l)==0xf7)
-			i=1;
-		      midiprintf("{%d}",l);
-		      midiprintf("\n");
-
-                        if (datalook(pos)==0x7d &&
-                            datalook(pos+1)==0x10 &&
-                            datalook(pos+2)<16)
-							{
-                            adlib_style=LUCAS_STYLE|MIDI_STYLE;
-							for (i=0; i<l; i++)
-								{
-                                midiprintf ("%x ",datalook(pos+i));
-                                if ((i-3)%10 == 0) midiprintf("\n");
-								}
-                            midiprintf ("\n");
-                            getnext(1);
-                            getnext(1);
-							c=getnext(1);
-							getnext(1);
-
-                          //  getnext(22); //temp
-                            ch[c].ins[0]=(unsigned char)((getnext(1)<<4)+getnext(1));
-                            ch[c].ins[2]=(unsigned char)(0xff-(((getnext(1)<<4)+getnext(1))&0x3f));
-                            ch[c].ins[4]=(unsigned char)(0xff-((getnext(1)<<4)+getnext(1)));
-                            ch[c].ins[6]=(unsigned char)(0xff-((getnext(1)<<4)+getnext(1)));
-                            ch[c].ins[8]=(unsigned char)((getnext(1)<<4)+getnext(1));
-
-                            ch[c].ins[1]=(unsigned char)((getnext(1)<<4)+getnext(1));
-                            ch[c].ins[3]=(unsigned char)(0xff-(((getnext(1)<<4)+getnext(1))&0x3f));
-                            ch[c].ins[5]=(unsigned char)(0xff-((getnext(1)<<4)+getnext(1)));
-                            ch[c].ins[7]=(unsigned char)(0xff-((getnext(1)<<4)+getnext(1)));
-                            ch[c].ins[9]=(unsigned char)((getnext(1)<<4)+getnext(1));
-
-                            i=(getnext(1)<<4)+getnext(1);
-                            ch[c].ins[10]=i;
-
-                            //if ((i&1)==1) ch[c].ins[10]=1;
+    ret = 0;                    //end of song.
+    iwait = 0;
+    for (curtrack = 0; curtrack < 16; curtrack++)
+      if (track[curtrack].on == 1 &&
+          track[curtrack].pos < track[curtrack].tend)
+        ret = 1;                //not yet..
 
-                            midiprintf ("\n%d: ",c);
-							for (i=0; i<11; i++)
-                                midiprintf ("%2X ",ch[c].ins[i]);
-                            getnext(l-26);
-							}
-                            else
-                            {
-                            midiprintf("\n");
-                            for (j=0; j<l; j++)
-                                midiprintf ("%2X ",getnext(1));
-                            }
+    if (ret == 1)
+    {
+      iwait = 0xffffff;         // bigger than any wait can be!
+      for (curtrack = 0; curtrack < 16; curtrack++)
+        if (track[curtrack].on == 1 &&
+            track[curtrack].pos < track[curtrack].tend &&
+            track[curtrack].iwait < iwait)
+          iwait = track[curtrack].iwait;
+    }
+  }
 
-                        midiprintf("\n");
-						if(i==1)
-							getnext(1);
-                        break;
-                    case 0xf1:
-                        break;
-                    case 0xf2:
-                        getnext(2);
-                        break;
-                    case 0xf3:
-                        getnext(1);
-                        break;
-                    case 0xf4:
-                        break;
-                    case 0xf5:
-                        break;
-                    case 0xf6: /*something*/
-                    case 0xf8:
-                    case 0xfa:
-                    case 0xfb:
-                    case 0xfc:
-                        //this ends the track for sierra.
-                        if (type == FILE_SIERRA ||
-                            type == FILE_ADVSIERRA)
-                            {
-                            track[curtrack].tend=pos;
-                            midiprintf ("endmark: %ld -- %lx\n",pos,pos);
-                            }
-                        break;
-                    case 0xfe:
-                        break;
-                    case 0xfd:
-                        break;
-                    case 0xff:
-                        v=getnext(1);
-                        l=getval();
-                        midiprintf ("\n");
-                        midiprintf("{%X_%X}",v,l);
-                        if (v==0x51)
-                            {
-                            lnum=getnext(l);
-                            msqtr=lnum; /*set tempo*/
-                            midiprintf ("(qtr=%ld)",msqtr);
-                            }
-                            else
-                            {
-                            for (i=0; i<l; i++)
-                                midiprintf ("%2X ",getnext(1));
-                            }
-                        break;
-					}
-                break;
-            default: midiprintf("!",v); /* if we get down here, a error occurred */
-			break;
-            }
 
-        if (pos < track[curtrack].tend)
-            {
-            if (type != FILE_SIERRA && type !=FILE_ADVSIERRA)
-                w=getval();
-                else
-                w=getnext(1);
-            track[curtrack].iwait=w;
-            /*
-            if (w!=0)
-                {
-                midiprintf("\n<%d>",w);
-                f = 
-((float)w/(float)deltas)*((float)msqtr/(float)1000000);
-                if (doing==1) f=0; //not playing yet. don't wait yet
-                }
-                */
-            }
-            else
-            track[curtrack].iwait=0;
-
-        track[curtrack].pos=pos;
-        }
+  if (iwait != 0 && ret == 1)
+  {
+    for (curtrack = 0; curtrack < 16; curtrack++)
+      if (track[curtrack].on)
+        track[curtrack].iwait -= iwait;
 
 
-        ret=0; //end of song.
-        iwait=0;
-        for (curtrack=0; curtrack<16; curtrack++)
-            if (track[curtrack].on == 1 &&
-                track[curtrack].pos < track[curtrack].tend)
-                ret=1;  //not yet..
+    fwait =
+      1.0f / (((float) iwait / (float) deltas) *
+              ((float) msqtr / (float) 1000000));
+  }
+  else
+    fwait = 50;                 // 1/50th of a second
 
-        if (ret==1)
-            {
-            iwait=0xffffff;  // bigger than any wait can be!
-            for (curtrack=0; curtrack<16; curtrack++)
-               if (track[curtrack].on == 1 &&
-                   track[curtrack].pos < track[curtrack].tend &&
-                   track[curtrack].iwait < iwait)
-                   iwait=track[curtrack].iwait;
-            }
-        }
-
-
-    if (iwait !=0 && ret==1)
-        {
-        for (curtrack=0; curtrack<16; curtrack++)
-            if (track[curtrack].on)
-                track[curtrack].iwait-=iwait;
+  midiprintf ("\n");
+  for (i = 0; i < 16; i++)
+    if (track[i].on)
+      if (track[i].pos < track[i].tend)
+        midiprintf ("<%d>", track[i].iwait);
+      else
+        midiprintf ("stop");
 
-        
-fwait=1.0f/(((float)iwait/(float)deltas)*((float)msqtr/(float)1000000));
-        }
-        else
-        fwait=50;  // 1/50th of a second
-
-    midiprintf ("\n");
-    for (i=0; i<16; i++)
-        if (track[i].on)
-            if (track[i].pos < track[i].tend)
-                midiprintf ("<%d>",track[i].iwait);
-                else
-                midiprintf("stop");
+  /*
+     if (ret==0 && type==FILE_ADVSIERRA)
+     if (datalook(sierra_pos-2)!=0xff)
+     {
+     midiprintf ("next sectoin!");
+     sierra_next_section(p);
+     fwait=50;
+     ret=1;
+     }
+   */
 
-    /*
-    if (ret==0 && type==FILE_ADVSIERRA)
-        if (datalook(sierra_pos-2)!=0xff)
-            {
-            midiprintf ("next sectoin!");
-            sierra_next_section(p);
-            fwait=50;
-            ret=1;
-            }
-    */
-
-	if(ret)
-		return true;
-	else
-		return false;
+  if (ret)
+    return true;
+  else
+    return false;
 }
 
-float CmidPlayer::getrefresh()
+float
+CmidPlayer::getrefresh ()
 {
-    return (fwait > 0.01f ? fwait : 0.01f);
+  return (fwait > 0.01f ? fwait : 0.01f);
 }
 
-void CmidPlayer::rewind(int subsong)
+void
+CmidPlayer::rewind (int subsong)
 {
-    long i,j,n,m,l;
-    long o_sierra_pos;
-    unsigned char ins[16];
+  long i, j, n, m, l;
+  long o_sierra_pos;
+  unsigned char ins[16];
 
-    pos=0; tins=0;
-    adlib_style=MIDI_STYLE|CMF_STYLE;
-    adlib_mode=ADLIB_MELODIC;
-    for (i=0; i<128; i++)
-        for (j=0; j<16; j++)
-            myinsbank[i][j]=midi_fm_instruments[i][j];
-	for (i=0; i<16; i++)
-        {
-        ch[i].inum=0;
-        for (j=0; j<11; j++)
-            ch[i].ins[j]=myinsbank[ch[i].inum][j];
-        ch[i].vol=127;
-        ch[i].nshift=-25;
-        ch[i].on=1;
-        }
+  pos = 0;
+  tins = 0;
+  adlib_style = MIDI_STYLE | CMF_STYLE;
+  adlib_mode = ADLIB_MELODIC;
+  for (i = 0; i < 128; i++)
+    for (j = 0; j < 16; j++)
+      myinsbank[i][j] = midi_fm_instruments[i][j];
+  for (i = 0; i < 16; i++)
+  {
+    ch[i].inum = 0;
+    for (j = 0; j < 11; j++)
+      ch[i].ins[j] = myinsbank[ch[i].inum][j];
+    ch[i].vol = 127;
+    ch[i].nshift = -25;
+    ch[i].on = 1;
+  }
 
-    /* General init */
-    for (i=0; i<9; i++)
-        {
-        chp[i][0]=-1;
-        chp[i][2]=0;
-        }
+  /* General init */
+  for (i = 0; i < 9; i++)
+  {
+    chp[i][0] = -1;
+    chp[i][2] = 0;
+  }
 
-    deltas=250;  // just a number,  not a standard
-    msqtr=500000;
-    fwait=123; // gotta be a small thing.. sorta like nothing
-    iwait=0;
+  deltas = 250;                 // just a number,  not a standard
+  msqtr = 500000;
+  fwait = 123;                  // gotta be a small thing.. sorta like nothing
+  iwait = 0;
 
-    subsongs=1;
+  subsongs = 1;
 
-    for (i=0; i<16; i++)
-        {
-        track[i].tend=0;
-        track[i].spos=0;
-        track[i].pos=0;
-        track[i].iwait=0;
-        track[i].on=0;
-        track[i].pv=0;
-        }
-    curtrack=0;
-
-    /* specific to file-type init */
+  for (i = 0; i < 16; i++)
+  {
+    track[i].tend = 0;
+    track[i].spos = 0;
+    track[i].pos = 0;
+    track[i].iwait = 0;
+    track[i].on = 0;
+    track[i].pv = 0;
+  }
+  curtrack = 0;
 
-        pos=0;
-        i=getnext(1);
-        switch(type)
-            {
-            case FILE_LUCAS:
-                getnext(24);  //skip junk and get to the midi.
-                adlib_style=LUCAS_STYLE|MIDI_STYLE;
-                //note: no break, we go right into midi headers...
-            case FILE_MIDI:
-                if (type != FILE_LUCAS)
-                    tins=128;
-                getnext(11);  /*skip header*/
-                deltas=getnext(2);
-                midiprintf ("deltas:%ld\n",deltas);
-                getnext(4);
+  /* specific to file-type init */
+
+  pos = 0;
+  i = getnext (1);
+  switch (type)
+  {
+  case FILE_LUCAS:
+    getnext (24);               //skip junk and get to the midi.
+    adlib_style = LUCAS_STYLE | MIDI_STYLE;
+    //note: no break, we go right into midi headers...
+  case FILE_MIDI:
+    if (type != FILE_LUCAS)
+      tins = 128;
+    getnext (11);               /*skip header */
+    deltas = getnext (2);
+    midiprintf ("deltas:%ld\n", deltas);
+    getnext (4);
 
-                curtrack=0;
-                track[curtrack].on=1;
-                track[curtrack].tend=getnext(4);
-                track[curtrack].spos=pos;
-                midiprintf ("tracklen:%ld\n",track[curtrack].tend);
-                break;
-            case FILE_CMF:
-                getnext(3);  // ctmf
-                getnexti(2); //version
-                n=getnexti(2); // instrument offset
-                m=getnexti(2); // music offset
-                deltas=getnexti(2); //ticks/qtr note
-                msqtr=1000000/getnexti(2)*deltas;
-                   //the stuff in the cmf is click ticks per second..
+    curtrack = 0;
+    track[curtrack].on = 1;
+    track[curtrack].tend = getnext (4);
+    track[curtrack].spos = pos;
+    midiprintf ("tracklen:%ld\n", track[curtrack].tend);
+    break;
+  case FILE_CMF:
+    getnext (3);                // ctmf
+    getnexti (2);               //version
+    n = getnexti (2);           // instrument offset
+    m = getnexti (2);           // music offset
+    deltas = getnexti (2);      //ticks/qtr note
+    msqtr = 1000000 / getnexti (2) * deltas;
+    //the stuff in the cmf is click ticks per second..
 
-                i=getnexti(2);
-				if(i) title = (char *)data+i;
-                i=getnexti(2);
-				if(i) author = (char *)data+i;
-                i=getnexti(2);
-				if(i) remarks = (char *)data+i;
-
-                getnext(16); // channel in use table ..
-                i=getnexti(2); // num instr
-                if (i>128) i=128; // to ward of bad numbers...
-                getnexti(2); //basic tempo
+    i = getnexti (2);
+    if (i)
+      title = (char *) data + i;
+    i = getnexti (2);
+    if (i)
+      author = (char *) data + i;
+    i = getnexti (2);
+    if (i)
+      remarks = (char *) data + i;
 
-                midiprintf("\nioff:%d\nmoff%d\ndeltas:%ld\nmsqtr:%ld\nnumi:%d\n",
-                    n,m,deltas,msqtr,i);
-                pos=n;  // jump to instruments
-                tins=i;
-                for (j=0; j<i; j++)
-                    {
-                    midiprintf ("\n%d: ",j);
-                    for (l=0; l<16; l++)
-                        {
-                        myinsbank[j][l]=(unsigned char)getnext(1);
-                        midiprintf ("%2X ",myinsbank[j][l]);
-                        }
-                    }
+    getnext (16);               // channel in use table ..
+    i = getnexti (2);           // num instr
+    if (i > 128)
+      i = 128;                  // to ward of bad numbers...
+    getnexti (2);               //basic tempo
 
-                for (i=0; i<16; i++)
-                    ch[i].nshift=-13;
-
-                adlib_style=CMF_STYLE;
+    midiprintf ("\nioff:%d\nmoff%d\ndeltas:%ld\nmsqtr:%ld\nnumi:%d\n",
+                n, m, deltas, msqtr, i);
+    pos = n;                    // jump to instruments
+    tins = i;
+    for (j = 0; j < i; j++)
+    {
+      midiprintf ("\n%d: ", j);
+      for (l = 0; l < 16; l++)
+      {
+        myinsbank[j][l] = (unsigned char) getnext (1);
+        midiprintf ("%2X ", myinsbank[j][l]);
+      }
+    }
 
-                curtrack=0;
-                track[curtrack].on=1;
-                track[curtrack].tend=flen;  // music until the end of the file
-                track[curtrack].spos=m;  //jump to midi music
-                break;
-            case FILE_OLDLUCAS:
-                msqtr=250000;
-                pos=9;
-                deltas=getnext(1);
+    for (i = 0; i < 16; i++)
+      ch[i].nshift = -13;
 
-                i=8;
-                pos=0x19;  // jump to instruments
-                tins=i;
-                for (j=0; j<i; j++)
-                    {
-                    midiprintf ("\n%d: ",j);
-                    for (l=0; l<16; l++)
-                        ins[l]=(unsigned char)getnext(1);
+    adlib_style = CMF_STYLE;
 
-                    myinsbank[j][10]=ins[2];
-                    myinsbank[j][0]=ins[3];
-                    myinsbank[j][2]=ins[4];
-                    myinsbank[j][4]=ins[5];
-                    myinsbank[j][6]=ins[6];
-                    myinsbank[j][8]=ins[7];
-                    myinsbank[j][1]=ins[8];
-                    myinsbank[j][3]=ins[9];
-                    myinsbank[j][5]=ins[10];
-                    myinsbank[j][7]=ins[11];
-                    myinsbank[j][9]=ins[12];
+    curtrack = 0;
+    track[curtrack].on = 1;
+    track[curtrack].tend = flen;    // music until the end of the file
+    track[curtrack].spos = m;   //jump to midi music
+    break;
+  case FILE_OLDLUCAS:
+    msqtr = 250000;
+    pos = 9;
+    deltas = getnext (1);
 
-                    for (l=0; l<11; l++)
-                        midiprintf ("%2X ",myinsbank[j][l]);
-                    }
+    i = 8;
+    pos = 0x19;                 // jump to instruments
+    tins = i;
+    for (j = 0; j < i; j++)
+    {
+      midiprintf ("\n%d: ", j);
+      for (l = 0; l < 16; l++)
+        ins[l] = (unsigned char) getnext (1);
 
-                for (i=0; i<16; i++)
-                    {
-                    if (i<tins)
-                        {
-                        ch[i].inum=i;
-                        for (j=0; j<11; j++)
-                            ch[i].ins[j]=myinsbank[ch[i].inum][j];
-                        }
-                    }
+      myinsbank[j][10] = ins[2];
+      myinsbank[j][0] = ins[3];
+      myinsbank[j][2] = ins[4];
+      myinsbank[j][4] = ins[5];
+      myinsbank[j][6] = ins[6];
+      myinsbank[j][8] = ins[7];
+      myinsbank[j][1] = ins[8];
+      myinsbank[j][3] = ins[9];
+      myinsbank[j][5] = ins[10];
+      myinsbank[j][7] = ins[11];
+      myinsbank[j][9] = ins[12];
 
-                adlib_style=LUCAS_STYLE|MIDI_STYLE;
+      for (l = 0; l < 11; l++)
+        midiprintf ("%2X ", myinsbank[j][l]);
+    }
 
-                curtrack=0;
-                track[curtrack].on=1;
-                track[curtrack].tend=flen;  // music until the end of the file
-                track[curtrack].spos=0x98;  //jump to midi music
-                break;
-            case FILE_ADVSIERRA:
-	      memcpy(myinsbank, smyinsbank, 128 * 16);
-	      tins = stins;
-                deltas=0x20;
-                getnext(11); //worthless empty space and "stuff" :)
+    for (i = 0; i < 16; i++)
+    {
+      if (i < tins)
+      {
+        ch[i].inum = i;
+        for (j = 0; j < 11; j++)
+          ch[i].ins[j] = myinsbank[ch[i].inum][j];
+      }
+    }
+
+    adlib_style = LUCAS_STYLE | MIDI_STYLE;
 
-                o_sierra_pos=sierra_pos=pos;
-                sierra_next_section();
-                while (datalook(sierra_pos-2)!=0xff)
-                    {
-                    sierra_next_section();
-                    subsongs++;
-                    }
+    curtrack = 0;
+    track[curtrack].on = 1;
+    track[curtrack].tend = flen;    // music until the end of the file
+    track[curtrack].spos = 0x98;    //jump to midi music
+    break;
+  case FILE_ADVSIERRA:
+    memcpy (myinsbank, smyinsbank, 128 * 16);
+    tins = stins;
+    deltas = 0x20;
+    getnext (11);               //worthless empty space and "stuff" :)
 
-                if (subsong < 0 || subsong >= subsongs) subsong=0;
+    o_sierra_pos = sierra_pos = pos;
+    sierra_next_section ();
+    while (datalook (sierra_pos - 2) != 0xff)
+    {
+      sierra_next_section ();
+      subsongs++;
+    }
+
+    if (subsong < 0 || subsong >= subsongs)
+      subsong = 0;
 
-                sierra_pos=o_sierra_pos;
-                sierra_next_section();
-                i=0;
-                while (i != subsong)
-                    {
-                    sierra_next_section();
-                    i++;
-                    }
+    sierra_pos = o_sierra_pos;
+    sierra_next_section ();
+    i = 0;
+    while (i != subsong)
+    {
+      sierra_next_section ();
+      i++;
+    }
 
-                adlib_style=SIERRA_STYLE|MIDI_STYLE;  //advanced sierra tunes use volume
-                break;
-            case FILE_SIERRA:
-	      memcpy(myinsbank, smyinsbank, 128 * 16);
-	      tins = stins;
-                getnext(2);
-                deltas=0x20;
+    adlib_style = SIERRA_STYLE | MIDI_STYLE;    //advanced sierra tunes use volume
+    break;
+  case FILE_SIERRA:
+    memcpy (myinsbank, smyinsbank, 128 * 16);
+    tins = stins;
+    getnext (2);
+    deltas = 0x20;
 
-                curtrack=0;
-                track[curtrack].on=1;
-                track[curtrack].tend=flen;  // music until the end of the file
+    curtrack = 0;
+    track[curtrack].on = 1;
+    track[curtrack].tend = flen;    // music until the end of the file
 
-                for (i=0; i<16; i++)
-                    {
-                    ch[i].nshift=-13;
-                    ch[i].on=getnext(1);
-                    ch[i].inum=getnext(1);
-                    for (j=0; j<11; j++)
-                        ch[i].ins[j]=myinsbank[ch[i].inum][j];
-                    }
+    for (i = 0; i < 16; i++)
+    {
+      ch[i].nshift = -13;
+      ch[i].on = getnext (1);
+      ch[i].inum = getnext (1);
+      for (j = 0; j < 11; j++)
+        ch[i].ins[j] = myinsbank[ch[i].inum][j];
+    }
 
-                track[curtrack].spos=pos;
-                adlib_style=SIERRA_STYLE|MIDI_STYLE;
-                break;
-            }
+    track[curtrack].spos = pos;
+    adlib_style = SIERRA_STYLE | MIDI_STYLE;
+    break;
+  }
 
 
 /*        sprintf(info,"%s\r\nTicks/Quarter Note: %ld\r\n",info,deltas);
         sprintf(info,"%sms/Quarter Note: %ld",info,msqtr); */
 
-        for (i=0; i<16; i++)
-            if (track[i].on)
-                {
-                track[i].pos=track[i].spos;
-                track[i].pv=0;
-                track[i].iwait=0;
-                }
+  for (i = 0; i < 16; i++)
+    if (track[i].on)
+    {
+      track[i].pos = track[i].spos;
+      track[i].pv = 0;
+      track[i].iwait = 0;
+    }
 
-    doing=1;
-    midi_fm_reset();
+  doing = 1;
+  midi_fm_reset ();
 }
 
-std::string CmidPlayer::gettype()
+std::string CmidPlayer::gettype ()
 {
-	switch(type) {
-	case FILE_LUCAS:
-		return std::string("LucasArts AdLib MIDI");
-	case FILE_MIDI:
-		return std::string("General MIDI");
-	case FILE_CMF:
-		return std::string("Creative Music Format (CMF MIDI)");
-	case FILE_OLDLUCAS:
-		return std::string("Lucasfilm Adlib MIDI");
-	case FILE_ADVSIERRA:
-		return std::string("Sierra On-Line VGA MIDI");
-	case FILE_SIERRA:
-		return std::string("Sierra On-Line EGA MIDI");
-	default:
-		return std::string("MIDI unknown");
-	}
+  switch (type)
+  {
+  case FILE_LUCAS:
+    return std::string ("LucasArts AdLib MIDI");
+  case FILE_MIDI:
+    return std::string ("General MIDI");
+  case FILE_CMF:
+    return std::string ("Creative Music Format (CMF MIDI)");
+  case FILE_OLDLUCAS:
+    return std::string ("Lucasfilm Adlib MIDI");
+  case FILE_ADVSIERRA:
+    return std::string ("Sierra On-Line VGA MIDI");
+  case FILE_SIERRA:
+    return std::string ("Sierra On-Line EGA MIDI");
+  default:
+    return std::string ("MIDI unknown");
+  }
 }
--- a/src/adplug/core/mkj.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/mkj.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -24,129 +24,189 @@
 #include "mkj.h"
 #include "debug.h"
 
-CPlayer *CmkjPlayer::factory(Copl *newopl)
+CPlayer *
+CmkjPlayer::factory (Copl * newopl)
 {
-  return new CmkjPlayer(newopl);
+  return new CmkjPlayer (newopl);
 }
 
-bool CmkjPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CmkjPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
-  char	id[6];
-  float	ver;
-  int	i, j;
-  short	inst[8];
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  char id[6];
+  float ver;
+  int i, j;
+  short inst[8];
 
   // file validation
-  f->readString(id, 6);
-  if(strncmp(id,"MKJamz",6)) { fp.close(f); return false; }
-  ver = f->readFloat(binio::Single);
-  if(ver > 1.12) { fp.close(f); return false; }
+  f->readString (id, 6);
+  if (strncmp (id, "MKJamz", 6))
+  {
+    fp.close (f);
+    return false;
+  }
+  ver = f->readFloat (binio::Single);
+  if (ver > 1.12)
+  {
+    fp.close (f);
+    return false;
+  }
 
   // load
-  maxchannel = f->readInt(2);
-  opl->init(); opl->write(1, 32);
-  for(i = 0; i < maxchannel; i++) {
-    for(j = 0; j < 8; j++) inst[j] = f->readInt(2);
-    opl->write(0x20+op_table[i],inst[4]);
-    opl->write(0x23+op_table[i],inst[0]);
-    opl->write(0x40+op_table[i],inst[5]);
-    opl->write(0x43+op_table[i],inst[1]);
-    opl->write(0x60+op_table[i],inst[6]);
-    opl->write(0x63+op_table[i],inst[2]);
-    opl->write(0x80+op_table[i],inst[7]);
-    opl->write(0x83+op_table[i],inst[3]);
+  maxchannel = f->readInt (2);
+  opl->init ();
+  opl->write (1, 32);
+  for (i = 0; i < maxchannel; i++)
+  {
+    for (j = 0; j < 8; j++)
+      inst[j] = f->readInt (2);
+    opl->write (0x20 + op_table[i], inst[4]);
+    opl->write (0x23 + op_table[i], inst[0]);
+    opl->write (0x40 + op_table[i], inst[5]);
+    opl->write (0x43 + op_table[i], inst[1]);
+    opl->write (0x60 + op_table[i], inst[6]);
+    opl->write (0x63 + op_table[i], inst[2]);
+    opl->write (0x80 + op_table[i], inst[7]);
+    opl->write (0x83 + op_table[i], inst[3]);
   }
-  maxnotes = f->readInt(2);
-  songbuf = new short [(maxchannel+1)*maxnotes];
-  for(i = 0; i < maxchannel; i++) channel[i].defined = f->readInt(2);
-  for(i = 0; i < (maxchannel + 1) * maxnotes; i++)
-    songbuf[i] = f->readInt(2);
+  maxnotes = f->readInt (2);
+  songbuf = new short[(maxchannel + 1) * maxnotes];
+  for (i = 0; i < maxchannel; i++)
+    channel[i].defined = f->readInt (2);
+  for (i = 0; i < (maxchannel + 1) * maxnotes; i++)
+    songbuf[i] = f->readInt (2);
 
-  AdPlug_LogWrite("CmkjPlayer::load(\"%s\"): loaded file ver %.2f, %d channels,"
-		  " %d notes/channel.\n", fd->uri, ver, maxchannel,
-		  maxnotes);
-  fp.close(f);
-  rewind(0);
+  AdPlug_LogWrite
+    ("CmkjPlayer::load(\"%s\"): loaded file ver %.2f, %d channels,"
+     " %d notes/channel.\n", fd->uri, ver, maxchannel, maxnotes);
+  fp.close (f);
+  rewind (0);
   return true;
 }
 
-bool CmkjPlayer::update()
+bool
+CmkjPlayer::update ()
 {
   int c, i;
   short note;
 
-  for(c = 0; c < maxchannel; c++) {
-    if(!channel[c].defined)	// skip if channel is disabled
+  for (c = 0; c < maxchannel; c++)
+  {
+    if (!channel[c].defined)    // skip if channel is disabled
       continue;
 
-    if(channel[c].pstat) {
+    if (channel[c].pstat)
+    {
       channel[c].pstat--;
       continue;
     }
 
-    opl->write(0xb0 + c, 0);	// key off
-    do {
-      assert(channel[c].songptr < (maxchannel + 1) * maxnotes);
+    opl->write (0xb0 + c, 0);   // key off
+    do
+    {
+      assert (channel[c].songptr < (maxchannel + 1) * maxnotes);
       note = songbuf[channel[c].songptr];
-      if(channel[c].songptr - c > maxchannel)
-	if(note && note < 250)
-	  channel[c].pstat = channel[c].speed;
-      switch(note) {
-	// normal notes
-      case 68: opl->write(0xa0 + c,0x81); opl->write(0xb0 + c,0x21 + 4 * channel[c].octave); break;
-      case 69: opl->write(0xa0 + c,0xb0); opl->write(0xb0 + c,0x21 + 4 * channel[c].octave); break;
-      case 70: opl->write(0xa0 + c,0xca); opl->write(0xb0 + c,0x21 + 4 * channel[c].octave); break;
-      case 71: opl->write(0xa0 + c,0x2); opl->write(0xb0 + c,0x22 + 4 * channel[c].octave); break;
-      case 65: opl->write(0xa0 + c,0x41); opl->write(0xb0 + c,0x22 + 4 * channel[c].octave); break;
-      case 66: opl->write(0xa0 + c,0x87); opl->write(0xb0 + c,0x22 + 4 * channel[c].octave); break;
-      case 67: opl->write(0xa0 + c,0xae); opl->write(0xb0 + c,0x22 + 4 * channel[c].octave); break;
-      case 17: opl->write(0xa0 + c,0x6b); opl->write(0xb0 + c,0x21 + 4 * channel[c].octave); break;
-      case 18: opl->write(0xa0 + c,0x98); opl->write(0xb0 + c,0x21 + 4 * channel[c].octave); break;
-      case 20: opl->write(0xa0 + c,0xe5); opl->write(0xb0 + c,0x21 + 4 * channel[c].octave); break;
-      case 21: opl->write(0xa0 + c,0x20); opl->write(0xb0 + c,0x22 + 4 * channel[c].octave); break;
-      case 15: opl->write(0xa0 + c,0x63); opl->write(0xb0 + c,0x22 + 4 * channel[c].octave); break;
-      case 255:	// delay
-	channel[c].songptr += maxchannel;
-	channel[c].pstat = songbuf[channel[c].songptr];
-	break;
-      case 254:	// set octave
-	channel[c].songptr += maxchannel;
-	channel[c].octave = songbuf[channel[c].songptr];
-	break;
-      case 253:	// set speed
-	channel[c].songptr += maxchannel;
-	channel[c].speed = songbuf[channel[c].songptr];
-	break;
-      case 252:	// set waveform
-	channel[c].songptr += maxchannel;
-	channel[c].waveform = songbuf[channel[c].songptr] - 300;
-	if(c > 2)
-	  opl->write(0xe0 + c + (c+6),channel[c].waveform);
-	else
-	  opl->write(0xe0 + c,channel[c].waveform);
-	break;
-      case 251:	// song end
-	for(i = 0; i < maxchannel; i++) channel[i].songptr = i;
-	songend = true;
-	return false;
+      if (channel[c].songptr - c > maxchannel)
+        if (note && note < 250)
+          channel[c].pstat = channel[c].speed;
+      switch (note)
+      {
+        // normal notes
+      case 68:
+        opl->write (0xa0 + c, 0x81);
+        opl->write (0xb0 + c, 0x21 + 4 * channel[c].octave);
+        break;
+      case 69:
+        opl->write (0xa0 + c, 0xb0);
+        opl->write (0xb0 + c, 0x21 + 4 * channel[c].octave);
+        break;
+      case 70:
+        opl->write (0xa0 + c, 0xca);
+        opl->write (0xb0 + c, 0x21 + 4 * channel[c].octave);
+        break;
+      case 71:
+        opl->write (0xa0 + c, 0x2);
+        opl->write (0xb0 + c, 0x22 + 4 * channel[c].octave);
+        break;
+      case 65:
+        opl->write (0xa0 + c, 0x41);
+        opl->write (0xb0 + c, 0x22 + 4 * channel[c].octave);
+        break;
+      case 66:
+        opl->write (0xa0 + c, 0x87);
+        opl->write (0xb0 + c, 0x22 + 4 * channel[c].octave);
+        break;
+      case 67:
+        opl->write (0xa0 + c, 0xae);
+        opl->write (0xb0 + c, 0x22 + 4 * channel[c].octave);
+        break;
+      case 17:
+        opl->write (0xa0 + c, 0x6b);
+        opl->write (0xb0 + c, 0x21 + 4 * channel[c].octave);
+        break;
+      case 18:
+        opl->write (0xa0 + c, 0x98);
+        opl->write (0xb0 + c, 0x21 + 4 * channel[c].octave);
+        break;
+      case 20:
+        opl->write (0xa0 + c, 0xe5);
+        opl->write (0xb0 + c, 0x21 + 4 * channel[c].octave);
+        break;
+      case 21:
+        opl->write (0xa0 + c, 0x20);
+        opl->write (0xb0 + c, 0x22 + 4 * channel[c].octave);
+        break;
+      case 15:
+        opl->write (0xa0 + c, 0x63);
+        opl->write (0xb0 + c, 0x22 + 4 * channel[c].octave);
+        break;
+      case 255:                // delay
+        channel[c].songptr += maxchannel;
+        channel[c].pstat = songbuf[channel[c].songptr];
+        break;
+      case 254:                // set octave
+        channel[c].songptr += maxchannel;
+        channel[c].octave = songbuf[channel[c].songptr];
+        break;
+      case 253:                // set speed
+        channel[c].songptr += maxchannel;
+        channel[c].speed = songbuf[channel[c].songptr];
+        break;
+      case 252:                // set waveform
+        channel[c].songptr += maxchannel;
+        channel[c].waveform = songbuf[channel[c].songptr] - 300;
+        if (c > 2)
+          opl->write (0xe0 + c + (c + 6), channel[c].waveform);
+        else
+          opl->write (0xe0 + c, channel[c].waveform);
+        break;
+      case 251:                // song end
+        for (i = 0; i < maxchannel; i++)
+          channel[i].songptr = i;
+        songend = true;
+        return false;
       }
 
-      if(channel[c].songptr - c < maxnotes)
-	channel[c].songptr += maxchannel;
+      if (channel[c].songptr - c < maxnotes)
+        channel[c].songptr += maxchannel;
       else
-	channel[c].songptr = c;
-    } while(!channel[c].pstat);
+        channel[c].songptr = c;
+    } while (!channel[c].pstat);
   }
 
   return !songend;
 }
 
-void CmkjPlayer::rewind(int subsong)
+void
+CmkjPlayer::rewind (int subsong)
 {
   int i;
 
-  for(i = 0; i < maxchannel; i++) {
+  for (i = 0; i < maxchannel; i++)
+  {
     channel[i].pstat = 0;
     channel[i].speed = 0;
     channel[i].waveform = 0;
@@ -157,7 +217,8 @@
   songend = false;
 }
 
-float CmkjPlayer::getrefresh()
+float
+CmkjPlayer::getrefresh ()
 {
   return 100.0f;
 }
--- a/src/adplug/core/msc.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/msc.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -24,289 +24,314 @@
 #include "msc.h"
 #include "debug.h"
 
-const unsigned char CmscPlayer::msc_signature [MSC_SIGN_LEN] = {
-	'C', 'e', 'r', 'e', 's', ' ', '\x13', ' ',
-	'M', 'S', 'C', 'p', 'l', 'a', 'y', ' ' };
+const unsigned char
+  CmscPlayer::msc_signature[MSC_SIGN_LEN] = {
+  'C', 'e', 'r', 'e', 's', ' ', '\x13', ' ',
+  'M', 'S', 'C', 'p', 'l', 'a', 'y', ' '
+};
 
 /*** public methods *************************************/
 
-CPlayer *CmscPlayer::factory (Copl * newopl)
+CPlayer *
+CmscPlayer::factory (Copl * newopl)
 {
-	return new CmscPlayer (newopl);
+  return new CmscPlayer (newopl);
 }
 
-CmscPlayer::CmscPlayer(Copl * newopl) : CPlayer (newopl)
+CmscPlayer::CmscPlayer (Copl * newopl):CPlayer (newopl)
 {
-	desc = NULL;
-	msc_data = NULL;
-	raw_data = NULL;
-	nr_blocks = 0;
+  desc = NULL;
+  msc_data = NULL;
+  raw_data = NULL;
+  nr_blocks = 0;
 }
 
-CmscPlayer::~CmscPlayer()
+CmscPlayer::~CmscPlayer ()
 {
-	if (raw_data != NULL)
-		delete [] raw_data;
-	
-	if (msc_data != NULL) {
-		// free compressed blocks
-		for (int blk_num = 0; blk_num < nr_blocks; blk_num++) {
-			if (msc_data [blk_num].mb_data != NULL)
-				delete [] msc_data [blk_num].mb_data;
-		}
-		
-		delete [] msc_data;
-	}
-	
-	if (desc != NULL)
-		delete [] desc;
+  if (raw_data != NULL)
+    delete[]raw_data;
+
+  if (msc_data != NULL)
+  {
+    // free compressed blocks
+    for (int blk_num = 0; blk_num < nr_blocks; blk_num++)
+    {
+      if (msc_data[blk_num].mb_data != NULL)
+        delete[]msc_data[blk_num].mb_data;
+    }
+
+    delete[]msc_data;
+  }
+
+  if (desc != NULL)
+    delete[]desc;
 }
 
-bool CmscPlayer::load(VFSFile * fd, const CFileProvider & fp)
+bool
+CmscPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-	binistream * 	bf;
-	msc_header	hdr;
+  binistream *bf;
+  msc_header hdr;
+
+  // open and validate the file
+  bf = fp.open (fd);
+  if (!bf)
+    return false;
+
+  if (!load_header (bf, &hdr))
+  {
+    fp.close (bf);
+    return false;
+  }
+
+  // get stuff from the header
+  version = hdr.mh_ver;
+  timer_div = hdr.mh_timer;
+  nr_blocks = hdr.mh_nr_blocks;
+  block_len = hdr.mh_block_len;
 
-	// open and validate the file
-	bf = fp.open (fd);
-	if (! bf)
-		return false;
-	
-	if (! load_header (bf, & hdr)) {
-		fp.close (bf);
-		return false;
-	}
-	
-	// get stuff from the header
-	version = hdr.mh_ver;
-	timer_div = hdr.mh_timer;
-	nr_blocks = hdr.mh_nr_blocks;
-	block_len = hdr.mh_block_len;
-	
-	if (! nr_blocks) {
-		fp.close (bf);
-		return false;
-	}
-	
-	// load compressed data blocks
-	msc_data = new msc_block [nr_blocks];
-	raw_data = new u8 [block_len];
+  if (!nr_blocks)
+  {
+    fp.close (bf);
+    return false;
+  }
+
+  // load compressed data blocks
+  msc_data = new msc_block[nr_blocks];
+  raw_data = new u8[block_len];
+
+  for (int blk_num = 0; blk_num < nr_blocks; blk_num++)
+  {
+    msc_block blk;
 
-	for (int blk_num = 0; blk_num < nr_blocks; blk_num++) {
-		msc_block blk;
-		
-		blk.mb_length = bf->readInt (2);
-		blk.mb_data = new u8 [blk.mb_length];
-		for (int oct_num = 0; oct_num < blk.mb_length; oct_num++) {
-			blk.mb_data [oct_num] = bf->readInt (1);
-		}
-		
-		msc_data [blk_num] = blk;
-	}
-	
-	// clean up & initialize
-	fp.close (bf);
-	rewind (0);
-	
-	return true;	
+    blk.mb_length = bf->readInt (2);
+    blk.mb_data = new u8[blk.mb_length];
+    for (int oct_num = 0; oct_num < blk.mb_length; oct_num++)
+    {
+      blk.mb_data[oct_num] = bf->readInt (1);
+    }
+
+    msc_data[blk_num] = blk;
+  }
+
+  // clean up & initialize
+  fp.close (bf);
+  rewind (0);
+
+  return true;
 }
 
-bool CmscPlayer::update()
+bool
+CmscPlayer::update ()
 {
-	// output data
-	while (! delay) {
-		u8	cmnd;
-		u8	data;
+  // output data
+  while (!delay)
+  {
+    u8 cmnd;
+    u8 data;
+
+    // decode data
+    if (!decode_octet (&cmnd))
+      return false;
+
+    if (!decode_octet (&data))
+      return false;
+
+    // check for special commands
+    switch (cmnd)
+    {
 
-		// decode data
-		if (! decode_octet (& cmnd))
-			return false;
-			
-		if (! decode_octet (& data))
-			return false;
-			
-		// check for special commands
-		switch (cmnd) {
-		
-		// delay
-		case 0xff:
-			delay = 1 + (u8) (data - 1);
-			break;
-		
-		// play command & data
-		default:
-			opl->write (cmnd, data);
-			
-		} // command switch
-	} // play pass
-	
-	
-	// count delays
-	if (delay)
-		delay--;
-	
-	// advance player position
-	play_pos++;
-	return true;
+      // delay
+    case 0xff:
+      delay = 1 + (u8) (data - 1);
+      break;
+
+      // play command & data
+    default:
+      opl->write (cmnd, data);
+
+    }                           // command switch
+  }                             // play pass
+
+
+  // count delays
+  if (delay)
+    delay--;
+
+  // advance player position
+  play_pos++;
+  return true;
 }
 
-void CmscPlayer::rewind(int subsong)
+void
+CmscPlayer::rewind (int subsong)
 {
-	// reset state
-	dec_prefix = 0;
-	block_num = 0;
-	block_pos = 0;
-	play_pos = 0;
-	raw_pos = 0;
-	delay = 0;
-	
-	// init the OPL chip and go to OPL2 mode
-  opl->init();
-  opl->write(1, 32);
+  // reset state
+  dec_prefix = 0;
+  block_num = 0;
+  block_pos = 0;
+  play_pos = 0;
+  raw_pos = 0;
+  delay = 0;
+
+  // init the OPL chip and go to OPL2 mode
+  opl->init ();
+  opl->write (1, 32);
 }
 
-float CmscPlayer::getrefresh()
+float
+CmscPlayer::getrefresh ()
 {
-	// PC timer oscillator frequency / wait register
-	return 1193180 / (float) (timer_div ? timer_div : 0xffff);
+  // PC timer oscillator frequency / wait register
+  return 1193180 / (float) (timer_div ? timer_div : 0xffff);
 }
 
-std::string CmscPlayer::gettype()
+std::string CmscPlayer::gettype ()
 {
-	char vstr [40];
-	
-  sprintf(vstr, "AdLib MSCplay (version %d)", version);
-	return std::string (vstr);
+  char
+    vstr[40];
+
+  sprintf (vstr, "AdLib MSCplay (version %d)", version);
+  return std::string (vstr);
 }
 
 /*** private methods *************************************/
 
-bool CmscPlayer::load_header(binistream * bf, msc_header * hdr)
+bool
+CmscPlayer::load_header (binistream * bf, msc_header * hdr)
 {
-	// check signature
-	bf->readString ((char *) hdr->mh_sign, sizeof (hdr->mh_sign));
-	if (memcmp (msc_signature, hdr->mh_sign, MSC_SIGN_LEN) != 0)
-		return false;
+  // check signature
+  bf->readString ((char *) hdr->mh_sign, sizeof (hdr->mh_sign));
+  if (memcmp (msc_signature, hdr->mh_sign, MSC_SIGN_LEN) != 0)
+    return false;
 
-	// check version
-	hdr->mh_ver = bf->readInt (2);
-	if (hdr->mh_ver != 0)
-		return false;
+  // check version
+  hdr->mh_ver = bf->readInt (2);
+  if (hdr->mh_ver != 0)
+    return false;
 
-	bf->readString ((char *) hdr->mh_desc, sizeof (hdr->mh_desc));
-	hdr->mh_timer = bf->readInt (2);
-	hdr->mh_nr_blocks = bf->readInt (2);
-	hdr->mh_block_len = bf->readInt (2);
-	return true;
+  bf->readString ((char *) hdr->mh_desc, sizeof (hdr->mh_desc));
+  hdr->mh_timer = bf->readInt (2);
+  hdr->mh_nr_blocks = bf->readInt (2);
+  hdr->mh_block_len = bf->readInt (2);
+  return true;
 }
 
-bool CmscPlayer::decode_octet(u8 * output)
+bool
+CmscPlayer::decode_octet (u8 * output)
 {
-	msc_block blk;			// compressed data block
-	
-	if (block_num >= nr_blocks)
-		return false;
-		
-	blk = msc_data [block_num];
-	while (1) {
-		u8 	octet;		// decoded octet
-    u8	len_corr;	// length correction
-		
-		// advance to next block if necessary
-		if (block_pos >= blk.mb_length && dec_len == 0) {
-			block_num++;
-			if (block_num >= nr_blocks)
-				return false;
-				
-			blk = msc_data [block_num];
-			block_pos = 0;
-			raw_pos = 0;
-		}
-		
-		// decode the compressed music data
-		switch (dec_prefix) {
-		
-		// decode prefix
-		case 155:
-		case 175:
-			octet = blk.mb_data [block_pos++];
-			if (octet == 0) {
-				// invalid prefix, output original
-				octet = dec_prefix;
-				dec_prefix = 0;
-				break;
-			}
-			
-			// isolate length and distance
-			dec_len = (octet & 0x0F);
-			len_corr = 2;
+  msc_block blk;                // compressed data block
+
+  if (block_num >= nr_blocks)
+    return false;
+
+  blk = msc_data[block_num];
+  while (1)
+  {
+    u8 octet;                   // decoded octet
+    u8 len_corr;                // length correction
+
+    // advance to next block if necessary
+    if (block_pos >= blk.mb_length && dec_len == 0)
+    {
+      block_num++;
+      if (block_num >= nr_blocks)
+        return false;
+
+      blk = msc_data[block_num];
+      block_pos = 0;
+      raw_pos = 0;
+    }
 
-			dec_dist = (octet & 0xF0) >> 4;
-			if (dec_prefix == 155)
-				dec_dist++;
-				
-			// next decode step for respective prefix type
-			dec_prefix++;
-			continue;
-			
+    // decode the compressed music data
+    switch (dec_prefix)
+    {
 
-		// check for extended length
-		case 156:
-			if (dec_len == 15)
-				dec_len += blk.mb_data [block_pos++];
+      // decode prefix
+    case 155:
+    case 175:
+      octet = blk.mb_data[block_pos++];
+      if (octet == 0)
+      {
+        // invalid prefix, output original
+        octet = dec_prefix;
+        dec_prefix = 0;
+        break;
+      }
+
+      // isolate length and distance
+      dec_len = (octet & 0x0F);
+      len_corr = 2;
+
+      dec_dist = (octet & 0xF0) >> 4;
+      if (dec_prefix == 155)
+        dec_dist++;
+
+      // next decode step for respective prefix type
+      dec_prefix++;
+      continue;
+
 
-			// add length correction and go for copy mode
-			dec_len += len_corr;
-			dec_prefix = 255;
-			continue;
-			
-			
-		// get extended distance
-		case 176:
-			dec_dist += 17 + 16 * blk.mb_data [block_pos++];
-			len_corr = 3;
-			
-			// check for extended length
-			dec_prefix = 156;
-			continue;
-			
-			
-		// prefix copy mode
-		case 255:
-      if((int)raw_pos >= dec_dist)
-			octet = raw_data [raw_pos - dec_dist];
-      else {
-	AdPlug_LogWrite("error! read before raw_data buffer.\n");
-	octet = 0;
+      // check for extended length
+    case 156:
+      if (dec_len == 15)
+        dec_len += blk.mb_data[block_pos++];
+
+      // add length correction and go for copy mode
+      dec_len += len_corr;
+      dec_prefix = 255;
+      continue;
+
+
+      // get extended distance
+    case 176:
+      dec_dist += 17 + 16 * blk.mb_data[block_pos++];
+      len_corr = 3;
+
+      // check for extended length
+      dec_prefix = 156;
+      continue;
+
+
+      // prefix copy mode
+    case 255:
+      if ((int) raw_pos >= dec_dist)
+        octet = raw_data[raw_pos - dec_dist];
+      else
+      {
+        AdPlug_LogWrite ("error! read before raw_data buffer.\n");
+        octet = 0;
       }
-			
-			dec_len--;
-			if (dec_len == 0) {
-				// back to normal mode
-				dec_prefix = 0;
-			}
-			
-			break;
+
+      dec_len--;
+      if (dec_len == 0)
+      {
+        // back to normal mode
+        dec_prefix = 0;
+      }
+
+      break;
+
 
-			
-		// normal mode
-		default:
-			octet = blk.mb_data [block_pos++];
-			if (octet == 155 || octet == 175) {
-				// it's a prefix, restart
-				dec_prefix = octet;
-				continue;
-			}
-		} // prefix switch
+      // normal mode
+    default:
+      octet = blk.mb_data[block_pos++];
+      if (octet == 155 || octet == 175)
+      {
+        // it's a prefix, restart
+        dec_prefix = octet;
+        continue;
+      }
+    }                           // prefix switch
 
-			
-		// output the octet
-		if (output != NULL)
-			*output = octet;
-			
-		raw_data [raw_pos++] = octet;
-		break;
-	}; // decode pass
+
+    // output the octet
+    if (output != NULL)
+      *output = octet;
 
-	return true;
-}	
+    raw_data[raw_pos++] = octet;
+    break;
+  };                            // decode pass
+
+  return true;
+}
--- a/src/adplug/core/mtk.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/mtk.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -23,118 +23,144 @@
 
 /*** public methods **************************************/
 
-CPlayer *CmtkLoader::factory(Copl *newopl)
+CPlayer *
+CmtkLoader::factory (Copl * newopl)
 {
-  return new CmtkLoader(newopl);
+  return new CmtkLoader (newopl);
 }
 
-bool CmtkLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CmtkLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-        binistream *f = fp.open(fd); if(!f) return false;
-	struct {
-		char id[18];
-		unsigned short crc,size;
-	} header;
-	struct mtkdata {
-		char songname[34],composername[34],instname[0x80][34];
-		unsigned char insts[0x80][12],order[0x80],dummy,patterns[0x32][0x40][9];
-	} *data;
-	unsigned char *cmp,*org;
-	unsigned int i;
-	unsigned long cmpsize,cmpptr=0,orgptr=0;
-	unsigned short ctrlbits=0,ctrlmask=0,cmd,cnt,offs;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  struct
+  {
+    char id[18];
+    unsigned short crc, size;
+  } header;
+  struct mtkdata
+  {
+    char songname[34], composername[34], instname[0x80][34];
+    unsigned char insts[0x80][12], order[0x80], dummy,
+      patterns[0x32][0x40][9];
+  } *data;
+  unsigned char *cmp, *org;
+  unsigned int i;
+  unsigned long cmpsize, cmpptr = 0, orgptr = 0;
+  unsigned short ctrlbits = 0, ctrlmask = 0, cmd, cnt, offs;
 
-	// read header
-	f->readString(header.id, 18);
-	header.crc = f->readInt(2);
-	header.size = f->readInt(2);
+  // read header
+  f->readString (header.id, 18);
+  header.crc = f->readInt (2);
+  header.size = f->readInt (2);
 
-	// file validation section
-	if(strncmp(header.id,"mpu401tr\x92kk\xeer@data",18))
-	  { fp.close(f); return false; }
+  // file validation section
+  if (strncmp (header.id, "mpu401tr\x92kk\xeer@data", 18))
+  {
+    fp.close (f);
+    return false;
+  }
 
-	// load section
-	cmpsize = fp.filesize(f) - 22;
-	cmp = new unsigned char[cmpsize];
-	org = new unsigned char[header.size];
-	for(i = 0; i < cmpsize; i++) cmp[i] = f->readInt(1);
-	fp.close(f);
+  // load section
+  cmpsize = fp.filesize (f) - 22;
+  cmp = new unsigned char[cmpsize];
+  org = new unsigned char[header.size];
+  for (i = 0; i < cmpsize; i++)
+    cmp[i] = f->readInt (1);
+  fp.close (f);
 
-	while(cmpptr < cmpsize) {	// decompress
-		ctrlmask >>= 1;
-		if(!ctrlmask) {
-		        ctrlbits = cmp[cmpptr] + (cmp[cmpptr + 1] << 8);
-			cmpptr += 2;
-			ctrlmask = 0x8000;
-		}
-		if(!(ctrlbits & ctrlmask)) {	// uncompressed data
-      if(orgptr >= header.size)
-	goto err;
+  while (cmpptr < cmpsize)
+  {                             // decompress
+    ctrlmask >>= 1;
+    if (!ctrlmask)
+    {
+      ctrlbits = cmp[cmpptr] + (cmp[cmpptr + 1] << 8);
+      cmpptr += 2;
+      ctrlmask = 0x8000;
+    }
+    if (!(ctrlbits & ctrlmask))
+    {                           // uncompressed data
+      if (orgptr >= header.size)
+        goto err;
 
-			org[orgptr] = cmp[cmpptr];
-			orgptr++; cmpptr++;
-			continue;
-		}
+      org[orgptr] = cmp[cmpptr];
+      orgptr++;
+      cmpptr++;
+      continue;
+    }
 
-		// compressed data
-		cmd = (cmp[cmpptr] >> 4) & 0x0f;
-		cnt = cmp[cmpptr] & 0x0f;
-		cmpptr++;
-		switch(cmd) {
+    // compressed data
+    cmd = (cmp[cmpptr] >> 4) & 0x0f;
+    cnt = cmp[cmpptr] & 0x0f;
+    cmpptr++;
+    switch (cmd)
+    {
     case 0:
-      if(orgptr + cnt > header.size) goto err;
+      if (orgptr + cnt > header.size)
+        goto err;
       cnt += 3;
-      memset(&org[orgptr],cmp[cmpptr],cnt);
-      cmpptr++; orgptr += cnt;
+      memset (&org[orgptr], cmp[cmpptr], cnt);
+      cmpptr++;
+      orgptr += cnt;
       break;
 
     case 1:
-      if(orgptr + cnt > header.size) goto err;
+      if (orgptr + cnt > header.size)
+        goto err;
       cnt += (cmp[cmpptr] << 4) + 19;
-      memset(&org[orgptr],cmp[++cmpptr],cnt);
-      cmpptr++; orgptr += cnt;
+      memset (&org[orgptr], cmp[++cmpptr], cnt);
+      cmpptr++;
+      orgptr += cnt;
       break;
 
     case 2:
-      if(orgptr + cnt > header.size) goto err;
-      offs = (cnt+3) + (cmp[cmpptr] << 4);
-      cnt = cmp[++cmpptr] + 16; cmpptr++;
-      memcpy(&org[orgptr],&org[orgptr - offs],cnt);
+      if (orgptr + cnt > header.size)
+        goto err;
+      offs = (cnt + 3) + (cmp[cmpptr] << 4);
+      cnt = cmp[++cmpptr] + 16;
+      cmpptr++;
+      memcpy (&org[orgptr], &org[orgptr - offs], cnt);
       orgptr += cnt;
       break;
 
     default:
-      if(orgptr + cmd > header.size) goto err;
-      offs = (cnt+3) + (cmp[cmpptr++] << 4);
-      memcpy(&org[orgptr],&org[orgptr-offs],cmd);
+      if (orgptr + cmd > header.size)
+        goto err;
+      offs = (cnt + 3) + (cmp[cmpptr++] << 4);
+      memcpy (&org[orgptr], &org[orgptr - offs], cmd);
       orgptr += cmd;
       break;
-		}
-	}
-	delete [] cmp;
-	data = (struct mtkdata *) org;
+    }
+  }
+  delete[]cmp;
+  data = (struct mtkdata *) org;
 
-	// convert to HSC replay data
-	memset(title,0,34); strncpy(title,data->songname+1,33);
-	memset(composer,0,34); strncpy(composer,data->composername+1,33);
-	memset(instname,0,0x80*34);
-	for(i=0;i<0x80;i++)
-		strncpy(instname[i],data->instname[i]+1,33);
-	memcpy(instr,data->insts,0x80 * 12);
-	memcpy(song,data->order,0x80);
-	memcpy(patterns,data->patterns,header.size-6084);
-	for (i=0;i<128;i++) {				// correct instruments
-		instr[i][2] ^= (instr[i][2] & 0x40) << 1;
-		instr[i][3] ^= (instr[i][3] & 0x40) << 1;
-		instr[i][11] >>= 4;		// make unsigned
-	}
+  // convert to HSC replay data
+  memset (title, 0, 34);
+  strncpy (title, data->songname + 1, 33);
+  memset (composer, 0, 34);
+  strncpy (composer, data->composername + 1, 33);
+  memset (instname, 0, 0x80 * 34);
+  for (i = 0; i < 0x80; i++)
+    strncpy (instname[i], data->instname[i] + 1, 33);
+  memcpy (instr, data->insts, 0x80 * 12);
+  memcpy (song, data->order, 0x80);
+  memcpy (patterns, data->patterns, header.size - 6084);
+  for (i = 0; i < 128; i++)
+  {                             // correct instruments
+    instr[i][2] ^= (instr[i][2] & 0x40) << 1;
+    instr[i][3] ^= (instr[i][3] & 0x40) << 1;
+    instr[i][11] >>= 4;         // make unsigned
+  }
 
-	delete [] org;
-	rewind(0);
-	return true;
+  delete[]org;
+  rewind (0);
+  return true;
 
- err:
-  delete [] cmp;
-  delete [] org;
+err:
+  delete[]cmp;
+  delete[]org;
   return false;
 }
--- a/src/adplug/core/player.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/player.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -25,46 +25,49 @@
 
 /***** CPlayer *****/
 
-const unsigned short CPlayer::note_table[12] =
-  {363, 385, 408, 432, 458, 485, 514, 544, 577, 611, 647, 686};
+const unsigned short
+CPlayer::note_table[12] =
+  { 363, 385, 408, 432, 458, 485, 514, 544, 577, 611, 647, 686 };
 
-const unsigned char CPlayer::op_table[9] =
-  {0x00, 0x01, 0x02, 0x08, 0x09, 0x0a, 0x10, 0x11, 0x12};
+const unsigned char
+CPlayer::op_table[9] =
+  { 0x00, 0x01, 0x02, 0x08, 0x09, 0x0a, 0x10, 0x11, 0x12 };
 
-CPlayer::CPlayer(Copl *newopl)
-  : opl(newopl), db(CAdPlug::database)
+CPlayer::CPlayer (Copl * newopl):opl (newopl), db (CAdPlug::database)
 {
 }
 
-CPlayer::~CPlayer()
+CPlayer::~CPlayer ()
 {
 }
 
-unsigned long CPlayer::songlength(int subsong)
+unsigned long
+CPlayer::songlength (int subsong)
 {
-  CSilentopl	tempopl;
-  Copl		*saveopl = opl;
-  float		slength = 0.0f;
+  CSilentopl tempopl;
+  Copl *saveopl = opl;
+  float slength = 0.0f;
 
   // save original OPL from being overwritten
   opl = &tempopl;
 
   // get song length
-  rewind(subsong);
-  while(update() && slength < 600000)	// song length limit: 10 minutes
-    slength += 1000.0f / getrefresh();
-  rewind(subsong);
+  rewind (subsong);
+  while (update () && slength < 600000) // song length limit: 10 minutes
+    slength += 1000.0f / getrefresh ();
+  rewind (subsong);
 
   // restore original OPL and return
   opl = saveopl;
-  return (unsigned long)slength;
+  return (unsigned long) slength;
 }
 
-void CPlayer::seek(unsigned long ms)
+void
+CPlayer::seek (unsigned long ms)
 {
   float pos = 0.0f;
 
-  rewind();
-  while(pos < ms && update())		// seek to new position
-    pos += 1000/getrefresh();
+  rewind ();
+  while (pos < ms && update ()) // seek to new position
+    pos += 1000 / getrefresh ();
 }
--- a/src/adplug/core/players.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/players.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -26,80 +26,92 @@
 
 /***** CPlayerDesc *****/
 
-CPlayerDesc::CPlayerDesc()
-  : factory(0), extensions(0), extlength(0)
+CPlayerDesc::CPlayerDesc ():factory (0), extensions (0), extlength (0)
 {
 }
 
-CPlayerDesc::CPlayerDesc(const CPlayerDesc &pd)
-  : factory(pd.factory), filetype(pd.filetype), extlength(pd.extlength)
+CPlayerDesc::CPlayerDesc (const CPlayerDesc & pd):
+factory (pd.factory),
+filetype (pd.filetype),
+extlength (pd.extlength)
 {
-  if(pd.extensions) {
-    extensions = (char *)malloc(extlength);
-    memcpy(extensions, pd.extensions, extlength);
-  } else
+  if (pd.extensions)
+  {
+    extensions = (char *) malloc (extlength);
+    memcpy (extensions, pd.extensions, extlength);
+  }
+  else
     extensions = 0;
 }
 
-CPlayerDesc::CPlayerDesc(Factory f, const std::string &type, const char *ext)
-  : factory(f), filetype(type), extensions(0)
+CPlayerDesc::CPlayerDesc (Factory f, const std::string & type,
+                          const char *ext):
+factory (f),
+filetype (type),
+extensions (0)
 {
   const char *i = ext;
 
   // Determine length of passed extensions list
-  while(*i) i += strlen(i) + 1;
-  extlength = i - ext + 1;	// length = difference between last and first char + 1
+  while (*i)
+    i += strlen (i) + 1;
+  extlength = i - ext + 1;      // length = difference between last and first char + 1
 
-  extensions = (char *)malloc(extlength);
-  memcpy(extensions, ext, extlength);
+  extensions = (char *) malloc (extlength);
+  memcpy (extensions, ext, extlength);
 }
 
-CPlayerDesc::~CPlayerDesc()
+CPlayerDesc::~CPlayerDesc ()
 {
-  if(extensions) free(extensions);
+  if (extensions)
+    free (extensions);
 }
 
-void CPlayerDesc::add_extension(const char *ext)
+void
+CPlayerDesc::add_extension (const char *ext)
 {
-  unsigned long newlength = extlength + strlen(ext) + 1;
+  unsigned long newlength = extlength + strlen (ext) + 1;
 
-  extensions = (char *)realloc(extensions, newlength);
-  strcpy(extensions + extlength - 1, ext);
+  extensions = (char *) realloc (extensions, newlength);
+  strcpy (extensions + extlength - 1, ext);
   extensions[newlength - 1] = '\0';
   extlength = newlength;
 }
 
-const char *CPlayerDesc::get_extension(unsigned int n) const
+const char *
+CPlayerDesc::get_extension (unsigned int n) const const
 {
-  const char	*i = extensions;
-  unsigned int	j;
+  const char *i = extensions;
+  unsigned int j;
 
-  for(j = 0; j < n && (*i); j++, i += strlen(i) + 1) ;
+  for (j = 0; j < n && (*i); j++, i += strlen (i) + 1);
   return (*i != '\0' ? i : 0);
 }
 
 /***** CPlayers *****/
 
-const CPlayerDesc *CPlayers::lookup_filetype(const std::string &ftype) const
+const CPlayerDesc *
+CPlayers::lookup_filetype (const std::string & ftype) const const
 {
-  const_iterator	i;
+  const_iterator i;
 
-  for(i = begin(); i != end(); i++)
-    if((*i)->filetype == ftype)
+  for (i = begin (); i != end (); i++)
+    if ((*i)->filetype == ftype)
       return *i;
 
   return 0;
 }
 
-const CPlayerDesc *CPlayers::lookup_extension(const std::string &extension) const
+const CPlayerDesc *
+CPlayers::lookup_extension (const std::string & extension) const const
 {
-  const_iterator	i;
-  unsigned int		j;
+  const_iterator i;
+  unsigned int j;
 
-  for(i = begin(); i != end(); i++)
-    for(j = 0; (*i)->get_extension(j); j++)
-      if(!stricmp(extension.c_str(), (*i)->get_extension(j)))
-	return *i;
+  for (i = begin (); i != end (); i++)
+    for (j = 0; (*i)->get_extension (j); j++)
+      if (!stricmp (extension.c_str (), (*i)->get_extension (j)))
+        return *i;
 
   return 0;
 }
--- a/src/adplug/core/protrack.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/protrack.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -28,426 +28,508 @@
 #include "protrack.h"
 #include "debug.h"
 
-#define SPECIALARPLEN	256	// Standard length of special arpeggio lists
-#define JUMPMARKER	0x80	// Orderlist jump marker
+#define SPECIALARPLEN	256     // Standard length of special arpeggio lists
+#define JUMPMARKER	0x80        // Orderlist jump marker
 
 // SA2 compatible adlib note table
-const unsigned short CmodPlayer::sa2_notetable[12] =
-  {340,363,385,408,432,458,485,514,544,577,611,647};
+const unsigned short
+CmodPlayer::sa2_notetable[12] =
+  { 340, 363, 385, 408, 432, 458, 485, 514, 544, 577, 611, 647 };
 
 // SA2 compatible vibrato rate table
-const unsigned char CmodPlayer::vibratotab[32] =
-  {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
+const unsigned char
+CmodPlayer::vibratotab[32] =
+  { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 15, 14, 13,
+12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
 
 /*** public methods *************************************/
 
-CmodPlayer::CmodPlayer(Copl *newopl)
-  : CPlayer(newopl), inst(0), order(0), arplist(0), arpcmd(0), initspeed(6),
-    nop(0), activechan(0xffffffff), flags(Standard), curchip(opl->getchip()),
-    nrows(0), npats(0), nchans(0)
+CmodPlayer::CmodPlayer (Copl * newopl):CPlayer (newopl), inst (0), order (0), arplist (0), arpcmd (0), initspeed (6),
+nop (0), activechan (0xffffffff), flags (Standard), curchip (opl->getchip ()),
+nrows (0), npats (0), nchans (0)
 {
-  realloc_order(128);
-  realloc_patterns(64, 64, 9);
-  realloc_instruments(250);
-  init_notetable(sa2_notetable);
+  realloc_order (128);
+  realloc_patterns (64, 64, 9);
+  realloc_instruments (250);
+  init_notetable (sa2_notetable);
 }
 
-CmodPlayer::~CmodPlayer()
+CmodPlayer::~CmodPlayer ()
 {
-  dealloc();
+  dealloc ();
 }
 
-bool CmodPlayer::update()
+bool
+CmodPlayer::update ()
 {
-  unsigned char		pattbreak=0, donote, pattnr, chan, oplchan, info1,
+  unsigned char pattbreak = 0, donote, pattnr, chan, oplchan, info1,
     info2, info, pattern_delay;
-  unsigned short	track;
-  unsigned long		row;
+  unsigned short track;
+  unsigned long row;
 
-	if(!speed)		// song full stop
-		return !songend;
+  if (!speed)                   // song full stop
+    return !songend;
 
-	// effect handling (timer dependant)
-  for(chan = 0; chan < nchans; chan++) {
-    oplchan = set_opl_chip(chan);
+  // effect handling (timer dependant)
+  for (chan = 0; chan < nchans; chan++)
+  {
+    oplchan = set_opl_chip (chan);
 
-		if(arplist && arpcmd && inst[channel[chan].inst].arpstart)	// special arpeggio
-			if(channel[chan].arpspdcnt)
-				channel[chan].arpspdcnt--;
-			else
-				if(arpcmd[channel[chan].arppos] != 255) {
-					switch(arpcmd[channel[chan].arppos]) {
-					case 252: channel[chan].vol1 = arplist[channel[chan].arppos];	// set volume
-							if(channel[chan].vol1 > 63)	// ?????
-								channel[chan].vol1 = 63;
-							channel[chan].vol2 = channel[chan].vol1;
-							setvolume(chan);
-							break;
-					case 253: channel[chan].key = 0; setfreq(chan); break;	// release sustaining note
-					case 254: channel[chan].arppos = arplist[channel[chan].arppos]; break; // arpeggio loop
-					default: if(arpcmd[channel[chan].arppos]) {
-								if(arpcmd[channel[chan].arppos] / 10)
-	      opl->write(0xe3 + op_table[oplchan], arpcmd[channel[chan].arppos] / 10 - 1);
-								if(arpcmd[channel[chan].arppos] % 10)
-	      opl->write(0xe0 + op_table[oplchan], (arpcmd[channel[chan].arppos] % 10) - 1);
-								if(arpcmd[channel[chan].arppos] < 10)	// ?????
-	      opl->write(0xe0 + op_table[oplchan], arpcmd[channel[chan].arppos] - 1);
-							 }
-					}
-					if(arpcmd[channel[chan].arppos] != 252) {
-						if(arplist[channel[chan].arppos] <= 96)
-							setnote(chan,channel[chan].note + arplist[channel[chan].arppos]);
-						if(arplist[channel[chan].arppos] >= 100)
-							setnote(chan,arplist[channel[chan].arppos] - 100);
-					} else
-						setnote(chan,channel[chan].note);
-					setfreq(chan);
-					if(arpcmd[channel[chan].arppos] != 255)
-						channel[chan].arppos++;
-					channel[chan].arpspdcnt = inst[channel[chan].inst].arpspeed - 1;
-				}
+    if (arplist && arpcmd && inst[channel[chan].inst].arpstart) // special arpeggio
+      if (channel[chan].arpspdcnt)
+        channel[chan].arpspdcnt--;
+      else if (arpcmd[channel[chan].arppos] != 255)
+      {
+        switch (arpcmd[channel[chan].arppos])
+        {
+        case 252:
+          channel[chan].vol1 = arplist[channel[chan].arppos];   // set volume
+          if (channel[chan].vol1 > 63)  // ?????
+            channel[chan].vol1 = 63;
+          channel[chan].vol2 = channel[chan].vol1;
+          setvolume (chan);
+          break;
+        case 253:
+          channel[chan].key = 0;
+          setfreq (chan);
+          break;                // release sustaining note
+        case 254:
+          channel[chan].arppos = arplist[channel[chan].arppos];
+          break;                // arpeggio loop
+        default:
+          if (arpcmd[channel[chan].arppos])
+          {
+            if (arpcmd[channel[chan].arppos] / 10)
+              opl->write (0xe3 + op_table[oplchan],
+                          arpcmd[channel[chan].arppos] / 10 - 1);
+            if (arpcmd[channel[chan].arppos] % 10)
+              opl->write (0xe0 + op_table[oplchan],
+                          (arpcmd[channel[chan].arppos] % 10) - 1);
+            if (arpcmd[channel[chan].arppos] < 10)  // ?????
+              opl->write (0xe0 + op_table[oplchan],
+                          arpcmd[channel[chan].arppos] - 1);
+          }
+        }
+        if (arpcmd[channel[chan].arppos] != 252)
+        {
+          if (arplist[channel[chan].arppos] <= 96)
+            setnote (chan,
+                     channel[chan].note + arplist[channel[chan].arppos]);
+          if (arplist[channel[chan].arppos] >= 100)
+            setnote (chan, arplist[channel[chan].arppos] - 100);
+        }
+        else
+          setnote (chan, channel[chan].note);
+        setfreq (chan);
+        if (arpcmd[channel[chan].arppos] != 255)
+          channel[chan].arppos++;
+        channel[chan].arpspdcnt = inst[channel[chan].inst].arpspeed - 1;
+      }
 
-		info1 = channel[chan].info1;
-		info2 = channel[chan].info2;
-		if(flags & Decimal)
-			info = channel[chan].info1 * 10 + channel[chan].info2;
-		else
-			info = (channel[chan].info1 << 4) + channel[chan].info2;
-		switch(channel[chan].fx) {
-		case 0:	if(info) {									// arpeggio
-					if(channel[chan].trigger < 2)
-						channel[chan].trigger++;
-					else
-						channel[chan].trigger = 0;
-					switch(channel[chan].trigger) {
-					case 0: setnote(chan,channel[chan].note); break;
-					case 1: setnote(chan,channel[chan].note + info1); break;
-					case 2: setnote(chan,channel[chan].note + info2);
-					}
-					setfreq(chan);
-				}
-				break;
-		case 1: slide_up(chan,info); setfreq(chan); break;	// slide up
-		case 2: slide_down(chan,info); setfreq(chan); break;	// slide down
-		case 3: tone_portamento(chan,channel[chan].portainfo); break;	// tone portamento
-		case 4: vibrato(chan,channel[chan].vibinfo1,channel[chan].vibinfo2); break;	// vibrato
-		case 5:												// tone portamento & volume slide
-		case 6: if(channel[chan].fx == 5)				// vibrato & volume slide
-					tone_portamento(chan,channel[chan].portainfo);
-				else
-					vibrato(chan,channel[chan].vibinfo1,channel[chan].vibinfo2);
-		case 10: if(del % 4)	// SA2 volume slide
-					break;
-				 if(info1)
-					 vol_up(chan,info1);
-				 else
-					 vol_down(chan,info2);
-				 setvolume(chan);
-				 break;
-		case 14: if(info1 == 3)							// retrig note
-					if(!(del % (info2+1)))
-						playnote(chan);
-				 break;
-		case 16: if(del % 4)	// AMD volume slide
-					break;
-				 if(info1)
-					 vol_up_alt(chan,info1);
-				 else
-					 vol_down_alt(chan,info2);
-				 setvolume(chan);
-				 break;
-		case 20:				// RAD volume slide
-			if(info < 50)
-				vol_down_alt(chan,info);
-			else
-				vol_up_alt(chan,info - 50);
-			setvolume(chan);
-			break;
-		case 26: // volume slide
-			if(info1)
-				vol_up(chan,info1);
-			else
-				vol_down(chan,info2);
-			setvolume(chan);
-			break;
-		case 28:
-			if (info1) {
-				slide_up(chan,1); channel[chan].info1--;
-			}
-			if (info2) {
-				slide_down(chan,1); channel[chan].info2--;
-			}
-			setfreq(chan);
-			break;
-		}
-	}
+    info1 = channel[chan].info1;
+    info2 = channel[chan].info2;
+    if (flags & Decimal)
+      info = channel[chan].info1 * 10 + channel[chan].info2;
+    else
+      info = (channel[chan].info1 << 4) + channel[chan].info2;
+    switch (channel[chan].fx)
+    {
+    case 0:
+      if (info)
+      {                         // arpeggio
+        if (channel[chan].trigger < 2)
+          channel[chan].trigger++;
+        else
+          channel[chan].trigger = 0;
+        switch (channel[chan].trigger)
+        {
+        case 0:
+          setnote (chan, channel[chan].note);
+          break;
+        case 1:
+          setnote (chan, channel[chan].note + info1);
+          break;
+        case 2:
+          setnote (chan, channel[chan].note + info2);
+        }
+        setfreq (chan);
+      }
+      break;
+    case 1:
+      slide_up (chan, info);
+      setfreq (chan);
+      break;                    // slide up
+    case 2:
+      slide_down (chan, info);
+      setfreq (chan);
+      break;                    // slide down
+    case 3:
+      tone_portamento (chan, channel[chan].portainfo);
+      break;                    // tone portamento
+    case 4:
+      vibrato (chan, channel[chan].vibinfo1, channel[chan].vibinfo2);
+      break;                    // vibrato
+    case 5:                    // tone portamento & volume slide
+    case 6:
+      if (channel[chan].fx == 5)    // vibrato & volume slide
+        tone_portamento (chan, channel[chan].portainfo);
+      else
+        vibrato (chan, channel[chan].vibinfo1, channel[chan].vibinfo2);
+    case 10:
+      if (del % 4)              // SA2 volume slide
+        break;
+      if (info1)
+        vol_up (chan, info1);
+      else
+        vol_down (chan, info2);
+      setvolume (chan);
+      break;
+    case 14:
+      if (info1 == 3)           // retrig note
+        if (!(del % (info2 + 1)))
+          playnote (chan);
+      break;
+    case 16:
+      if (del % 4)              // AMD volume slide
+        break;
+      if (info1)
+        vol_up_alt (chan, info1);
+      else
+        vol_down_alt (chan, info2);
+      setvolume (chan);
+      break;
+    case 20:                   // RAD volume slide
+      if (info < 50)
+        vol_down_alt (chan, info);
+      else
+        vol_up_alt (chan, info - 50);
+      setvolume (chan);
+      break;
+    case 26:                   // volume slide
+      if (info1)
+        vol_up (chan, info1);
+      else
+        vol_down (chan, info2);
+      setvolume (chan);
+      break;
+    case 28:
+      if (info1)
+      {
+        slide_up (chan, 1);
+        channel[chan].info1--;
+      }
+      if (info2)
+      {
+        slide_down (chan, 1);
+        channel[chan].info2--;
+      }
+      setfreq (chan);
+      break;
+    }
+  }
 
-	if(del) {		// speed compensation
-		del--;
-		return !songend;
-	}
+  if (del)
+  {                             // speed compensation
+    del--;
+    return !songend;
+  }
 
-	// arrangement handling
-  if(!resolve_order()) return !songend;
-	pattnr = order[ord];
+  // arrangement handling
+  if (!resolve_order ())
+    return !songend;
+  pattnr = order[ord];
 
-        if(!rw) AdPlug_LogWrite("\nCmodPlayer::update(): Pattern: %d, Order: %d\n", pattnr, ord);
-        AdPlug_LogWrite("CmodPlayer::update():%3d|", rw);
+  if (!rw)
+    AdPlug_LogWrite ("\nCmodPlayer::update(): Pattern: %d, Order: %d\n",
+                     pattnr, ord);
+  AdPlug_LogWrite ("CmodPlayer::update():%3d|", rw);
 
-	// play row
+  // play row
   pattern_delay = 0;
-	row = rw;
-  for(chan = 0; chan < nchans; chan++) {
-    oplchan = set_opl_chip(chan);
-
-    if(!(activechan >> (31 - chan)) & 1) {	// channel active?
-                  AdPlug_LogWrite("N/A|");
-		  continue;
-		}
-		if(!(track = trackord[pattnr][chan])) {	// resolve track
-                  AdPlug_LogWrite("------------|");
-		  continue;
-		} else
-			track--;
+  row = rw;
+  for (chan = 0; chan < nchans; chan++)
+  {
+    oplchan = set_opl_chip (chan);
 
-                AdPlug_LogWrite("%3d%3d%2X%2X%2X|", tracks[track][row].note,
-			 tracks[track][row].inst, tracks[track][row].command,
-			 tracks[track][row].param1, tracks[track][row].param2);
-
-		donote = 0;
-		if(tracks[track][row].inst) {
-		  channel[chan].inst = tracks[track][row].inst - 1;
-		  if (!(flags & Faust)) {
-		    channel[chan].vol1 = 63 - (inst[channel[chan].inst].data[10] & 63);
-		    channel[chan].vol2 = 63 - (inst[channel[chan].inst].data[9] & 63);
-		    setvolume(chan);
-		  }
-		}
+    if (!(activechan >> (31 - chan)) & 1)
+    {                           // channel active?
+      AdPlug_LogWrite ("N/A|");
+      continue;
+    }
+    if (!(track = trackord[pattnr][chan]))
+    {                           // resolve track
+      AdPlug_LogWrite ("------------|");
+      continue;
+    }
+    else
+      track--;
 
-		if(tracks[track][row].note && tracks[track][row].command != 3) {	// no tone portamento
-			channel[chan].note = tracks[track][row].note;
-			setnote(chan,tracks[track][row].note);
-			channel[chan].nextfreq = channel[chan].freq;
-			channel[chan].nextoct = channel[chan].oct;
-			channel[chan].arppos = inst[channel[chan].inst].arpstart;
-			channel[chan].arpspdcnt = 0;
-			if(tracks[track][row].note != 127)	// handle key off
-				donote = 1;
-		}
-		channel[chan].fx = tracks[track][row].command;
-		channel[chan].info1 = tracks[track][row].param1;
-		channel[chan].info2 = tracks[track][row].param2;
+    AdPlug_LogWrite ("%3d%3d%2X%2X%2X|", tracks[track][row].note,
+                     tracks[track][row].inst, tracks[track][row].command,
+                     tracks[track][row].param1, tracks[track][row].param2);
 
-		if(donote)
-			playnote(chan);
+    donote = 0;
+    if (tracks[track][row].inst)
+    {
+      channel[chan].inst = tracks[track][row].inst - 1;
+      if (!(flags & Faust))
+      {
+        channel[chan].vol1 = 63 - (inst[channel[chan].inst].data[10] & 63);
+        channel[chan].vol2 = 63 - (inst[channel[chan].inst].data[9] & 63);
+        setvolume (chan);
+      }
+    }
 
-		// command handling (row dependant)
-		info1 = channel[chan].info1;
-		info2 = channel[chan].info2;
-		if(flags & Decimal)
-			info = channel[chan].info1 * 10 + channel[chan].info2;
-		else
-			info = (channel[chan].info1 << 4) + channel[chan].info2;
-		switch(channel[chan].fx) {
-    case 3: // tone portamento
-      if(tracks[track][row].note) {
-	if(tracks[track][row].note < 13)
-	  channel[chan].nextfreq = notetable[tracks[track][row].note - 1];
-						else
-	  if(tracks[track][row].note % 12 > 0)
-	    channel[chan].nextfreq = notetable[(tracks[track][row].note % 12) - 1];
-	  else
-	    channel[chan].nextfreq = notetable[11];
-	channel[chan].nextoct = (tracks[track][row].note - 1) / 12;
-	if(tracks[track][row].note == 127) {	// handle key off
-	  channel[chan].nextfreq = channel[chan].freq;
-	  channel[chan].nextoct = channel[chan].oct;
-	}
-					}
-				if(info)		// remember vars
-					channel[chan].portainfo = info;
-				break;
+    if (tracks[track][row].note && tracks[track][row].command != 3)
+    {                           // no tone portamento
+      channel[chan].note = tracks[track][row].note;
+      setnote (chan, tracks[track][row].note);
+      channel[chan].nextfreq = channel[chan].freq;
+      channel[chan].nextoct = channel[chan].oct;
+      channel[chan].arppos = inst[channel[chan].inst].arpstart;
+      channel[chan].arpspdcnt = 0;
+      if (tracks[track][row].note != 127)   // handle key off
+        donote = 1;
+    }
+    channel[chan].fx = tracks[track][row].command;
+    channel[chan].info1 = tracks[track][row].param1;
+    channel[chan].info2 = tracks[track][row].param2;
+
+    if (donote)
+      playnote (chan);
 
-    case 4: // vibrato (remember vars)
-      if(info) {
-	channel[chan].vibinfo1 = info1;
-	channel[chan].vibinfo2 = info2;
+    // command handling (row dependant)
+    info1 = channel[chan].info1;
+    info2 = channel[chan].info2;
+    if (flags & Decimal)
+      info = channel[chan].info1 * 10 + channel[chan].info2;
+    else
+      info = (channel[chan].info1 << 4) + channel[chan].info2;
+    switch (channel[chan].fx)
+    {
+    case 3:                    // tone portamento
+      if (tracks[track][row].note)
+      {
+        if (tracks[track][row].note < 13)
+          channel[chan].nextfreq = notetable[tracks[track][row].note - 1];
+        else if (tracks[track][row].note % 12 > 0)
+          channel[chan].nextfreq =
+            notetable[(tracks[track][row].note % 12) - 1];
+        else
+          channel[chan].nextfreq = notetable[11];
+        channel[chan].nextoct = (tracks[track][row].note - 1) / 12;
+        if (tracks[track][row].note == 127)
+        {                       // handle key off
+          channel[chan].nextfreq = channel[chan].freq;
+          channel[chan].nextoct = channel[chan].oct;
+        }
       }
-				break;
-
-		case 7: tempo = info; break;							// set tempo
-
-		case 8: channel[chan].key = 0; setfreq(chan); break;	// release sustaining note
+      if (info)                 // remember vars
+        channel[chan].portainfo = info;
+      break;
 
-		case 9: // set carrier/modulator volume
-				if(info1)
-					channel[chan].vol1 = info1 * 7;
-				else
-					channel[chan].vol2 = info2 * 7;
-				setvolume(chan);
-				break;
+    case 4:                    // vibrato (remember vars)
+      if (info)
+      {
+        channel[chan].vibinfo1 = info1;
+        channel[chan].vibinfo2 = info2;
+      }
+      break;
 
-    case 11: // position jump
-      pattbreak = 1; rw = 0; if(info < ord) songend = 1; ord = info; break;
+    case 7:
+      tempo = info;
+      break;                    // set tempo
 
-		case 12: // set volume
-				channel[chan].vol1 = info;
-				channel[chan].vol2 = info;
-				if(channel[chan].vol1 > 63)
-					channel[chan].vol1 = 63;
-				if(channel[chan].vol2 > 63)
-					channel[chan].vol2 = 63;
-				setvolume(chan);
-				break;
+    case 8:
+      channel[chan].key = 0;
+      setfreq (chan);
+      break;                    // release sustaining note
 
-    case 13: // pattern break
-      if(!pattbreak) { pattbreak = 1; rw = info; ord++; } break;
+    case 9:                    // set carrier/modulator volume
+      if (info1)
+        channel[chan].vol1 = info1 * 7;
+      else
+        channel[chan].vol2 = info2 * 7;
+      setvolume (chan);
+      break;
 
-		case 14: // extended command
-				switch(info1) {
-      case 0: // define cell-tremolo
-	if(info2)
-	  regbd |= 128;
-	else
-	  regbd &= 127;
-						opl->write(0xbd,regbd);
-						break;
+    case 11:                   // position jump
+      pattbreak = 1;
+      rw = 0;
+      if (info < ord)
+        songend = 1;
+      ord = info;
+      break;
+
+    case 12:                   // set volume
+      channel[chan].vol1 = info;
+      channel[chan].vol2 = info;
+      if (channel[chan].vol1 > 63)
+        channel[chan].vol1 = 63;
+      if (channel[chan].vol2 > 63)
+        channel[chan].vol2 = 63;
+      setvolume (chan);
+      break;
 
-      case 1: // define cell-vibrato
-	if(info2)
-	  regbd |= 64;
-	else
-	  regbd &= 191;
-						opl->write(0xbd,regbd);
-						break;
+    case 13:                   // pattern break
+      if (!pattbreak)
+      {
+        pattbreak = 1;
+        rw = info;
+        ord++;
+      }
+      break;
 
-      case 4: // increase volume fine
-	vol_up_alt(chan,info2);
-						setvolume(chan);
-						break;
-
-      case 5: // decrease volume fine
-	vol_down_alt(chan,info2);
-						setvolume(chan);
-						break;
+    case 14:                   // extended command
+      switch (info1)
+      {
+      case 0:                  // define cell-tremolo
+        if (info2)
+          regbd |= 128;
+        else
+          regbd &= 127;
+        opl->write (0xbd, regbd);
+        break;
 
-      case 6: // manual slide up
-	slide_up(chan,info2);
-						setfreq(chan);
-						break;
+      case 1:                  // define cell-vibrato
+        if (info2)
+          regbd |= 64;
+        else
+          regbd &= 191;
+        opl->write (0xbd, regbd);
+        break;
+
+      case 4:                  // increase volume fine
+        vol_up_alt (chan, info2);
+        setvolume (chan);
+        break;
 
-      case 7: // manual slide down
-	slide_down(chan,info2);
-						setfreq(chan);
-						break;
+      case 5:                  // decrease volume fine
+        vol_down_alt (chan, info2);
+        setvolume (chan);
+        break;
 
-      case 8: // pattern delay (rows)
-	pattern_delay = info2 * speed;
-	break;
-				}
-				break;
+      case 6:                  // manual slide up
+        slide_up (chan, info2);
+        setfreq (chan);
+        break;
+
+      case 7:                  // manual slide down
+        slide_down (chan, info2);
+        setfreq (chan);
+        break;
 
-		case 15: // SA2 set speed
-			if(info <= 0x1f)
-				speed = info;
-			if(info >= 0x32)
-				tempo = info;
-			if(!info)
-				songend = 1;
-			break;
+      case 8:                  // pattern delay (rows)
+        pattern_delay = info2 * speed;
+        break;
+      }
+      break;
 
-		case 17: // alternate set volume
-			channel[chan].vol1 = info;
-			if(channel[chan].vol1 > 63)
-				channel[chan].vol1 = 63;
-			if(inst[channel[chan].inst].data[0] & 1) {
-				channel[chan].vol2 = info;
-	 			if(channel[chan].vol2 > 63)
-					channel[chan].vol2 = 63;
-			}
+    case 15:                   // SA2 set speed
+      if (info <= 0x1f)
+        speed = info;
+      if (info >= 0x32)
+        tempo = info;
+      if (!info)
+        songend = 1;
+      break;
 
-			setvolume(chan);
-			break;
+    case 17:                   // alternate set volume
+      channel[chan].vol1 = info;
+      if (channel[chan].vol1 > 63)
+        channel[chan].vol1 = 63;
+      if (inst[channel[chan].inst].data[0] & 1)
+      {
+        channel[chan].vol2 = info;
+        if (channel[chan].vol2 > 63)
+          channel[chan].vol2 = 63;
+      }
 
-		case 18: // AMD set speed
-			if(info <= 31 && info > 0)
-				speed = info;
-			if(info > 31 || !info)
-				tempo = info;
-			break;
+      setvolume (chan);
+      break;
 
-		case 19: // RAD/A2M set speed
-			speed = (info ? info : info + 1);
-			break;
+    case 18:                   // AMD set speed
+      if (info <= 31 && info > 0)
+        speed = info;
+      if (info > 31 || !info)
+        tempo = info;
+      break;
 
-		case 21: // set modulator volume
-			if(info <= 63)
-				channel[chan].vol2 = info;
-			else
-				channel[chan].vol2 = 63;
-			setvolume(chan);
-			break;
+    case 19:                   // RAD/A2M set speed
+      speed = (info ? info : info + 1);
+      break;
 
-		case 22: // set carrier volume
-			if(info <= 63)
-				channel[chan].vol1 = info;
-			else
-				channel[chan].vol1 = 63;
-			setvolume(chan);
-			break;
+    case 21:                   // set modulator volume
+      if (info <= 63)
+        channel[chan].vol2 = info;
+      else
+        channel[chan].vol2 = 63;
+      setvolume (chan);
+      break;
 
-		case 23: // fine frequency slide up
-			slide_up(chan,info);
-			setfreq(chan);
-			break;
+    case 22:                   // set carrier volume
+      if (info <= 63)
+        channel[chan].vol1 = info;
+      else
+        channel[chan].vol1 = 63;
+      setvolume (chan);
+      break;
 
-		case 24: // fine frequency slide down
-			slide_down(chan,info);
-			setfreq(chan);
-			break;
+    case 23:                   // fine frequency slide up
+      slide_up (chan, info);
+      setfreq (chan);
+      break;
 
-		case 25: // set carrier/modulator waveform
-			if(info1 != 0x0f)
-	opl->write(0xe3 + op_table[oplchan],info1);
-			if(info2 != 0x0f)
-	opl->write(0xe0 + op_table[oplchan],info2);
-			break;
+    case 24:                   // fine frequency slide down
+      slide_down (chan, info);
+      setfreq (chan);
+      break;
 
-		case 27: // set chip tremolo/vibrato
-      if(info1)
-				regbd |= 128;
-			else
-				regbd &= 127;
-      if(info2)
-				regbd |= 64;
-			else
-				regbd &= 191;
-			opl->write(0xbd,regbd);
-			break;
+    case 25:                   // set carrier/modulator waveform
+      if (info1 != 0x0f)
+        opl->write (0xe3 + op_table[oplchan], info1);
+      if (info2 != 0x0f)
+        opl->write (0xe0 + op_table[oplchan], info2);
+      break;
 
-    case 29: // pattern delay (frames)
+    case 27:                   // set chip tremolo/vibrato
+      if (info1)
+        regbd |= 128;
+      else
+        regbd &= 127;
+      if (info2)
+        regbd |= 64;
+      else
+        regbd &= 191;
+      opl->write (0xbd, regbd);
+      break;
+
+    case 29:                   // pattern delay (frames)
       pattern_delay = info;
       break;
-		}
-	}
+    }
+  }
 
   // speed compensation
   del = speed - 1 + pattern_delay;
 
-	if(!pattbreak) {	// next row (only if no manual advance)
-		rw++;
-		if(rw >= nrows) {
-			rw = 0;
-			ord++;
-		}
-	}
+  if (!pattbreak)
+  {                             // next row (only if no manual advance)
+    rw++;
+    if (rw >= nrows)
+    {
+      rw = 0;
+      ord++;
+    }
+  }
 
-  resolve_order();	// so we can report songend right away
-  AdPlug_LogWrite("\n");
+  resolve_order ();             // so we can report songend right away
+  AdPlug_LogWrite ("\n");
   return !songend;
 }
 
-unsigned char CmodPlayer::set_opl_chip(unsigned char chan)
+unsigned char
+CmodPlayer::set_opl_chip (unsigned char chan)
   /*
    * Sets OPL chip according to channel number. Channels 0-8 are on first chip,
    * channels 9-17 are on second chip. Returns corresponding OPL channel
@@ -456,15 +538,17 @@
 {
   int newchip = chan < 9 ? 0 : 1;
 
-  if(newchip != curchip) {
-    opl->setchip(newchip);
+  if (newchip != curchip)
+  {
+    opl->setchip (newchip);
     curchip = newchip;
   }
 
   return chan % 9;
 }
 
-bool CmodPlayer::resolve_order()
+bool
+CmodPlayer::resolve_order ()
   /*
    * Resolves current orderlist entry, checking for jumps and loops.
    *
@@ -472,69 +556,84 @@
    * has been detected.
    */
 {
-	if(ord < length) {
-    while(order[ord] >= JUMPMARKER) {	// jump to order
+  if (ord < length)
+  {
+    while (order[ord] >= JUMPMARKER)
+    {                           // jump to order
       unsigned long neword = order[ord] - JUMPMARKER;
 
-      if(neword <= ord) songend = 1;
-      if(neword == ord) return false;
+      if (neword <= ord)
+        songend = 1;
+      if (neword == ord)
+        return false;
       ord = neword;
-	  }
-  } else {
-	  songend = 1;
+    }
+  }
+  else
+  {
+    songend = 1;
     ord = restartpos;
   }
 
   return true;
 }
 
-void CmodPlayer::rewind(int subsong)
+void
+CmodPlayer::rewind (int subsong)
 {
   unsigned long i;
 
   // Reset playing variables
   songend = del = ord = rw = regbd = 0;
-  tempo = bpm; speed = initspeed;
+  tempo = bpm;
+  speed = initspeed;
 
   // Reset channel data
-  memset(channel,0,sizeof(Channel)*nchans);
+  memset (channel, 0, sizeof (Channel) * nchans);
 
   // Compute number of patterns, if needed
-  if(!nop)
-    for(i=0;i<length;i++)
+  if (!nop)
+    for (i = 0; i < length; i++)
       nop = (order[i] > nop ? order[i] : nop);
 
-  opl->init();				// Reset OPL chip
-  opl->write(1, 32);	// Go to ym3812 mode
+  opl->init ();                 // Reset OPL chip
+  opl->write (1, 32);           // Go to ym3812 mode
 
   // Enable OPL3 extensions if flagged
-  if(flags & Opl3) {
-    opl->setchip(1);
-    opl->write(1, 32);
-    opl->write(5, 1);
-    opl->setchip(0);
+  if (flags & Opl3)
+  {
+    opl->setchip (1);
+    opl->write (1, 32);
+    opl->write (5, 1);
+    opl->setchip (0);
   }
 
   // Enable tremolo/vibrato depth if flagged
-  if(flags & Tremolo) regbd |= 128;
-  if(flags & Vibrato) regbd |= 64;
-  if(regbd) opl->write(0xbd, regbd);
+  if (flags & Tremolo)
+    regbd |= 128;
+  if (flags & Vibrato)
+    regbd |= 64;
+  if (regbd)
+    opl->write (0xbd, regbd);
 }
 
-float CmodPlayer::getrefresh()
+float
+CmodPlayer::getrefresh ()
 {
-	return (float) (tempo / 2.5);
+  return (float) (tempo / 2.5);
 }
 
-void CmodPlayer::init_trackord()
+void
+CmodPlayer::init_trackord ()
 {
   unsigned long i;
 
-  for(i=0;i<npats*nchans;i++)
+  for (i = 0; i < npats * nchans; i++)
     trackord[i / nchans][i % nchans] = i + 1;
 }
 
-bool CmodPlayer::init_specialarp()
+bool
+CmodPlayer::init_specialarp ()
 {
   arplist = new unsigned char[SPECIALARPLEN];
   arpcmd = new unsigned char[SPECIALARPLEN];
@@ -542,278 +641,338 @@
   return true;
 }
 
-void CmodPlayer::init_notetable(const unsigned short *newnotetable)
+void
+CmodPlayer::init_notetable (const unsigned short *newnotetable)
 {
-  memcpy(notetable, newnotetable, 12 * 2);
+  memcpy (notetable, newnotetable, 12 * 2);
 }
 
-bool CmodPlayer::realloc_order(unsigned long len)
+bool
+CmodPlayer::realloc_order (unsigned long len)
 {
-  if(order) delete [] order;
+  if (order)
+    delete[]order;
   order = new unsigned char[len];
   return true;
 }
 
-bool CmodPlayer::realloc_patterns(unsigned long pats, unsigned long rows, unsigned long chans)
+bool
+CmodPlayer::realloc_patterns (unsigned long pats, unsigned long rows,
+                              unsigned long chans)
 {
   unsigned long i;
 
-  dealloc_patterns();
+  dealloc_patterns ();
 
   // set new number of tracks, rows and channels
-  npats = pats; nrows = rows; nchans = chans;
+  npats = pats;
+  nrows = rows;
+  nchans = chans;
 
   // alloc new patterns
   tracks = new Tracks *[pats * chans];
-  for(i=0;i<pats*chans;i++) tracks[i] = new Tracks[rows];
+  for (i = 0; i < pats * chans; i++)
+    tracks[i] = new Tracks[rows];
   trackord = new unsigned short *[pats];
-  for(i=0;i<pats;i++) trackord[i] = new unsigned short[chans];
+  for (i = 0; i < pats; i++)
+    trackord[i] = new unsigned short[chans];
   channel = new Channel[chans];
 
   // initialize new patterns
-  for(i=0;i<pats*chans;i++) memset(tracks[i],0,sizeof(Tracks)*rows);
-  for(i=0;i<pats;i++) memset(trackord[i],0,chans*2);
+  for (i = 0; i < pats * chans; i++)
+    memset (tracks[i], 0, sizeof (Tracks) * rows);
+  for (i = 0; i < pats; i++)
+    memset (trackord[i], 0, chans * 2);
 
   return true;
 }
 
-void CmodPlayer::dealloc_patterns()
+void
+CmodPlayer::dealloc_patterns ()
 {
   unsigned long i;
 
   // dealloc everything previously allocated
-  if(npats && nrows && nchans) {
-    for(i=0;i<npats*nchans;i++) delete [] tracks[i];
-    delete [] tracks;
-    for(i=0;i<npats;i++) delete [] trackord[i];
-    delete [] trackord;
-    delete [] channel;
+  if (npats && nrows && nchans)
+  {
+    for (i = 0; i < npats * nchans; i++)
+      delete[]tracks[i];
+    delete[]tracks;
+    for (i = 0; i < npats; i++)
+      delete[]trackord[i];
+    delete[]trackord;
+    delete[]channel;
   }
 }
 
-bool CmodPlayer::realloc_instruments(unsigned long len)
+bool
+CmodPlayer::realloc_instruments (unsigned long len)
 {
   // dealloc previous instance, if any
-  if(inst) delete [] inst;
+  if (inst)
+    delete[]inst;
 
   inst = new Instrument[len];
-  memset(inst,0,sizeof(Instrument)*len);	// reset instruments
+  memset (inst, 0, sizeof (Instrument) * len);  // reset instruments
   return true;
 }
 
-void CmodPlayer::dealloc()
+void
+CmodPlayer::dealloc ()
 {
-  if(inst) delete [] inst;
-  if(order) delete [] order;
-  if(arplist) delete [] arplist;
-  if(arpcmd) delete [] arpcmd;
-  dealloc_patterns();
+  if (inst)
+    delete[]inst;
+  if (order)
+    delete[]order;
+  if (arplist)
+    delete[]arplist;
+  if (arpcmd)
+    delete[]arpcmd;
+  dealloc_patterns ();
 }
 
 /*** private methods *************************************/
 
-void CmodPlayer::setvolume(unsigned char chan)
+void
+CmodPlayer::setvolume (unsigned char chan)
 {
-  unsigned char oplchan = set_opl_chip(chan);
+  unsigned char oplchan = set_opl_chip (chan);
 
-  if(flags & Faust)
-        	setvolume_alt(chan);
-	else {
-    opl->write(0x40 + op_table[oplchan], 63-channel[chan].vol2 + (inst[channel[chan].inst].data[9] & 192));
-    opl->write(0x43 + op_table[oplchan], 63-channel[chan].vol1 + (inst[channel[chan].inst].data[10] & 192));
-	}
+  if (flags & Faust)
+    setvolume_alt (chan);
+  else
+  {
+    opl->write (0x40 + op_table[oplchan],
+                63 - channel[chan].vol2 +
+                (inst[channel[chan].inst].data[9] & 192));
+    opl->write (0x43 + op_table[oplchan],
+                63 - channel[chan].vol1 +
+                (inst[channel[chan].inst].data[10] & 192));
+  }
 }
 
-void CmodPlayer::setvolume_alt(unsigned char chan)
+void
+CmodPlayer::setvolume_alt (unsigned char chan)
 {
-  unsigned char oplchan = set_opl_chip(chan);
-    unsigned char ivol2 = inst[channel[chan].inst].data[9] & 63;
-    unsigned char ivol1 = inst[channel[chan].inst].data[10] & 63;
+  unsigned char oplchan = set_opl_chip (chan);
+  unsigned char ivol2 = inst[channel[chan].inst].data[9] & 63;
+  unsigned char ivol1 = inst[channel[chan].inst].data[10] & 63;
 
-  opl->write(0x40 + op_table[oplchan], (((63 - channel[chan].vol2 & 63) + ivol2) >> 1) + (inst[channel[chan].inst].data[9] & 192));
-  opl->write(0x43 + op_table[oplchan], (((63 - channel[chan].vol1 & 63) + ivol1) >> 1) + (inst[channel[chan].inst].data[10] & 192));
+  opl->write (0x40 + op_table[oplchan],
+              (((63 - channel[chan].vol2 & 63) + ivol2) >> 1) +
+              (inst[channel[chan].inst].data[9] & 192));
+  opl->write (0x43 + op_table[oplchan],
+              (((63 - channel[chan].vol1 & 63) + ivol1) >> 1) +
+              (inst[channel[chan].inst].data[10] & 192));
 }
 
-void CmodPlayer::setfreq(unsigned char chan)
+void
+CmodPlayer::setfreq (unsigned char chan)
 {
-  unsigned char oplchan = set_opl_chip(chan);
+  unsigned char oplchan = set_opl_chip (chan);
 
-  opl->write(0xa0 + oplchan, channel[chan].freq & 255);
-	if(channel[chan].key)
-    opl->write(0xb0 + oplchan, ((channel[chan].freq & 768) >> 8) + (channel[chan].oct << 2) | 32);
-	else
-    opl->write(0xb0 + oplchan, ((channel[chan].freq & 768) >> 8) + (channel[chan].oct << 2));
+  opl->write (0xa0 + oplchan, channel[chan].freq & 255);
+  if (channel[chan].key)
+    opl->write (0xb0 + oplchan,
+                ((channel[chan].freq & 768) >> 8) +
+                (channel[chan].oct << 2) | 32);
+  else
+    opl->write (0xb0 + oplchan,
+                ((channel[chan].freq & 768) >> 8) + (channel[chan].oct << 2));
 }
 
-void CmodPlayer::playnote(unsigned char chan)
+void
+CmodPlayer::playnote (unsigned char chan)
 {
-  unsigned char oplchan = set_opl_chip(chan);
+  unsigned char oplchan = set_opl_chip (chan);
   unsigned char op = op_table[oplchan], insnr = channel[chan].inst;
 
-	if(!(flags & NoKeyOn))
-    opl->write(0xb0 + oplchan, 0);	// stop old note
+  if (!(flags & NoKeyOn))
+    opl->write (0xb0 + oplchan, 0); // stop old note
 
-	// set instrument data
-	opl->write(0x20 + op, inst[insnr].data[1]);
-	opl->write(0x23 + op, inst[insnr].data[2]);
-	opl->write(0x60 + op, inst[insnr].data[3]);
-	opl->write(0x63 + op, inst[insnr].data[4]);
-	opl->write(0x80 + op, inst[insnr].data[5]);
-	opl->write(0x83 + op, inst[insnr].data[6]);
-	opl->write(0xe0 + op, inst[insnr].data[7]);
-	opl->write(0xe3 + op, inst[insnr].data[8]);
-  opl->write(0xc0 + oplchan, inst[insnr].data[0]);
-	opl->write(0xbd, inst[insnr].misc);	// set misc. register
+  // set instrument data
+  opl->write (0x20 + op, inst[insnr].data[1]);
+  opl->write (0x23 + op, inst[insnr].data[2]);
+  opl->write (0x60 + op, inst[insnr].data[3]);
+  opl->write (0x63 + op, inst[insnr].data[4]);
+  opl->write (0x80 + op, inst[insnr].data[5]);
+  opl->write (0x83 + op, inst[insnr].data[6]);
+  opl->write (0xe0 + op, inst[insnr].data[7]);
+  opl->write (0xe3 + op, inst[insnr].data[8]);
+  opl->write (0xc0 + oplchan, inst[insnr].data[0]);
+  opl->write (0xbd, inst[insnr].misc);  // set misc. register
 
-	// set frequency, volume & play
-	channel[chan].key = 1;
-	setfreq(chan);
+  // set frequency, volume & play
+  channel[chan].key = 1;
+  setfreq (chan);
 
-	if (flags & Faust) {
-		channel[chan].vol2 = 63;
-		channel[chan].vol1 = 63;
-	}
-	setvolume(chan);
+  if (flags & Faust)
+  {
+    channel[chan].vol2 = 63;
+    channel[chan].vol1 = 63;
+  }
+  setvolume (chan);
 }
 
-void CmodPlayer::setnote(unsigned char chan, int note)
+void
+CmodPlayer::setnote (unsigned char chan, int note)
 {
-	if(note > 96)
-		if(note == 127) {	// key off
-			channel[chan].key = 0;
-			setfreq(chan);
-			return;
-		} else
-			note = 96;
+  if (note > 96)
+    if (note == 127)
+    {                           // key off
+      channel[chan].key = 0;
+      setfreq (chan);
+      return;
+    }
+    else
+      note = 96;
 
-	if(note < 13)
-		channel[chan].freq = notetable[note - 1];
-	else
-		if(note % 12 > 0)
-			channel[chan].freq = notetable[(note % 12) - 1];
-		else
-			channel[chan].freq = notetable[11];
-	channel[chan].oct = (note - 1) / 12;
-	channel[chan].freq += inst[channel[chan].inst].slide;	// apply pre-slide
+  if (note < 13)
+    channel[chan].freq = notetable[note - 1];
+  else if (note % 12 > 0)
+    channel[chan].freq = notetable[(note % 12) - 1];
+  else
+    channel[chan].freq = notetable[11];
+  channel[chan].oct = (note - 1) / 12;
+  channel[chan].freq += inst[channel[chan].inst].slide; // apply pre-slide
 }
 
-void CmodPlayer::slide_down(unsigned char chan, int amount)
+void
+CmodPlayer::slide_down (unsigned char chan, int amount)
 {
-	channel[chan].freq -= amount;
-	if(channel[chan].freq <= 342)
-		if(channel[chan].oct) {
-			channel[chan].oct--;
-			channel[chan].freq <<= 1;
-		} else
-			channel[chan].freq = 342;
+  channel[chan].freq -= amount;
+  if (channel[chan].freq <= 342)
+    if (channel[chan].oct)
+    {
+      channel[chan].oct--;
+      channel[chan].freq <<= 1;
+    }
+    else
+      channel[chan].freq = 342;
 }
 
-void CmodPlayer::slide_up(unsigned char chan, int amount)
+void
+CmodPlayer::slide_up (unsigned char chan, int amount)
 {
-	channel[chan].freq += amount;
-	if(channel[chan].freq >= 686)
-		if(channel[chan].oct < 7) {
-			channel[chan].oct++;
-			channel[chan].freq >>= 1;
-		} else
-			channel[chan].freq = 686;
+  channel[chan].freq += amount;
+  if (channel[chan].freq >= 686)
+    if (channel[chan].oct < 7)
+    {
+      channel[chan].oct++;
+      channel[chan].freq >>= 1;
+    }
+    else
+      channel[chan].freq = 686;
 }
 
-void CmodPlayer::tone_portamento(unsigned char chan, unsigned char info)
+void
+CmodPlayer::tone_portamento (unsigned char chan, unsigned char info)
 {
-	if(channel[chan].freq + (channel[chan].oct << 10) < channel[chan].nextfreq +
-		(channel[chan].nextoct << 10)) {
-		slide_up(chan,info);
-		if(channel[chan].freq + (channel[chan].oct << 10) > channel[chan].nextfreq +
-		(channel[chan].nextoct << 10)) {
-			channel[chan].freq = channel[chan].nextfreq;
-			channel[chan].oct = channel[chan].nextoct;
-		}
-	}
-	if(channel[chan].freq + (channel[chan].oct << 10) > channel[chan].nextfreq +
-		(channel[chan].nextoct << 10)) {
-		slide_down(chan,info);
-		if(channel[chan].freq + (channel[chan].oct << 10) < channel[chan].nextfreq +
-		(channel[chan].nextoct << 10)) {
-			channel[chan].freq = channel[chan].nextfreq;
-			channel[chan].oct = channel[chan].nextoct;
-		}
-	}
-	setfreq(chan);
+  if (channel[chan].freq + (channel[chan].oct << 10) <
+      channel[chan].nextfreq + (channel[chan].nextoct << 10))
+  {
+    slide_up (chan, info);
+    if (channel[chan].freq + (channel[chan].oct << 10) >
+        channel[chan].nextfreq + (channel[chan].nextoct << 10))
+    {
+      channel[chan].freq = channel[chan].nextfreq;
+      channel[chan].oct = channel[chan].nextoct;
+    }
+  }
+  if (channel[chan].freq + (channel[chan].oct << 10) >
+      channel[chan].nextfreq + (channel[chan].nextoct << 10))
+  {
+    slide_down (chan, info);
+    if (channel[chan].freq + (channel[chan].oct << 10) <
+        channel[chan].nextfreq + (channel[chan].nextoct << 10))
+    {
+      channel[chan].freq = channel[chan].nextfreq;
+      channel[chan].oct = channel[chan].nextoct;
+    }
+  }
+  setfreq (chan);
 }
 
-void CmodPlayer::vibrato(unsigned char chan, unsigned char speed, unsigned char depth)
+void
+CmodPlayer::vibrato (unsigned char chan, unsigned char speed,
+                     unsigned char depth)
 {
-	int i;
+  int i;
 
-	if(!speed || !depth)
-		return;
+  if (!speed || !depth)
+    return;
 
-	if(depth > 14)
-		depth = 14;
+  if (depth > 14)
+    depth = 14;
 
-	for(i=0;i<speed;i++) {
-		channel[chan].trigger++;
-		while(channel[chan].trigger >= 64)
-			channel[chan].trigger -= 64;
-		if(channel[chan].trigger >= 16 && channel[chan].trigger < 48)
-			slide_down(chan,vibratotab[channel[chan].trigger - 16] / (16-depth));
-		if(channel[chan].trigger < 16)
-			slide_up(chan,vibratotab[channel[chan].trigger + 16] / (16-depth));
-		if(channel[chan].trigger >= 48)
-			slide_up(chan,vibratotab[channel[chan].trigger - 48] / (16-depth));
-	}
-	setfreq(chan);
+  for (i = 0; i < speed; i++)
+  {
+    channel[chan].trigger++;
+    while (channel[chan].trigger >= 64)
+      channel[chan].trigger -= 64;
+    if (channel[chan].trigger >= 16 && channel[chan].trigger < 48)
+      slide_down (chan,
+                  vibratotab[channel[chan].trigger - 16] / (16 - depth));
+    if (channel[chan].trigger < 16)
+      slide_up (chan, vibratotab[channel[chan].trigger + 16] / (16 - depth));
+    if (channel[chan].trigger >= 48)
+      slide_up (chan, vibratotab[channel[chan].trigger - 48] / (16 - depth));
+  }
+  setfreq (chan);
 }
 
-void CmodPlayer::vol_up(unsigned char chan, int amount)
+void
+CmodPlayer::vol_up (unsigned char chan, int amount)
 {
-	if(channel[chan].vol1 + amount < 63)
-		channel[chan].vol1 += amount;
-	else
-		channel[chan].vol1 = 63;
+  if (channel[chan].vol1 + amount < 63)
+    channel[chan].vol1 += amount;
+  else
+    channel[chan].vol1 = 63;
 
-	if(channel[chan].vol2 + amount < 63)
-		channel[chan].vol2 += amount;
-	else
-		channel[chan].vol2 = 63;
+  if (channel[chan].vol2 + amount < 63)
+    channel[chan].vol2 += amount;
+  else
+    channel[chan].vol2 = 63;
 }
 
-void CmodPlayer::vol_down(unsigned char chan, int amount)
+void
+CmodPlayer::vol_down (unsigned char chan, int amount)
 {
-	if(channel[chan].vol1 - amount > 0)
-		channel[chan].vol1 -= amount;
-	else
-		channel[chan].vol1 = 0;
+  if (channel[chan].vol1 - amount > 0)
+    channel[chan].vol1 -= amount;
+  else
+    channel[chan].vol1 = 0;
 
-	if(channel[chan].vol2 - amount > 0)
-		channel[chan].vol2 -= amount;
-	else
-		channel[chan].vol2 = 0;
+  if (channel[chan].vol2 - amount > 0)
+    channel[chan].vol2 -= amount;
+  else
+    channel[chan].vol2 = 0;
 }
 
-void CmodPlayer::vol_up_alt(unsigned char chan, int amount)
+void
+CmodPlayer::vol_up_alt (unsigned char chan, int amount)
 {
-	if(channel[chan].vol1 + amount < 63)
-		channel[chan].vol1 += amount;
-	else
-		channel[chan].vol1 = 63;
-	if(inst[channel[chan].inst].data[0] & 1)
-		if(channel[chan].vol2 + amount < 63)
-			channel[chan].vol2 += amount;
-		else
-			channel[chan].vol2 = 63;
+  if (channel[chan].vol1 + amount < 63)
+    channel[chan].vol1 += amount;
+  else
+    channel[chan].vol1 = 63;
+  if (inst[channel[chan].inst].data[0] & 1)
+    if (channel[chan].vol2 + amount < 63)
+      channel[chan].vol2 += amount;
+    else
+      channel[chan].vol2 = 63;
 }
 
-void CmodPlayer::vol_down_alt(unsigned char chan, int amount)
+void
+CmodPlayer::vol_down_alt (unsigned char chan, int amount)
 {
-	if(channel[chan].vol1 - amount > 0)
-		channel[chan].vol1 -= amount;
-	else
-		channel[chan].vol1 = 0;
-	if(inst[channel[chan].inst].data[0] & 1)
-		if(channel[chan].vol2 - amount > 0)
-			channel[chan].vol2 -= amount;
-		else
-			channel[chan].vol2 = 0;
+  if (channel[chan].vol1 - amount > 0)
+    channel[chan].vol1 -= amount;
+  else
+    channel[chan].vol1 = 0;
+  if (inst[channel[chan].inst].data[0] & 1)
+    if (channel[chan].vol2 - amount > 0)
+      channel[chan].vol2 -= amount;
+    else
+      channel[chan].vol2 = 0;
 }
--- a/src/adplug/core/psi.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/psi.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -38,8 +38,8 @@
 #include "psi.h"
 #include "debug.h"
 
-const unsigned char CxadpsiPlayer::psi_adlib_registers[99] =
-{
+const unsigned char
+  CxadpsiPlayer::psi_adlib_registers[99] = {
   0x20, 0x23, 0x40, 0x43, 0x60, 0x63, 0x80, 0x83, 0xE0, 0xE3, 0xC0,
   0x21, 0x24, 0x41, 0x44, 0x61, 0x64, 0x81, 0x84, 0xE1, 0xE4, 0xC1,
   0x22, 0x25, 0x42, 0x45, 0x62, 0x65, 0x82, 0x85, 0xE2, 0xE5, 0xC2,
@@ -51,23 +51,25 @@
   0x32, 0x35, 0x52, 0x55, 0x72, 0x75, 0x92, 0x95, 0xF2, 0xF5, 0xC8
 };
 
-const unsigned short CxadpsiPlayer::psi_notes[16] =
-{
+const unsigned short
+  CxadpsiPlayer::psi_notes[16] = {
   0x216B, 0x2181, 0x2198, 0x21B0, 0x21CA, 0x21E5, 0x2202, 0x2220,
   0x2241, 0x2263, 0x2287, 0x2364,
-  0x0000, 0x0000, 0x0000, 0x0000 // by riven
+  0x0000, 0x0000, 0x0000, 0x0000    // by riven
 };
 
-CPlayer *CxadpsiPlayer::factory(Copl *newopl)
+CPlayer *
+CxadpsiPlayer::factory (Copl * newopl)
 {
-  return new CxadpsiPlayer(newopl);
+  return new CxadpsiPlayer (newopl);
 }
 
-void CxadpsiPlayer::xadplayer_rewind(int subsong)
+void
+CxadpsiPlayer::xadplayer_rewind (int subsong)
 {
-  opl_write(0x01, 0x20);
-  opl_write(0x08, 0x00);
-  opl_write(0xBD, 0x00);
+  opl_write (0x01, 0x20);
+  opl_write (0x08, 0x00);
+  opl_write (0xBD, 0x00);
 
   // get header
   header.instr_ptr = (tune[1] << 8) + tune[0];
@@ -76,16 +78,18 @@
   // define instruments
   psi.instr_table = &tune[header.instr_ptr];
 
-  for(int i=0; i<8; i++)
+  for (int i = 0; i < 8; i++)
   {
-    for(int j=0; j<11; j++) {
-      unsigned short inspos = (psi.instr_table[i * 2 + 1] << 8) + psi.instr_table[i * 2];
+    for (int j = 0; j < 11; j++)
+    {
+      unsigned short inspos =
+        (psi.instr_table[i * 2 + 1] << 8) + psi.instr_table[i * 2];
 
-      opl_write(psi_adlib_registers[i*11 + j],tune[inspos + j]);
+      opl_write (psi_adlib_registers[i * 11 + j], tune[inspos + j]);
     }
 
-    opl_write(0xA0+i, 0x00);
-    opl_write(0xB0+i, 0x00);
+    opl_write (0xA0 + i, 0x00);
+    opl_write (0xB0 + i, 0x00);
 
     psi.note_delay[i] = 1;
     psi.note_curdelay[i] = 1;
@@ -96,34 +100,38 @@
   psi.seq_table = &tune[header.seq_ptr];
 }
 
-void CxadpsiPlayer::xadplayer_update()
+void
+CxadpsiPlayer::xadplayer_update ()
 {
   unsigned short ptr;
 
-  for(int i=0; i<8; i++)
+  for (int i = 0; i < 8; i++)
   {
-    ptr = (psi.seq_table[(i<<1) * 2 + 1] << 8) + psi.seq_table[(i<<1) * 2];
+    ptr =
+      (psi.seq_table[(i << 1) * 2 + 1] << 8) + psi.seq_table[(i << 1) * 2];
 
     psi.note_curdelay[i]--;
 
     if (!psi.note_curdelay[i])
     {
-      opl_write(0xA0+i, 0x00);
-      opl_write(0xB0+i, 0x00);
+      opl_write (0xA0 + i, 0x00);
+      opl_write (0xB0 + i, 0x00);
 
       unsigned char event = tune[ptr++];
 #ifdef DEBUG
-  AdPlug_LogWrite("channel %02X, event %02X:\n",i+1,event);
+      AdPlug_LogWrite ("channel %02X, event %02X:\n", i + 1, event);
 #endif
 
       // end of sequence ?
       if (!event)
       {
-	ptr = (psi.seq_table[(i<<1) * 2 + 3] << 8) + psi.seq_table[(i<<1) * 2 + 2];
+        ptr =
+          (psi.seq_table[(i << 1) * 2 + 3] << 8) +
+          psi.seq_table[(i << 1) * 2 + 2];
 
         event = tune[ptr++];
 #ifdef DEBUG
-  AdPlug_LogWrite(" channel %02X, event %02X:\n",i+1,event);
+        AdPlug_LogWrite (" channel %02X, event %02X:\n", i + 1, event);
 #endif
 
         // set sequence loop flag
@@ -131,7 +139,7 @@
 
         // module loop ?
         plr.looping = 1;
-        for(int j=0; j<8; j++)
+        for (int j = 0; j < 8; j++)
           plr.looping &= psi.looping[j];
       }
 
@@ -142,7 +150,7 @@
 
         event = tune[ptr++];
 #ifdef DEBUG
-  AdPlug_LogWrite("  channel %02X, event %02X:\n",i+1,event);
+        AdPlug_LogWrite ("  channel %02X, event %02X:\n", i + 1, event);
 #endif
       }
 
@@ -151,27 +159,29 @@
       // play note
       unsigned short note = psi_notes[event & 0x0F];
 
-      opl_write(0xA0+i, note & 0xFF);
-      opl_write(0xB0+i, (note >> 8) + ((event >> 2) & 0xFC));
+      opl_write (0xA0 + i, note & 0xFF);
+      opl_write (0xB0 + i, (note >> 8) + ((event >> 2) & 0xFC));
 
       // save position
-      psi.seq_table[(i<<1) * 2] = ptr & 0xff;
-      psi.seq_table[(i<<1) * 2 + 1] = ptr >> 8;
+      psi.seq_table[(i << 1) * 2] = ptr & 0xff;
+      psi.seq_table[(i << 1) * 2 + 1] = ptr >> 8;
     }
   }
 }
 
-float CxadpsiPlayer::xadplayer_getrefresh()
+float
+CxadpsiPlayer::xadplayer_getrefresh ()
 {
   return 70.0f;
 }
 
-std::string CxadpsiPlayer::xadplayer_gettype()
+std::string CxadpsiPlayer::xadplayer_gettype ()
 {
-  return std::string("xad: psi player");
+  return std::string ("xad: psi player");
 }
 
-unsigned int CxadpsiPlayer::xadplayer_getinstruments()
+unsigned int
+CxadpsiPlayer::xadplayer_getinstruments ()
 {
   return 8;
 }
--- a/src/adplug/core/rad.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/rad.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -24,101 +24,130 @@
 
 #include "rad.h"
 
-CPlayer *CradLoader::factory(Copl *newopl)
+CPlayer *
+CradLoader::factory (Copl * newopl)
 {
-  return new CradLoader(newopl);
+  return new CradLoader (newopl);
 }
 
-bool CradLoader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CradLoader::load (VFSFile * fd, const CFileProvider & fp)
 {
-        binistream *f = fp.open(fd); if(!f) return false;
-	char id[16];
-	unsigned char buf,ch,c,b,inp;
-	char bufstr[2] = "\0";
-	unsigned int i,j;
-	unsigned short patofs[32];
-	const unsigned char convfx[16] = {255,1,2,3,255,5,255,255,255,255,20,255,17,0xd,255,19};
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  char id[16];
+  unsigned char buf, ch, c, b, inp;
+  char bufstr[2] = "\0";
+  unsigned int i, j;
+  unsigned short patofs[32];
+  const unsigned char convfx[16] =
+    { 255, 1, 2, 3, 255, 5, 255, 255, 255, 255, 20, 255, 17, 0xd, 255, 19 };
 
-	// file validation section
-	f->readString(id, 16); version = f->readInt(1);
-	if(strncmp(id,"RAD by REALiTY!!",16) || version != 0x10)
-	  { fp.close(f); return false; }
+  // file validation section
+  f->readString (id, 16);
+  version = f->readInt (1);
+  if (strncmp (id, "RAD by REALiTY!!", 16) || version != 0x10)
+  {
+    fp.close (f);
+    return false;
+  }
 
-	// load section
-	radflags = f->readInt(1);
-	if(radflags & 128) {	// description
-		memset(desc,0,80*22);
-		while((buf = f->readInt(1)))
-			if(buf == 1)
-				strcat(desc,"\n");
-			else
-				if(buf >= 2 && buf <= 0x1f)
-					for(i=0;i<buf;i++)
-						strcat(desc," ");
-				else {
-					*bufstr = buf;
-					strcat(desc,bufstr);
-				}
-	}
-	while((buf = f->readInt(1))) {	// instruments
-		buf--;
-		inst[buf].data[2] = f->readInt(1); inst[buf].data[1] = f->readInt(1);
-		inst[buf].data[10] = f->readInt(1); inst[buf].data[9] = f->readInt(1);
-		inst[buf].data[4] = f->readInt(1); inst[buf].data[3] = f->readInt(1);
-		inst[buf].data[6] = f->readInt(1); inst[buf].data[5] = f->readInt(1);
-		inst[buf].data[0] = f->readInt(1);
-		inst[buf].data[8] = f->readInt(1); inst[buf].data[7] = f->readInt(1);
-	}
-	length = f->readInt(1);
-	for(i = 0; i < length; i++) order[i] = f->readInt(1);	// orderlist
-	for(i = 0; i < 32; i++) patofs[i] = f->readInt(2);	// pattern offset table
-	init_trackord();		// patterns
-	for(i=0;i<32;i++)
-		if(patofs[i]) {
-			f->seek(patofs[i]);
-			do {
-				buf = f->readInt(1); b = buf & 127;
-				do {
-					ch = f->readInt(1); c = ch & 127;
-					inp = f->readInt(1);
-					tracks[i*9+c][b].note = inp & 127;
-					tracks[i*9+c][b].inst = (inp & 128) >> 3;
-					inp = f->readInt(1);
-					tracks[i*9+c][b].inst += inp >> 4;
-					tracks[i*9+c][b].command = inp & 15;
-					if(inp & 15) {
-						inp = f->readInt(1);
-						tracks[i*9+c][b].param1 = inp / 10;
-						tracks[i*9+c][b].param2 = inp % 10;
-					}
-				} while(!(ch & 128));
-			} while(!(buf & 128));
-		} else
-			memset(trackord[i],0,9*2);
-	fp.close(f);
+  // load section
+  radflags = f->readInt (1);
+  if (radflags & 128)
+  {                             // description
+    memset (desc, 0, 80 * 22);
+    while ((buf = f->readInt (1)))
+      if (buf == 1)
+        strcat (desc, "\n");
+      else if (buf >= 2 && buf <= 0x1f)
+        for (i = 0; i < buf; i++)
+          strcat (desc, " ");
+      else
+      {
+        *bufstr = buf;
+        strcat (desc, bufstr);
+      }
+  }
+  while ((buf = f->readInt (1)))
+  {                             // instruments
+    buf--;
+    inst[buf].data[2] = f->readInt (1);
+    inst[buf].data[1] = f->readInt (1);
+    inst[buf].data[10] = f->readInt (1);
+    inst[buf].data[9] = f->readInt (1);
+    inst[buf].data[4] = f->readInt (1);
+    inst[buf].data[3] = f->readInt (1);
+    inst[buf].data[6] = f->readInt (1);
+    inst[buf].data[5] = f->readInt (1);
+    inst[buf].data[0] = f->readInt (1);
+    inst[buf].data[8] = f->readInt (1);
+    inst[buf].data[7] = f->readInt (1);
+  }
+  length = f->readInt (1);
+  for (i = 0; i < length; i++)
+    order[i] = f->readInt (1);  // orderlist
+  for (i = 0; i < 32; i++)
+    patofs[i] = f->readInt (2); // pattern offset table
+  init_trackord ();             // patterns
+  for (i = 0; i < 32; i++)
+    if (patofs[i])
+    {
+      f->seek (patofs[i]);
+      do
+      {
+        buf = f->readInt (1);
+        b = buf & 127;
+        do
+        {
+          ch = f->readInt (1);
+          c = ch & 127;
+          inp = f->readInt (1);
+          tracks[i * 9 + c][b].note = inp & 127;
+          tracks[i * 9 + c][b].inst = (inp & 128) >> 3;
+          inp = f->readInt (1);
+          tracks[i * 9 + c][b].inst += inp >> 4;
+          tracks[i * 9 + c][b].command = inp & 15;
+          if (inp & 15)
+          {
+            inp = f->readInt (1);
+            tracks[i * 9 + c][b].param1 = inp / 10;
+            tracks[i * 9 + c][b].param2 = inp % 10;
+          }
+        } while (!(ch & 128));
+      } while (!(buf & 128));
+    }
+    else
+      memset (trackord[i], 0, 9 * 2);
+  fp.close (f);
 
-	// convert replay data
-	for(i=0;i<32*9;i++)	// convert patterns
-		for(j=0;j<64;j++) {
-			if(tracks[i][j].note == 15)
-				tracks[i][j].note = 127;
-			if(tracks[i][j].note > 16 && tracks[i][j].note < 127)
-				tracks[i][j].note -= 4 * (tracks[i][j].note >> 4);
-			if(tracks[i][j].note && tracks[i][j].note < 126)
-				tracks[i][j].note++;
-			tracks[i][j].command = convfx[tracks[i][j].command];
-		}
-	restartpos = 0; initspeed = radflags & 31;
-	bpm = radflags & 64 ? 0 : 50; flags = Decimal;
+  // convert replay data
+  for (i = 0; i < 32 * 9; i++)  // convert patterns
+    for (j = 0; j < 64; j++)
+    {
+      if (tracks[i][j].note == 15)
+        tracks[i][j].note = 127;
+      if (tracks[i][j].note > 16 && tracks[i][j].note < 127)
+        tracks[i][j].note -= 4 * (tracks[i][j].note >> 4);
+      if (tracks[i][j].note && tracks[i][j].note < 126)
+        tracks[i][j].note++;
+      tracks[i][j].command = convfx[tracks[i][j].command];
+    }
+  restartpos = 0;
+  initspeed = radflags & 31;
+  bpm = radflags & 64 ? 0 : 50;
+  flags = Decimal;
 
-	rewind(0);
-	return true;
+  rewind (0);
+  return true;
 }
 
-float CradLoader::getrefresh()
+float
+CradLoader::getrefresh ()
 {
-	if(tempo)
-		return (float) (tempo);
-	else
-		return 18.2f;
+  if (tempo)
+    return (float) (tempo);
+  else
+    return 18.2f;
 }
--- a/src/adplug/core/rat.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/rat.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -32,33 +32,36 @@
 #include "rat.h"
 #include "debug.h"
 
-const unsigned char CxadratPlayer::rat_adlib_bases[18] =
-{
+const unsigned char
+  CxadratPlayer::rat_adlib_bases[18] = {
   0x00, 0x01, 0x02, 0x08, 0x09, 0x0A, 0x10, 0x11, 0x12,
   0x03, 0x04, 0x05, 0x0B, 0x0C, 0x0D, 0x13, 0x14, 0x15
 };
 
-const unsigned short CxadratPlayer::rat_notes[16] =
-{
-  0x157, 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263, 0x287,
-  0x000, 0x000, 0x000, 0x000 // by riven
+const unsigned short
+  CxadratPlayer::rat_notes[16] = {
+  0x157, 0x16B, 0x181, 0x198, 0x1B0, 0x1CA, 0x1E5, 0x202, 0x220, 0x241, 0x263,
+    0x287,
+  0x000, 0x000, 0x000, 0x000    // by riven
 };
 
-CPlayer *CxadratPlayer::factory(Copl *newopl)
+CPlayer *
+CxadratPlayer::factory (Copl * newopl)
 {
-  return new CxadratPlayer(newopl);
+  return new CxadratPlayer (newopl);
 }
 
-bool CxadratPlayer::xadplayer_load()
+bool
+CxadratPlayer::xadplayer_load ()
 {
-  if(xad.fmt != RAT)
+  if (xad.fmt != RAT)
     return false;
 
   // load header
-  memcpy(&rat.hdr, &tune[0], sizeof(rat_header));
+  memcpy (&rat.hdr, &tune[0], sizeof (rat_header));
 
   // is 'RAT'-signed ?
-  if (strncmp(rat.hdr.id,"RAT",3))
+  if (strncmp (rat.hdr.id, "RAT", 3))
     return false;
 
   // is version 1.0 ?
@@ -69,25 +72,26 @@
   rat.order = &tune[0x40];
 
   // load instruments
-  rat.inst = (rat_instrument *)&tune[0x140];
+  rat.inst = (rat_instrument *) & tune[0x140];
 
   // load pattern data
   unsigned short patseg = (rat.hdr.patseg[1] << 8) + rat.hdr.patseg[0];
   unsigned char *event_ptr = &tune[patseg << 4];
 
-  for(int i=0;i<rat.hdr.numpat;i++)
-    for(int j=0;j<64;j++)
-      for(int k=0;k<rat.hdr.numchan;k++)
+  for (int i = 0; i < rat.hdr.numpat; i++)
+    for (int j = 0; j < 64; j++)
+      for (int k = 0; k < rat.hdr.numchan; k++)
       {
-        memcpy(&rat.tracks[i][j][k], event_ptr, sizeof(rat_event));
+        memcpy (&rat.tracks[i][j][k], event_ptr, sizeof (rat_event));
 
-        event_ptr += sizeof(rat_event);
+        event_ptr += sizeof (rat_event);
       }
 
   return true;
 }
 
-void CxadratPlayer::xadplayer_rewind(int subsong)
+void
+CxadratPlayer::xadplayer_rewind (int subsong)
 {
   int i;
 
@@ -98,41 +102,44 @@
   plr.speed = rat.hdr.speed;
 
   // clear channel data
-  memset(&rat.channel, 0, sizeof(rat.channel[0])*9);
+  memset (&rat.channel, 0, sizeof (rat.channel[0]) * 9);
 
   // init OPL
-  opl_write(0x01, 0x20);
-  opl_write(0x08, 0x00);
-  opl_write(0xBD, 0x00);
+  opl_write (0x01, 0x20);
+  opl_write (0x08, 0x00);
+  opl_write (0xBD, 0x00);
 
   // set default frequencies
-  for(i=0;i<9;i++)
+  for (i = 0; i < 9; i++)
   {
-    opl_write(0xA0+i, 0x00);
-    opl_write(0xA3+i, 0x00);
-    opl_write(0xB0+i, 0x00);
-    opl_write(0xB3+i, 0x00);
+    opl_write (0xA0 + i, 0x00);
+    opl_write (0xA3 + i, 0x00);
+    opl_write (0xB0 + i, 0x00);
+    opl_write (0xB3 + i, 0x00);
   }
 
   // set default volumes
-  for(i=0;i<0x1F;i++)
-    opl_write(0x40+i, 0x3F);
+  for (i = 0; i < 0x1F; i++)
+    opl_write (0x40 + i, 0x3F);
 }
 
-void CxadratPlayer::xadplayer_update()
+void
+CxadratPlayer::xadplayer_update ()
 {
   int i;
 
   rat_event event;
 
   // process events
-  for(i=0;i<rat.hdr.numchan;i++)
+  for (i = 0; i < rat.hdr.numchan; i++)
   {
-    memcpy(&event,&rat.tracks[rat.order[rat.order_pos]][rat.pattern_pos][i],sizeof(rat_event));
+    memcpy (&event, &rat.tracks[rat.order[rat.order_pos]][rat.pattern_pos][i],
+            sizeof (rat_event));
 #ifdef DEBUG
-   AdPlug_LogWrite("order %02X, pattern %02X, row %02X, channel %02X, event %02X %02X %02X %02X %02X:\n",
-	         rat.order_pos, rat.order[rat.order_pos], rat.pattern_pos, i, event.note, event.instrument, event.volume, event.fx, event.fxp
-           );
+    AdPlug_LogWrite
+      ("order %02X, pattern %02X, row %02X, channel %02X, event %02X %02X %02X %02X %02X:\n",
+       rat.order_pos, rat.order[rat.order_pos], rat.pattern_pos, i,
+       event.note, event.instrument, event.volume, event.fx, event.fxp);
 #endif
 
     // is instrument ?
@@ -150,8 +157,8 @@
     if (event.note != 0xFF)
     {
       // mute channel
-      opl_write(0xB0+i, 0x00);
-      opl_write(0xA0+i, 0x00);
+      opl_write (0xB0 + i, 0x00);
+      opl_write (0xA0 + i, 0x00);
 
       // if note != 0xFE then play
       if (event.note != 0xFE)
@@ -159,34 +166,39 @@
         unsigned char ins = rat.channel[i].instrument;
 
         // synthesis/feedback
-        opl_write(0xC0+i, rat.inst[ins].connect);
+        opl_write (0xC0 + i, rat.inst[ins].connect);
 
         // controls
-		opl_write(0x20+rat_adlib_bases[i], rat.inst[ins].mod_ctrl);
-        opl_write(0x20+rat_adlib_bases[i+9], rat.inst[ins].car_ctrl);
+        opl_write (0x20 + rat_adlib_bases[i], rat.inst[ins].mod_ctrl);
+        opl_write (0x20 + rat_adlib_bases[i + 9], rat.inst[ins].car_ctrl);
 
         // volumes
-		opl_write(0x40+rat_adlib_bases[i], __rat_calc_volume(rat.inst[ins].mod_volume,rat.channel[i].volume,rat.volume));
-        opl_write(0x40+rat_adlib_bases[i+9], __rat_calc_volume(rat.inst[ins].car_volume,rat.channel[i].volume,rat.volume));
+        opl_write (0x40 + rat_adlib_bases[i],
+                   __rat_calc_volume (rat.inst[ins].mod_volume,
+                                      rat.channel[i].volume, rat.volume));
+        opl_write (0x40 + rat_adlib_bases[i + 9],
+                   __rat_calc_volume (rat.inst[ins].car_volume,
+                                      rat.channel[i].volume, rat.volume));
 
         // attack/decay
-		opl_write(0x60+rat_adlib_bases[i], rat.inst[ins].mod_AD);
-        opl_write(0x60+rat_adlib_bases[i+9], rat.inst[ins].car_AD);
+        opl_write (0x60 + rat_adlib_bases[i], rat.inst[ins].mod_AD);
+        opl_write (0x60 + rat_adlib_bases[i + 9], rat.inst[ins].car_AD);
 
         // sustain/release
-		opl_write(0x80+rat_adlib_bases[i], rat.inst[ins].mod_SR);
-        opl_write(0x80+rat_adlib_bases[i+9], rat.inst[ins].car_SR);
+        opl_write (0x80 + rat_adlib_bases[i], rat.inst[ins].mod_SR);
+        opl_write (0x80 + rat_adlib_bases[i + 9], rat.inst[ins].car_SR);
 
         // waveforms
-		opl_write(0xE0+rat_adlib_bases[i], rat.inst[ins].mod_wave);
-        opl_write(0xE0+rat_adlib_bases[i+9], rat.inst[ins].car_wave);
+        opl_write (0xE0 + rat_adlib_bases[i], rat.inst[ins].mod_wave);
+        opl_write (0xE0 + rat_adlib_bases[i + 9], rat.inst[ins].car_wave);
 
         // octave/frequency
-	unsigned short insfreq = (rat.inst[ins].freq[1] << 8) + rat.inst[ins].freq[0];
+        unsigned short insfreq =
+          (rat.inst[ins].freq[1] << 8) + rat.inst[ins].freq[0];
         unsigned short freq = insfreq * rat_notes[event.note & 0x0F] / 0x20AB;
 
-        opl_write(0xA0+i, freq & 0xFF);
-        opl_write(0xB0+i, (freq >> 8) | ((event.note & 0xF0) >> 2) | 0x20);
+        opl_write (0xA0 + i, freq & 0xFF);
+        opl_write (0xB0 + i, (freq >> 8) | ((event.note & 0xF0) >> 2) | 0x20);
       }
     }
 
@@ -202,30 +214,30 @@
   rat.pattern_pos++;
 
   // process effects
-  for(i=0;i<rat.hdr.numchan;i++)
+  for (i = 0; i < rat.hdr.numchan; i++)
   {
     unsigned char old_order_pos = rat.order_pos;
 
     switch (rat.channel[i].fx)
     {
-      case 0x01: // 0x01: Set Speed
-        plr.speed = rat.channel[i].fxp;
-        break;
-      case 0x02: // 0x02: Position Jump
-        if (rat.channel[i].fxp < rat.hdr.order_end)
-          rat.order_pos = rat.channel[i].fxp;
-        else
-          rat.order_pos = 0;
+    case 0x01:                 // 0x01: Set Speed
+      plr.speed = rat.channel[i].fxp;
+      break;
+    case 0x02:                 // 0x02: Position Jump
+      if (rat.channel[i].fxp < rat.hdr.order_end)
+        rat.order_pos = rat.channel[i].fxp;
+      else
+        rat.order_pos = 0;
 
-        // jumpback ?
-        if (rat.order_pos <= old_order_pos)
-          plr.looping = 1;
+      // jumpback ?
+      if (rat.order_pos <= old_order_pos)
+        plr.looping = 1;
 
-        rat.pattern_pos = 0;
-        break;
-      case 0x03: // 0x03: Pattern Break (?)
-        rat.pattern_pos = 0x40;
-        break;
+      rat.pattern_pos = 0;
+      break;
+    case 0x03:                 // 0x03: Pattern Break (?)
+      rat.pattern_pos = 0x40;
+      break;
     }
 
     rat.channel[i].fx = 0;
@@ -248,45 +260,50 @@
   }
 }
 
-float CxadratPlayer::xadplayer_getrefresh()
+float
+CxadratPlayer::xadplayer_getrefresh ()
 {
   return 60.0f;
 }
 
-std::string CxadratPlayer::xadplayer_gettype()
+std::string CxadratPlayer::xadplayer_gettype ()
 {
-  return (std::string("xad: rat player"));
+  return (std::string ("xad: rat player"));
 }
 
-std::string CxadratPlayer::xadplayer_gettitle()
+std::string CxadratPlayer::xadplayer_gettitle ()
 {
-  return (std::string(rat.hdr.title,32));
+  return (std::string (rat.hdr.title, 32));
 }
 
-unsigned int CxadratPlayer::xadplayer_getinstruments()
+unsigned int
+CxadratPlayer::xadplayer_getinstruments ()
 {
   return rat.hdr.numinst;
 }
 
 /* -------- Internal Functions ---------------------------- */
 
-unsigned char CxadratPlayer::__rat_calc_volume(unsigned char ivol, unsigned char cvol, unsigned char gvol)
+unsigned char
+CxadratPlayer::__rat_calc_volume (unsigned char ivol, unsigned char cvol,
+                                  unsigned char gvol)
 {
 #ifdef DEBUG
-   AdPlug_LogWrite("volumes: instrument %02X, channel %02X, global %02X:\n", ivol, cvol, gvol);
+  AdPlug_LogWrite ("volumes: instrument %02X, channel %02X, global %02X:\n",
+                   ivol, cvol, gvol);
 #endif
   unsigned short vol;
 
-  vol   =  ivol;
-  vol  &=  0x3F;
-  vol  ^=  0x3F;
-  vol  *=  cvol;
-  vol >>=  6;
-  vol  *=  gvol;
-  vol >>=  6;
-  vol  ^=  0x3F;
+  vol = ivol;
+  vol &= 0x3F;
+  vol ^= 0x3F;
+  vol *= cvol;
+  vol >>= 6;
+  vol *= gvol;
+  vol >>= 6;
+  vol ^= 0x3F;
 
-  vol  |=  ivol & 0xC0;
+  vol |= ivol & 0xC0;
 
   return vol;
 }
--- a/src/adplug/core/raw.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/raw.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -23,81 +23,105 @@
 
 /*** public methods *************************************/
 
-CPlayer *CrawPlayer::factory(Copl *newopl)
+CPlayer *
+CrawPlayer::factory (Copl * newopl)
 {
-  return new CrawPlayer(newopl);
+  return new CrawPlayer (newopl);
 }
 
-bool CrawPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CrawPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
   char id[8];
   unsigned long i;
 
   // file validation section
-  f->readString(id, 8);
-  if(strncmp(id,"RAWADATA",8)) { fp.close (f); return false; }
+  f->readString (id, 8);
+  if (strncmp (id, "RAWADATA", 8))
+  {
+    fp.close (f);
+    return false;
+  }
 
   // load section
-  clock = f->readInt(2);	// clock speed
-  length = (fp.filesize(f) - 10) / 2;
-  data = new Tdata [length];
-  for(i = 0; i < length; i++) {
-    data[i].param = f->readInt(1);
-    data[i].command = f->readInt(1);
+  clock = f->readInt (2);       // clock speed
+  length = (fp.filesize (f) - 10) / 2;
+  data = new Tdata[length];
+  for (i = 0; i < length; i++)
+  {
+    data[i].param = f->readInt (1);
+    data[i].command = f->readInt (1);
   }
 
-  fp.close(f);
-  rewind(0);
+  fp.close (f);
+  rewind (0);
   return true;
 }
 
-bool CrawPlayer::update()
+bool
+CrawPlayer::update ()
 {
-  bool	setspeed;
+  bool setspeed;
 
-  if(pos >= length) return false;
+  if (pos >= length)
+    return false;
 
-  if(del) {
+  if (del)
+  {
     del--;
     return !songend;
   }
 
-  do {
+  do
+  {
     setspeed = false;
-    switch(data[pos].command) {
-    case 0: del = data[pos].param - 1; break;
+    switch (data[pos].command)
+    {
+    case 0:
+      del = data[pos].param - 1;
+      break;
     case 2:
-      if(!data[pos].param) {
-	pos++;
-	speed = data[pos].param + (data[pos].command << 8);
-	setspeed = true;
-      } else
-	opl->setchip(data[pos].param - 1);
+      if (!data[pos].param)
+      {
+        pos++;
+        speed = data[pos].param + (data[pos].command << 8);
+        setspeed = true;
+      }
+      else
+        opl->setchip (data[pos].param - 1);
       break;
     case 0xff:
-      if(data[pos].param == 0xff) {
-	rewind(0);		// auto-rewind song
-	songend = true;
-	return !songend;
+      if (data[pos].param == 0xff)
+      {
+        rewind (0);             // auto-rewind song
+        songend = true;
+        return !songend;
       }
       break;
     default:
-      opl->write(data[pos].command,data[pos].param);
+      opl->write (data[pos].command, data[pos].param);
       break;
     }
-  } while(data[pos++].command || setspeed);
+  } while (data[pos++].command || setspeed);
 
   return !songend;
 }
 
-void CrawPlayer::rewind(int subsong)
+void
+CrawPlayer::rewind (int subsong)
 {
-  pos = del = 0; speed = clock; songend = false;
-  opl->init(); opl->write(1, 32);	// go to 9 channel mode
+  pos = del = 0;
+  speed = clock;
+  songend = false;
+  opl->init ();
+  opl->write (1, 32);           // go to 9 channel mode
 }
 
-float CrawPlayer::getrefresh()
+float
+CrawPlayer::getrefresh ()
 {
-  return 1193180.0 / (speed ? speed : 0xffff);	// timer oscillator speed / wait register = clock frequency
+  return 1193180.0 / (speed ? speed : 0xffff);  // timer oscillator speed / wait register = clock frequency
 }
--- a/src/adplug/core/rix.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/rix.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -23,81 +23,108 @@
 #include "rix.h"
 #include "debug.h"
 
-const unsigned char CrixPlayer::adflag[] = {0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1};
-const unsigned char CrixPlayer::reg_data[] = {0,1,2,3,4,5,8,9,10,11,12,13,16,17,18,19,20,21};
-const unsigned char CrixPlayer::ad_C0_offs[] = {0,1,2,0,1,2,3,4,5,3,4,5,6,7,8,6,7,8};
-const unsigned char CrixPlayer::modify[] = {0,3,1,4,2,5,6,9,7,10,8,11,12,15,13,16,14,17,12,\
-					    15,16,0,14,0,17,0,13,0};
-const unsigned char CrixPlayer::bd_reg_data[] = {
-  0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x08,0x04,0x02,0x01,
-  0x00,0x01,0x01,0x03,0x0F,0x05,0x00,0x01,0x03,0x0F,0x00,
-  0x00,0x00,0x01,0x00,0x00,0x01,0x01,0x0F,0x07,0x00,0x02,
-  0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x0A,
-  0x04,0x00,0x08,0x0C,0x0B,0x00,0x00,0x00,0x01,0x00,0x00,
-  0x00,0x00,0x0D,0x04,0x00,0x06,0x0F,0x00,0x00,0x00,0x00,
-  0x01,0x00,0x00,0x0C,0x00,0x0F,0x0B,0x00,0x08,0x05,0x00,
-  0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x0F,0x0B,0x00,
-  0x07,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,
-  0x0F,0x0B,0x00,0x05,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
-  0x00,0x01,0x00,0x0F,0x0B,0x00,0x07,0x05,0x00,0x00,0x00,
-  0x00,0x00,0x00};
-unsigned char CrixPlayer::for40reg[] = {0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,
-					0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F};
-unsigned short CrixPlayer::mus_time = 0x4268;
+const unsigned char
+CrixPlayer::adflag[] =
+  { 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1 };
+const unsigned char
+CrixPlayer::reg_data[] =
+  { 0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21 };
+const unsigned char
+CrixPlayer::ad_C0_offs[] =
+  { 0, 1, 2, 0, 1, 2, 3, 4, 5, 3, 4, 5, 6, 7, 8, 6, 7, 8 };
+const unsigned char
+  CrixPlayer::modify[] =
+  { 0, 3, 1, 4, 2, 5, 6, 9, 7, 10, 8, 11, 12, 15, 13, 16, 14, 17, 12,
+  15, 16, 0, 14, 0, 17, 0, 13, 0
+};
+const unsigned char
+  CrixPlayer::bd_reg_data[] = {
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x04, 0x02, 0x01,
+  0x00, 0x01, 0x01, 0x03, 0x0F, 0x05, 0x00, 0x01, 0x03, 0x0F, 0x00,
+  0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x0F, 0x07, 0x00, 0x02,
+  0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
+  0x04, 0x00, 0x08, 0x0C, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x0D, 0x04, 0x00, 0x06, 0x0F, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x0C, 0x00, 0x0F, 0x0B, 0x00, 0x08, 0x05, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0F, 0x0B, 0x00,
+  0x07, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+  0x0F, 0x0B, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x01, 0x00, 0x0F, 0x0B, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+unsigned char
+  CrixPlayer::for40reg[] =
+  { 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
+  0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F
+};
+unsigned short
+  CrixPlayer::mus_time = 0x4268;
 
 /*** public methods *************************************/
 
-CPlayer *CrixPlayer::factory(Copl *newopl)
+CPlayer *
+CrixPlayer::factory (Copl * newopl)
 {
-  return new CrixPlayer(newopl);
+  return new CrixPlayer (newopl);
 }
 
-CrixPlayer::CrixPlayer(Copl *newopl)
-  : CPlayer(newopl), flag_mkf(0), file_buffer(0), buf_addr(0)
+CrixPlayer::CrixPlayer (Copl * newopl):CPlayer (newopl), flag_mkf (0), file_buffer (0),
+buf_addr (0)
 {
 }
 
-CrixPlayer::~CrixPlayer()
+CrixPlayer::~CrixPlayer ()
 {
-  if(file_buffer)
-    delete [] file_buffer;
+  if (file_buffer)
+    delete[]file_buffer;
 }
 
-bool CrixPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CrixPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
-  unsigned long i=0;
-  std::string filename(fd->uri);
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  unsigned long i = 0;
+  std::string filename (fd->uri);
 
-  if(stricmp(filename.substr(filename.length()-4,4).c_str(),".mkf")==0)
+  if (stricmp (filename.substr (filename.length () - 4, 4).c_str (), ".mkf")
+      == 0)
   {
-	  flag_mkf=1;
-	  f->seek(0);
-	  int offset=f->readInt(4);
-	  f->seek(offset);
+    flag_mkf = 1;
+    f->seek (0);
+    int offset = f->readInt (4);
+    f->seek (offset);
+  }
+  if (f->readInt (2) != 0x55aa)
+  {
+    fp.close (f);
+    return false;
   }
-  if(f->readInt(2)!=0x55aa){ fp.close(f);return false; }
-  file_buffer = new unsigned char [fp.filesize(f) + 1];
-  f->seek(0);
-  while(!f->eof())
-	file_buffer[i++]=f->readInt(1);
-  length=i;
-  fp.close(f);
-  if(!flag_mkf)
-	  buf_addr=file_buffer;
-  rewind(0);
+  file_buffer = new unsigned char[fp.filesize (f) + 1];
+  f->seek (0);
+  while (!f->eof ())
+    file_buffer[i++] = f->readInt (1);
+  length = i;
+  fp.close (f);
+  if (!flag_mkf)
+    buf_addr = file_buffer;
+  rewind (0);
   return true;
 }
 
-bool CrixPlayer::update()
+bool
+CrixPlayer::update ()
 {
-	int_08h_entry();
-	return !play_end;
+  int_08h_entry ();
+  return !play_end;
 }
 
-void CrixPlayer::rewind(int subsong)
+void
+CrixPlayer::rewind (int subsong)
 {
-  I = 0; T = 0;
+  I = 0;
+  T = 0;
   mus_block = 0;
   ins_block = 0;
   rhythm = 0;
@@ -109,387 +136,472 @@
   bd_modify = 0;
   sustain = 0;
   play_end = 0;
-  pos = index = 0; 
+  pos = index = 0;
 
-  memset(f_buffer, 0, sizeof(unsigned short) * 300);
-  memset(a0b0_data2, 0, sizeof(unsigned short) * 11);
-  memset(a0b0_data3, 0, 18);
-  memset(a0b0_data4, 0, 18);
-  memset(a0b0_data5, 0, 96);
-  memset(addrs_head, 0, 96);
-  memset(insbuf, 0, 28 * sizeof(unsigned short));
-  memset(displace, 0, 11 * sizeof(unsigned short));
-  memset(reg_bufs, 0, 18 * sizeof(ADDT));
+  memset (f_buffer, 0, sizeof (unsigned short) * 300);
+  memset (a0b0_data2, 0, sizeof (unsigned short) * 11);
+  memset (a0b0_data3, 0, 18);
+  memset (a0b0_data4, 0, 18);
+  memset (a0b0_data5, 0, 96);
+  memset (addrs_head, 0, 96);
+  memset (insbuf, 0, 28 * sizeof (unsigned short));
+  memset (displace, 0, 11 * sizeof (unsigned short));
+  memset (reg_bufs, 0, 18 * sizeof (ADDT));
 
-  if(flag_mkf)
+  if (flag_mkf)
   {
-	  unsigned int *buf_index=(unsigned int *)file_buffer;
-	  int offset1=buf_index[subsong],offset2;
-	  while((offset2=buf_index[++subsong])==offset1);
-	  length=offset2-offset1+1;
-	  buf_addr=file_buffer+offset1;
+    unsigned int *buf_index = (unsigned int *) file_buffer;
+    int offset1 = buf_index[subsong], offset2;
+    while ((offset2 = buf_index[++subsong]) == offset1);
+    length = offset2 - offset1 + 1;
+    buf_addr = file_buffer + offset1;
   }
-  opl->init(); 
-  opl->write(1,32);	// go to OPL2 mode
-  set_new_int();
-  data_initial();
+  opl->init ();
+  opl->write (1, 32);           // go to OPL2 mode
+  set_new_int ();
+  data_initial ();
 }
 
-unsigned int CrixPlayer::getsubsongs()
+unsigned int
+CrixPlayer::getsubsongs ()
 {
-	if(flag_mkf)
-	{
-		unsigned int *buf_index=(unsigned int *)file_buffer;
-		int songs=buf_index[0]/4,i=0;
-		for(i=0;i<songs;i++)
-			if(buf_index[i+1]==buf_index[i])
-				songs--;
-		return songs;
-	}
-	else
-		return 1;
+  if (flag_mkf)
+  {
+    unsigned int *buf_index = (unsigned int *) file_buffer;
+    int songs = buf_index[0] / 4, i = 0;
+    for (i = 0; i < songs; i++)
+      if (buf_index[i + 1] == buf_index[i])
+        songs--;
+    return songs;
+  }
+  else
+    return 1;
 }
 
-float CrixPlayer::getrefresh()
+float
+CrixPlayer::getrefresh ()
 {
-	return 70.0f;
+  return 70.0f;
 }
 
 /*------------------Implemention----------------------------*/
-inline void CrixPlayer::set_new_int()
+inline void
+CrixPlayer::set_new_int ()
 {
 //   if(!ad_initial()) exit(1);
-  ad_initial();
+  ad_initial ();
 }
+
 /*----------------------------------------------------------*/
-inline void CrixPlayer::Pause()
+inline void
+CrixPlayer::Pause ()
 {
   register unsigned short i;
   pause_flag = 1;
-  for(i=0;i<11;i++)
-    switch_ad_bd(i);
+  for (i = 0; i < 11; i++)
+    switch_ad_bd (i);
 }
+
 /*----------------------------------------------------------*/
-inline void CrixPlayer::ad_a0b0l_reg_(unsigned short index,unsigned short p2,unsigned short p3)
+inline void
+CrixPlayer::ad_a0b0l_reg_ (unsigned short index, unsigned short p2,
+                           unsigned short p3)
 {
 //   unsigned short i = p2+a0b0_data2[index];
   a0b0_data4[index] = p3;
   a0b0_data3[index] = p2;
 }
-inline void CrixPlayer::data_initial()
+inline void
+CrixPlayer::data_initial ()
 {
   rhythm = buf_addr[2];
-  mus_block = (buf_addr[0x0D]<<8)+buf_addr[0x0C];
-  ins_block = (buf_addr[0x09]<<8)+buf_addr[0x08];
-  I = mus_block+1;
-  if(rhythm != 0)
-    {
-      //		ad_a0b0_reg(6);
-      //		ad_a0b0_reg(7);
-      //		ad_a0b0_reg(8);
-      ad_a0b0l_reg_(8,0x18,0);
-      ad_a0b0l_reg_(7,0x1F,0);
-    }
+  mus_block = (buf_addr[0x0D] << 8) + buf_addr[0x0C];
+  ins_block = (buf_addr[0x09] << 8) + buf_addr[0x08];
+  I = mus_block + 1;
+  if (rhythm != 0)
+  {
+    //        ad_a0b0_reg(6);
+    //        ad_a0b0_reg(7);
+    //        ad_a0b0_reg(8);
+    ad_a0b0l_reg_ (8, 0x18, 0);
+    ad_a0b0l_reg_ (7, 0x1F, 0);
+  }
   bd_modify = 0;
-  //	ad_bd_reg();
-  band = 0; music_on = 1;
+  //    ad_bd_reg();
+  band = 0;
+  music_on = 1;
 }
+
 /*----------------------------------------------------------*/
-inline unsigned short CrixPlayer::ad_initial()
+inline unsigned short
+CrixPlayer::ad_initial ()
 {
-  register unsigned short i,j,k = 0;
-  for(i=0;i<25;i++) 
+  register unsigned short i, j, k = 0;
+  for (i = 0; i < 25; i++)
   {
-  	f_buffer[i*12]=(unsigned int)((i*24+10000)*0.27461678223+4)>>3;
-  	for(int t=1;t<12;t++)
-  		f_buffer[i*12+t]=(unsigned int)((double)f_buffer[i*12+t-1]*1.06);
+    f_buffer[i * 12] =
+      (unsigned int) ((i * 24 + 10000) * 0.27461678223 + 4) >> 3;
+    for (int t = 1; t < 12; t++)
+      f_buffer[i * 12 + t] =
+        (unsigned int) ((double) f_buffer[i * 12 + t - 1] * 1.06);
   }
-  for(i=0;i<8;i++)
-    for(j=0;j<12;j++)
-      {
-	a0b0_data5[k] = i;
-	addrs_head[k] = j;
-	k++;
-      }
+  for (i = 0; i < 8; i++)
+    for (j = 0; j < 12; j++)
+    {
+      a0b0_data5[k] = i;
+      addrs_head[k] = j;
+      k++;
+    }
   //ad_bd_reg();
   //ad_08_reg();
   //for(i=0;i<9;i++) ad_a0b0_reg(i);
   e0_reg_flag = 0x20;
   //for(i=0;i<18;i++) ad_bop(0xE0+reg_data[i],0);
   //ad_bop(1,e0_reg_flag);
-  return 1;//ad_test();
+  return 1;                     //ad_test();
 }
+
 /*----------------------------------------------------------*/
-inline void CrixPlayer::ad_bop(unsigned short reg,unsigned short value)
+inline void
+CrixPlayer::ad_bop (unsigned short reg, unsigned short value)
 {
-  if(reg == 2 || reg == 3)
-    AdPlug_LogWrite("switch OPL2/3 mode!\n");
-  opl->write(reg & 0xff, value & 0xff);
+  if (reg == 2 || reg == 3)
+    AdPlug_LogWrite ("switch OPL2/3 mode!\n");
+  opl->write (reg & 0xff, value & 0xff);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::int_08h_entry()
-  {   
+inline void
+CrixPlayer::int_08h_entry ()
+{
   unsigned short band_sus = 1;
-  while(band_sus)
+  while (band_sus)
+  {
+    if (sustain <= 0)
     {
-        if(sustain <= 0)   
-	{
-	  band_sus = rix_proc();
-	  if(band_sus) sustain += band_sus;
-            else
-	    {
-                play_end=1;   
-	      break;
-	    }
-	}
+      band_sus = rix_proc ();
+      if (band_sus)
+        sustain += band_sus;
       else
-	{
-            if(band_sus) sustain -= 14; /* aging */   
-	  break;
-	}
+      {
+        play_end = 1;
+        break;
+      }
     }
-  }   
+    else
+    {
+      if (band_sus)
+        sustain -= 14;          /* aging */
+      break;
+    }
+  }
+}
+
 /*--------------------------------------------------------------*/
-inline unsigned short CrixPlayer::rix_proc()
+inline unsigned short
+CrixPlayer::rix_proc ()
 {
   unsigned char ctrl = 0;
-  if(music_on == 0||pause_flag == 1) return 0;
+  if (music_on == 0 || pause_flag == 1)
+    return 0;
   band = 0;
-  while(buf_addr[I] != 0x80 && I<length-1)
+  while (buf_addr[I] != 0x80 && I < length - 1)
+  {
+    band_low = buf_addr[I - 1];
+    ctrl = buf_addr[I];
+    I += 2;
+    switch (ctrl & 0xF0)
     {
-      band_low = buf_addr[I-1];
-      ctrl = buf_addr[I]; I+=2;
-      switch(ctrl&0xF0)
-	{
-	case 0x90:  rix_get_ins(); rix_90_pro(ctrl&0x0F); break;
-	case 0xA0:  rix_A0_pro(ctrl&0x0F,((unsigned short)band_low)<<6); break;
-	case 0xB0:  rix_B0_pro(ctrl&0x0F,band_low); break;
-	case 0xC0:  switch_ad_bd(ctrl&0x0F);
-	  if(band_low != 0) rix_C0_pro(ctrl&0x0F,band_low);
-	  break;
-	default:    band = (ctrl<<8)+band_low; break;
-	}
-      if(band != 0) return band;
+    case 0x90:
+      rix_get_ins ();
+      rix_90_pro (ctrl & 0x0F);
+      break;
+    case 0xA0:
+      rix_A0_pro (ctrl & 0x0F, ((unsigned short) band_low) << 6);
+      break;
+    case 0xB0:
+      rix_B0_pro (ctrl & 0x0F, band_low);
+      break;
+    case 0xC0:
+      switch_ad_bd (ctrl & 0x0F);
+      if (band_low != 0)
+        rix_C0_pro (ctrl & 0x0F, band_low);
+      break;
+    default:
+      band = (ctrl << 8) + band_low;
+      break;
     }
-  music_ctrl();
-  I = mus_block+1;
-  band = 0; music_on = 1;
+    if (band != 0)
+      return band;
+  }
+  music_ctrl ();
+  I = mus_block + 1;
+  band = 0;
+  music_on = 1;
   return 0;
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::rix_get_ins()
+inline void
+CrixPlayer::rix_get_ins ()
 {
-  int		i;
-  unsigned char	*baddr = (&buf_addr[ins_block])+(band_low<<6);
+  int i;
+  unsigned char *baddr = (&buf_addr[ins_block]) + (band_low << 6);
 
-  for(i = 0; i < 28; i++)
+  for (i = 0; i < 28; i++)
     insbuf[i] = (baddr[i * 2 + 1] << 8) + baddr[i * 2];
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::rix_90_pro(unsigned short ctrl_l)
+inline void
+CrixPlayer::rix_90_pro (unsigned short ctrl_l)
+{
+  if (rhythm == 0 || ctrl_l < 6)
+  {
+    ins_to_reg (modify[ctrl_l * 2], insbuf, insbuf[26]);
+    ins_to_reg (modify[ctrl_l * 2 + 1], insbuf + 13, insbuf[27]);
+    return;
+  }
+  else if (ctrl_l > 6)
+  {
+    ins_to_reg (modify[ctrl_l * 2 + 6], insbuf, insbuf[26]);
+    return;
+  }
+  else
+  {
+    ins_to_reg (12, insbuf, insbuf[26]);
+    ins_to_reg (15, insbuf + 13, insbuf[27]);
+    return;
+  }
+}
+
+/*--------------------------------------------------------------*/
+inline void
+CrixPlayer::rix_A0_pro (unsigned short ctrl_l, unsigned short index)
 {
-  if(rhythm == 0 || ctrl_l < 6)
+  if (rhythm == 0 || ctrl_l <= 6)
+  {
+    prepare_a0b0 (ctrl_l, index > 0x3FFF ? 0x3FFF : index);
+    ad_a0b0l_reg (ctrl_l, a0b0_data3[ctrl_l], a0b0_data4[ctrl_l]);
+  }
+  else
+    return;
+}
+
+/*--------------------------------------------------------------*/
+inline void
+CrixPlayer::prepare_a0b0 (unsigned short index, unsigned short v)   /* important ! */
+{
+  short high = 0, low = 0;
+  unsigned int res;
+  int res1 = (v - 0x2000) * 0x19;
+  if (res1 == (int) 0xff)
+    return;
+  low = res1 / 0x2000;
+  if (low < 0)
+  {
+    low = 0x18 - low;
+    high = (signed short) low < 0 ? 0xFFFF : 0;
+    res = high;
+    res <<= 16;
+    res += low;
+    low = ((signed short) res) / (signed short) 0xFFE7;
+    a0b0_data2[index] = low;
+    low = res;
+    res = low - 0x18;
+    high = (signed short) res % 0x19;
+    low = (signed short) res / 0x19;
+    if (high != 0)
     {
-      ins_to_reg(modify[ctrl_l*2],insbuf,insbuf[26]);
-      ins_to_reg(modify[ctrl_l*2+1],insbuf+13,insbuf[27]);
-      return;
-    }
-  else if(ctrl_l > 6)
-	{
-	  ins_to_reg(modify[ctrl_l*2+6],insbuf,insbuf[26]);
-	  return;
-	}
-      else
-	{
-	  ins_to_reg(12,insbuf,insbuf[26]);
-	  ins_to_reg(15,insbuf+13,insbuf[27]);
-	  return;
-	}
-}
-/*--------------------------------------------------------------*/
-inline void CrixPlayer::rix_A0_pro(unsigned short ctrl_l,unsigned short index)
-{
-  if(rhythm == 0 || ctrl_l <= 6)
-    {
-      prepare_a0b0(ctrl_l,index>0x3FFF?0x3FFF:index);
-      ad_a0b0l_reg(ctrl_l,a0b0_data3[ctrl_l],a0b0_data4[ctrl_l]);
+      low = 0x19;
+      low = low - high;
     }
-  else return;
-}
-/*--------------------------------------------------------------*/
-inline void CrixPlayer::prepare_a0b0(unsigned short index,unsigned short v)  /* important !*/
-{
-  short high = 0,low = 0; unsigned int res;
-  int res1 = (v-0x2000)*0x19;
-  if(res1 == (int)0xff) return;
-  low = res1/0x2000;
-  if(low < 0)
-    {
-      low = 0x18-low; high = (signed short)low<0?0xFFFF:0;
-      res = high; res<<=16; res+=low;
-      low = ((signed short)res)/(signed short)0xFFE7;
-      a0b0_data2[index] = low;
-      low = res;
-      res = low - 0x18;
-      high = (signed short)res%0x19;
-      low = (signed short)res/0x19;
-      if(high != 0) {low = 0x19; low = low-high;}
-    }
+  }
   else
-    {
-      res = high = low;
-      low = (signed short)res/(signed short)0x19;
-      a0b0_data2[index] = low;
-      res = high;
-      low = (signed short)res%(signed short)0x19;
-    }
-  low = (signed short)low*(signed short)0x18;
+  {
+    res = high = low;
+    low = (signed short) res / (signed short) 0x19;
+    a0b0_data2[index] = low;
+    res = high;
+    low = (signed short) res % (signed short) 0x19;
+  }
+  low = (signed short) low *(signed short) 0x18;
   displace[index] = low;
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ad_a0b0l_reg(unsigned short index,unsigned short p2,unsigned short p3)
+inline void
+CrixPlayer::ad_a0b0l_reg (unsigned short index, unsigned short p2,
+                          unsigned short p3)
 {
-  unsigned short data; unsigned short i = p2+a0b0_data2[index];
+  unsigned short data;
+  unsigned short i = p2 + a0b0_data2[index];
   a0b0_data4[index] = p3;
   a0b0_data3[index] = p2;
-  i = ((signed short)i<=0x5F?i:0x5F);
-  i = ((signed short)i>=0?i:0);
-  data = f_buffer[addrs_head[i]+displace[index]/2];
-  ad_bop(0xA0+index,data);
-  data = a0b0_data5[i]*4+(p3<1?0:0x20)+((data>>8)&3);
-  ad_bop(0xB0+index,data);
+  i = ((signed short) i <= 0x5F ? i : 0x5F);
+  i = ((signed short) i >= 0 ? i : 0);
+  data = f_buffer[addrs_head[i] + displace[index] / 2];
+  ad_bop (0xA0 + index, data);
+  data = a0b0_data5[i] * 4 + (p3 < 1 ? 0 : 0x20) + ((data >> 8) & 3);
+  ad_bop (0xB0 + index, data);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::rix_B0_pro(unsigned short ctrl_l,unsigned short index)
+inline void
+CrixPlayer::rix_B0_pro (unsigned short ctrl_l, unsigned short index)
 {
   register int temp = 0;
-  if(rhythm == 0 || ctrl_l < 6) temp = modify[ctrl_l*2+1];
+  if (rhythm == 0 || ctrl_l < 6)
+    temp = modify[ctrl_l * 2 + 1];
   else
-    {
-      temp = ctrl_l > 6?ctrl_l*2:ctrl_l*2+1;
-      temp = modify[temp+6];
-    }
-  for40reg[temp] = index>0x7F?0x7F:index;
-  ad_40_reg(temp);
+  {
+    temp = ctrl_l > 6 ? ctrl_l * 2 : ctrl_l * 2 + 1;
+    temp = modify[temp + 6];
+  }
+  for40reg[temp] = index > 0x7F ? 0x7F : index;
+  ad_40_reg (temp);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::rix_C0_pro(unsigned short ctrl_l,unsigned short index)
+inline void
+CrixPlayer::rix_C0_pro (unsigned short ctrl_l, unsigned short index)
 {
-  register unsigned short i = index>=12?index-12:0;
-  if(ctrl_l < 6 || rhythm == 0)
+  register unsigned short i = index >= 12 ? index - 12 : 0;
+  if (ctrl_l < 6 || rhythm == 0)
+  {
+    ad_a0b0l_reg (ctrl_l, i, 1);
+    return;
+  }
+  else
+  {
+    if (ctrl_l != 6)
     {
-      ad_a0b0l_reg(ctrl_l,i,1);
-      return;
+      if (ctrl_l == 8)
+      {
+        ad_a0b0l_reg (ctrl_l, i, 0);
+        ad_a0b0l_reg (7, i + 7, 0);
+      }
     }
-  else
-    {
-      if(ctrl_l != 6)
-	{
-	  if(ctrl_l == 8)
-	    {
-	      ad_a0b0l_reg(ctrl_l,i,0);
-	      ad_a0b0l_reg(7,i+7,0);
-	    }
-	}
-      else ad_a0b0l_reg(ctrl_l,i,0);
-      bd_modify |= bd_reg_data[ctrl_l];
-      ad_bd_reg();
-      return;
-    }
+    else
+      ad_a0b0l_reg (ctrl_l, i, 0);
+    bd_modify |= bd_reg_data[ctrl_l];
+    ad_bd_reg ();
+    return;
+  }
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::switch_ad_bd(unsigned short index)
+inline void
+CrixPlayer::switch_ad_bd (unsigned short index)
 {
 
-  if(rhythm == 0 || index < 6) ad_a0b0l_reg(index,a0b0_data3[index],0);
+  if (rhythm == 0 || index < 6)
+    ad_a0b0l_reg (index, a0b0_data3[index], 0);
   else
-    {
-      bd_modify &= (~bd_reg_data[index]),
-	ad_bd_reg();
-    }
+  {
+    bd_modify &= (~bd_reg_data[index]), ad_bd_reg ();
+  }
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ins_to_reg(unsigned short index,unsigned short* insb,unsigned short value)
+inline void
+CrixPlayer::ins_to_reg (unsigned short index, unsigned short *insb,
+                        unsigned short value)
 {
   register unsigned short i;
-  for(i=0;i<13;i++) reg_bufs[index].v[i] = insb[i];
-  reg_bufs[index].v[13] = value&3;
-  ad_bd_reg(),ad_08_reg(),
-    ad_40_reg(index),ad_C0_reg(index),ad_60_reg(index),
-    ad_80_reg(index),ad_20_reg(index),ad_E0_reg(index);
+  for (i = 0; i < 13; i++)
+    reg_bufs[index].v[i] = insb[i];
+  reg_bufs[index].v[13] = value & 3;
+  ad_bd_reg (), ad_08_reg (),
+    ad_40_reg (index), ad_C0_reg (index), ad_60_reg (index),
+    ad_80_reg (index), ad_20_reg (index), ad_E0_reg (index);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ad_E0_reg(unsigned short index)
+inline void
+CrixPlayer::ad_E0_reg (unsigned short index)
 {
-  unsigned short data = e0_reg_flag == 0?0:(reg_bufs[index].v[13]&3);
-  ad_bop(0xE0+reg_data[index],data);
+  unsigned short data = e0_reg_flag == 0 ? 0 : (reg_bufs[index].v[13] & 3);
+  ad_bop (0xE0 + reg_data[index], data);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ad_20_reg(unsigned short index)
+inline void
+CrixPlayer::ad_20_reg (unsigned short index)
 {
-  unsigned short data = (reg_bufs[index].v[9] < 1?0:0x80);
-  data += (reg_bufs[index].v[10] < 1?0:0x40);
-  data += (reg_bufs[index].v[5] < 1?0:0x20);
-  data += (reg_bufs[index].v[11] < 1?0:0x10);
-  data += (reg_bufs[index].v[1]&0x0F);
-  ad_bop(0x20+reg_data[index],data);
+  unsigned short data = (reg_bufs[index].v[9] < 1 ? 0 : 0x80);
+  data += (reg_bufs[index].v[10] < 1 ? 0 : 0x40);
+  data += (reg_bufs[index].v[5] < 1 ? 0 : 0x20);
+  data += (reg_bufs[index].v[11] < 1 ? 0 : 0x10);
+  data += (reg_bufs[index].v[1] & 0x0F);
+  ad_bop (0x20 + reg_data[index], data);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ad_80_reg(unsigned short index)
+inline void
+CrixPlayer::ad_80_reg (unsigned short index)
 {
-  unsigned short data = (reg_bufs[index].v[7]&0x0F),temp = reg_bufs[index].v[4];
+  unsigned short data = (reg_bufs[index].v[7] & 0x0F), temp =
+    reg_bufs[index].v[4];
   data |= (temp << 4);
-  ad_bop(0x80+reg_data[index],data);
+  ad_bop (0x80 + reg_data[index], data);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ad_60_reg(unsigned short index)
+inline void
+CrixPlayer::ad_60_reg (unsigned short index)
 {
-  unsigned short data = reg_bufs[index].v[6]&0x0F,temp = reg_bufs[index].v[3];
+  unsigned short data = reg_bufs[index].v[6] & 0x0F, temp =
+    reg_bufs[index].v[3];
   data |= (temp << 4);
-  ad_bop(0x60+reg_data[index],data);
+  ad_bop (0x60 + reg_data[index], data);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ad_C0_reg(unsigned short index)
+inline void
+CrixPlayer::ad_C0_reg (unsigned short index)
 {
   unsigned short data = reg_bufs[index].v[2];
-  if(adflag[index] == 1) return;
-  data *= 2,
-    data |= (reg_bufs[index].v[12] < 1?1:0);
-  ad_bop(0xC0+ad_C0_offs[index],data);
+  if (adflag[index] == 1)
+    return;
+  data *= 2, data |= (reg_bufs[index].v[12] < 1 ? 1 : 0);
+  ad_bop (0xC0 + ad_C0_offs[index], data);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ad_40_reg(unsigned short index)
+inline void
+CrixPlayer::ad_40_reg (unsigned short index)
 {
   unsigned int res = 0;
-  unsigned short data = 0,temp = reg_bufs[index].v[0];
+  unsigned short data = 0, temp = reg_bufs[index].v[0];
   data = 0x3F - (0x3F & reg_bufs[index].v[8]),
-    data *= for40reg[index],
-    data *= 2,
-    data += 0x7F,
-    res = data;
-  data = res/0xFE,
-    data -= 0x3F,
-    data = -data,
-    data |= temp<<6;
-  ad_bop(0x40+reg_data[index],data);
+    data *= for40reg[index], data *= 2, data += 0x7F, res = data;
+  data = res / 0xFE, data -= 0x3F, data = -data, data |= temp << 6;
+  ad_bop (0x40 + reg_data[index], data);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ad_bd_reg()
+inline void
+CrixPlayer::ad_bd_reg ()
 {
-  unsigned short data = rhythm < 1? 0:0x20;
+  unsigned short data = rhythm < 1 ? 0 : 0x20;
   data |= bd_modify;
-  ad_bop(0xBD,data);
+  ad_bop (0xBD, data);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::ad_a0b0_reg(unsigned short index)
+inline void
+CrixPlayer::ad_a0b0_reg (unsigned short index)
 {
-  ad_bop(0xA0+index,0);
-  ad_bop(0xB0+index,0);
+  ad_bop (0xA0 + index, 0);
+  ad_bop (0xB0 + index, 0);
 }
+
 /*--------------------------------------------------------------*/
-inline void CrixPlayer::music_ctrl()
+inline void
+CrixPlayer::music_ctrl ()
 {
   register int i;
-  for(i=0;i<11;i++)
-    switch_ad_bd(i);
+  for (i = 0; i < 11; i++)
+    switch_ad_bd (i);
 }
--- a/src/adplug/core/rol.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/rol.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -25,702 +25,786 @@
 #include "rol.h"
 #include "debug.h"
 
-int   const CrolPlayer::kSizeofDataRecord    =  30;
-int   const CrolPlayer::kMaxTickBeat         =  60;
-int   const CrolPlayer::kSilenceNote         = -12;
-int   const CrolPlayer::kNumMelodicVoices    =  9;
-int   const CrolPlayer::kNumPercussiveVoices = 11;
-int   const CrolPlayer::kBassDrumChannel     =  6;
-int   const CrolPlayer::kSnareDrumChannel    =  7;
-int   const CrolPlayer::kTomtomChannel       =  8;
-int   const CrolPlayer::kTomtomFreq          =  2;//4;
-int   const CrolPlayer::kSnareDrumFreq       =  2;//kTomtomFreq + 7;
-float const CrolPlayer::kDefaultUpdateTme    = 18.2f;
-float const CrolPlayer::kPitchFactor         = 400.0f;
-
-static const unsigned char drum_table[4] = {0x14, 0x12, 0x15, 0x11};
+int const
+  CrolPlayer::kSizeofDataRecord = 30;
+int const
+  CrolPlayer::kMaxTickBeat = 60;
+int const
+  CrolPlayer::kSilenceNote = -12;
+int const
+  CrolPlayer::kNumMelodicVoices = 9;
+int const
+  CrolPlayer::kNumPercussiveVoices = 11;
+int const
+  CrolPlayer::kBassDrumChannel = 6;
+int const
+  CrolPlayer::kSnareDrumChannel = 7;
+int const
+  CrolPlayer::kTomtomChannel = 8;
+int const
+  CrolPlayer::kTomtomFreq = 2;  //4;
+int const
+  CrolPlayer::kSnareDrumFreq = 2;   //kTomtomFreq + 7;
+float const
+  CrolPlayer::kDefaultUpdateTme = 18.2f;
+float const
+  CrolPlayer::kPitchFactor = 400.0f;
 
-CrolPlayer::uint16 const CrolPlayer::kNoteTable[12] = 
-{ 
-    340, // C
-    363, // C#
-    385, // D
-    408, // D#
-    432, // E
-    458, // F
-    485, // F#
-    514, // G
-    544, // G#
-    577, // A
-    611, // A#
-    647  // B
+static const unsigned char
+drum_table[4] = { 0x14, 0x12, 0x15, 0x11 };
+
+CrolPlayer::uint16 const
+  CrolPlayer::kNoteTable[12] = {
+  340,                          // C
+  363,                          // C#
+  385,                          // D
+  408,                          // D#
+  432,                          // E
+  458,                          // F
+  485,                          // F#
+  514,                          // G
+  544,                          // G#
+  577,                          // A
+  611,                          // A#
+  647                           // B
 };
 
 /*** public methods **************************************/
 
-CPlayer *CrolPlayer::factory(Copl *newopl)
+CPlayer *
+CrolPlayer::factory (Copl * newopl)
 {
-  return new CrolPlayer(newopl);
+  return new CrolPlayer (newopl);
 }
+
 //---------------------------------------------------------
-CrolPlayer::CrolPlayer(Copl *newopl)
-:  CPlayer         ( newopl )
-  ,rol_header      ( NULL )
-  ,mNextTempoEvent ( 0 )
-  ,mCurrTick       ( 0 )
-  ,mTimeOfLastNote ( 0 )
-  ,mRefresh        ( kDefaultUpdateTme )
-  ,bdRegister      ( 0 )
+CrolPlayer::CrolPlayer (Copl * newopl):CPlayer (newopl), rol_header (NULL), mNextTempoEvent (0), mCurrTick (0),
+mTimeOfLastNote (0), mRefresh (kDefaultUpdateTme),
+bdRegister (0)
 {
-    int n;
+  int
+    n;
 
-    memset(bxRegister,  0, sizeof(bxRegister) );
-    memset(volumeCache, 0, sizeof(volumeCache) );
-    memset(freqCache,   0, sizeof(freqCache) );
+  memset (bxRegister, 0, sizeof (bxRegister));
+  memset (volumeCache, 0, sizeof (volumeCache));
+  memset (freqCache, 0, sizeof (freqCache));
+
+  for (n = 0; n < 11; n++)
+    pitchCache[n] = 1.0f;
+}
 
-    for(n=0; n<11; n++)
-      pitchCache[n]=1.0f;    
+//---------------------------------------------------------
+CrolPlayer::~CrolPlayer ()
+{
+  if (rol_header)
+  {
+    delete rol_header;
+    rol_header = 0;
+  }
 }
+
 //---------------------------------------------------------
-CrolPlayer::~CrolPlayer()
+bool
+CrolPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-    if(rol_header)
-    {
-        delete rol_header;
-        rol_header = 0;
-    }
-}
-//---------------------------------------------------------
-bool CrolPlayer::load(VFSFile *fd, const CFileProvider &fp)
-{
-    binistream *f = fp.open(fd); if(!f) return false;
-    std::string filename(fd->uri);
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  std::string filename (fd->uri);
+
+  char *fn = new char[filename.length () + 12];
+  int i;
+  std::string bnk_filename;
 
-    char *fn = new char[filename.length()+12];
-    int i;
-    std::string bnk_filename;
+  AdPlug_LogWrite ("*** CrolPlayer::load(f, \"%s\") ***\n",
+                   filename.c_str ());
+  strcpy (fn, filename.data ());
+  for (i = strlen (fn) - 1; i >= 0; i--)
+    if (fn[i] == '/' || fn[i] == '\\')
+      break;
+  strcpy (fn + i + 1, "standard.bnk");
+  bnk_filename = fn;
+  delete[]fn;
+  fn = 0;
+  AdPlug_LogWrite ("bnk_filename = \"%s\"\n", bnk_filename.c_str ());
+
+  rol_header = new SRolHeader;
+  memset (rol_header, 0, sizeof (SRolHeader));
+
+  rol_header->version_major = f->readInt (2);
+  rol_header->version_minor = f->readInt (2);
+
+  // Version check
+  if (rol_header->version_major != 0 || rol_header->version_minor != 4)
+  {
+    AdPlug_LogWrite ("Unsupported file version %d.%d or not a ROL file!\n",
+                     rol_header->version_major, rol_header->version_minor);
+    AdPlug_LogWrite ("--- CrolPlayer::load ---\n");
+    fp.close (f);
+    return false;
+  }
+
+  f->seek (40, binio::Add);
 
-    AdPlug_LogWrite("*** CrolPlayer::load(f, \"%s\") ***\n", filename.c_str());
-    strcpy(fn,filename.data());
-    for (i=strlen(fn)-1; i>=0; i--)
-      if (fn[i] == '/' || fn[i] == '\\')
-	break;
-    strcpy(fn+i+1,"standard.bnk");
-    bnk_filename = fn;
-    delete [] fn; fn = 0;
-    AdPlug_LogWrite("bnk_filename = \"%s\"\n",bnk_filename.c_str());
+  rol_header->ticks_per_beat = f->readInt (2);
+  rol_header->beats_per_measure = f->readInt (2);
+  rol_header->edit_scale_y = f->readInt (2);
+  rol_header->edit_scale_x = f->readInt (2);
+
+  f->seek (1, binio::Add);
+
+  rol_header->mode = f->readInt (1);
+
+  f->seek (90 + 38 + 15, binio::Add);
+
+  rol_header->basic_tempo = f->readFloat (binio::Single);
+
+  load_tempo_events (f);
+
+  mTimeOfLastNote = 0;
+
+  if (load_voice_data (f, bnk_filename, fp) != true)
+  {
+    AdPlug_LogWrite ("CrolPlayer::load_voice_data(f) failed!\n");
+    AdPlug_LogWrite ("--- CrolPlayer::load ---\n");
 
-    rol_header = new SRolHeader;
-    memset( rol_header, 0, sizeof(SRolHeader) );
+    fp.close (f);
+    return false;
+  }
+
+  fp.close (f);
+
+  rewind (0);
+  AdPlug_LogWrite ("--- CrolPlayer::load ---\n");
+  return true;
+}
 
-    rol_header->version_major = f->readInt( 2 );
-    rol_header->version_minor = f->readInt( 2 );
+//---------------------------------------------------------
+bool
+CrolPlayer::update ()
+{
+  if (mNextTempoEvent < mTempoEvents.size () &&
+      mTempoEvents[mNextTempoEvent].time == mCurrTick)
+  {
+    SetRefresh (mTempoEvents[mNextTempoEvent].multiplier);
+    ++mNextTempoEvent;
+  }
+
+  TVoiceData::iterator curr = voice_data.begin ();
+  TVoiceData::iterator end = voice_data.end ();
+  int voice = 0;
 
-    // Version check
-    if(rol_header->version_major != 0 || rol_header->version_minor != 4) {
-      AdPlug_LogWrite("Unsupported file version %d.%d or not a ROL file!\n",
-	       rol_header->version_major, rol_header->version_minor);
-      AdPlug_LogWrite("--- CrolPlayer::load ---\n");
-      fp.close(f);
-      return false;
-    }
+  while (curr != end)
+  {
+    UpdateVoice (voice, *curr);
+    ++curr;
+    ++voice;
+  }
+
+  ++mCurrTick;
+
+  if (mCurrTick > mTimeOfLastNote)
+  {
+    return false;
+  }
 
-    f->seek( 40, binio::Add );
+  return true;
+  //return ( mCurrTick > mTimeOfLastNote ) ? false : true;
+}
 
-    rol_header->ticks_per_beat    = f->readInt( 2 );
-    rol_header->beats_per_measure = f->readInt( 2 );
-    rol_header->edit_scale_y      = f->readInt( 2 );
-    rol_header->edit_scale_x      = f->readInt( 2 );
+//---------------------------------------------------------
+void
+CrolPlayer::rewind (int subsong)
+{
+  TVoiceData::iterator curr = voice_data.begin ();
+  TVoiceData::iterator end = voice_data.end ();
+
+  while (curr != end)
+  {
+    CVoiceData & voice = *curr;
 
-    f->seek( 1, binio::Add );
+    voice.Reset ();
+    ++curr;
+  }
 
-    rol_header->mode = f->readInt(1);
+  memset (bxRegister, 0, sizeof (bxRegister));
+  memset (volumeCache, 0, sizeof (volumeCache));
 
-    f->seek( 90+38+15, binio::Add );
+  bdRegister = 0;
+
+  opl->init ();                 // initialize to melodic by default
+  opl->write (1, 0x20);         // Enable waveform select (bit 5)
 
-    rol_header->basic_tempo = f->readFloat( binio::Single );
+  if (rol_header->mode == 0)
+  {
+    opl->write (0xbd, 0x20);    // select rhythm mode (bit 5)
+    bdRegister = 0x20;
 
-    load_tempo_events( f );
+    SetFreq (kTomtomChannel, 24);
+    SetFreq (kSnareDrumChannel, 31);
+  }
 
-    mTimeOfLastNote = 0;
+  mNextTempoEvent = 0;
+  mCurrTick = 0;
 
-    if( load_voice_data( f, bnk_filename, fp ) != true )
-    {
-      AdPlug_LogWrite("CrolPlayer::load_voice_data(f) failed!\n");
-      AdPlug_LogWrite("--- CrolPlayer::load ---\n");
+  SetRefresh (1.0f);
+}
+
+//---------------------------------------------------------
+inline float
+fmin (int const a, int const b)
+{
+  return static_cast < float >(a < b ? a : b);
+}
 
-      fp.close( f );
-      return false;
-    }
+//---------------------------------------------------------
+void
+CrolPlayer::SetRefresh (float const multiplier)
+{
+  float const tickBeat = fmin (kMaxTickBeat, rol_header->ticks_per_beat);
 
-    fp.close( f );
+  mRefresh = (tickBeat * rol_header->basic_tempo * multiplier) / 60.0f;
+}
+
+//---------------------------------------------------------
+float
+CrolPlayer::getrefresh ()
+{
+  return mRefresh;
+}
 
-    rewind( 0 );
-    AdPlug_LogWrite("--- CrolPlayer::load ---\n");
-    return true;
-}
 //---------------------------------------------------------
-bool CrolPlayer::update()
+void
+CrolPlayer::UpdateVoice (int const voice, CVoiceData & voiceData)
 {
-    if( mNextTempoEvent < mTempoEvents.size() &&
-        mTempoEvents[mNextTempoEvent].time == mCurrTick )
+  TNoteEvents const &nEvents = voiceData.note_events;
+
+  if (nEvents.empty () || voiceData.mEventStatus & CVoiceData::kES_NoteEnd)
+  {
+    return;                     // no note data to process, don't bother doing anything.
+  }
+
+  TInstrumentEvents & iEvents = voiceData.instrument_events;
+  TVolumeEvents & vEvents = voiceData.volume_events;
+  TPitchEvents & pEvents = voiceData.pitch_events;
+
+  if (!(voiceData.mEventStatus & CVoiceData::kES_InstrEnd) &&
+      iEvents[voiceData.next_instrument_event].time == mCurrTick)
+  {
+    if (voiceData.next_instrument_event < iEvents.size ())
     {
-        SetRefresh( mTempoEvents[mNextTempoEvent].multiplier );
-        ++mNextTempoEvent;
+      send_ins_data_to_chip (voice,
+                             iEvents[voiceData.next_instrument_event].
+                             ins_index);
+      ++voiceData.next_instrument_event;
     }
+    else
+    {
+      voiceData.mEventStatus |= CVoiceData::kES_InstrEnd;
+    }
+  }
 
-    TVoiceData::iterator curr = voice_data.begin();
-    TVoiceData::iterator end  = voice_data.end();
-    int voice                 = 0;
+  if (!(voiceData.mEventStatus & CVoiceData::kES_VolumeEnd) &&
+      vEvents[voiceData.next_volume_event].time == mCurrTick)
+  {
+    SVolumeEvent const &volumeEvent = vEvents[voiceData.next_volume_event];
 
-    while( curr != end )
+    if (voiceData.next_volume_event < vEvents.size ())
     {
-        UpdateVoice( voice, *curr );
-        ++curr;
-        ++voice;
-    }
+      int const volume = (int) (63.0f * (1.0f - volumeEvent.multiplier));
+
+      SetVolume (voice, volume);
 
-    ++mCurrTick;
+      ++voiceData.next_volume_event;    // move to next volume event
+    }
+    else
+    {
+      voiceData.mEventStatus |= CVoiceData::kES_VolumeEnd;
+    }
+  }
 
-    if( mCurrTick > mTimeOfLastNote )
+  if (voiceData.mForceNote
+      || voiceData.current_note_duration > voiceData.mNoteDuration - 1)
+  {
+    if (mCurrTick != 0)
     {
-        return false;
+      ++voiceData.current_note;
     }
 
-    return true;
-    //return ( mCurrTick > mTimeOfLastNote ) ? false : true;
-}
-//---------------------------------------------------------
-void CrolPlayer::rewind( int subsong )
-{
-    TVoiceData::iterator curr = voice_data.begin();
-    TVoiceData::iterator end  = voice_data.end();
-
-    while( curr != end )
+    if (voiceData.current_note < nEvents.size ())
     {
-        CVoiceData &voice = *curr;
-
-        voice.Reset();
-        ++curr;
-    }
-
-    memset(bxRegister,  0, sizeof(bxRegister) );
-    memset(volumeCache, 0, sizeof(volumeCache) );
-
-    bdRegister = 0;
-
-    opl->init();        // initialize to melodic by default
-    opl->write(1,0x20); // Enable waveform select (bit 5)
-
-    if( rol_header->mode == 0 )
-    {
-        opl->write( 0xbd, 0x20 ); // select rhythm mode (bit 5)
-        bdRegister = 0x20;
-
-        SetFreq( kTomtomChannel,    24 );
-        SetFreq( kSnareDrumChannel, 31 );
-    }
+      SNoteEvent const &noteEvent = nEvents[voiceData.current_note];
 
-    mNextTempoEvent = 0;
-    mCurrTick       = 0;
-
-    SetRefresh(1.0f);
-}
-//---------------------------------------------------------
-inline float fmin( int const a, int const b )
-{
-    return static_cast<float>( a < b ? a : b );
-}
-//---------------------------------------------------------
-void CrolPlayer::SetRefresh( float const multiplier )
-{
-    float const tickBeat = fmin(kMaxTickBeat, rol_header->ticks_per_beat);
-
-    mRefresh =  (tickBeat*rol_header->basic_tempo*multiplier) / 60.0f;
-}
-//---------------------------------------------------------
-float CrolPlayer::getrefresh()
-{
-    return mRefresh;
-}
-//---------------------------------------------------------
-void CrolPlayer::UpdateVoice( int const voice, CVoiceData &voiceData )
-{
-    TNoteEvents const &nEvents = voiceData.note_events;
-
-    if( nEvents.empty() || voiceData.mEventStatus & CVoiceData::kES_NoteEnd )
-    {
-        return; // no note data to process, don't bother doing anything.
+      SetNote (voice, noteEvent.number);
+      voiceData.current_note_duration = 0;
+      voiceData.mNoteDuration = noteEvent.duration;
+      voiceData.mForceNote = false;
     }
-
-    TInstrumentEvents  &iEvents = voiceData.instrument_events;
-    TVolumeEvents      &vEvents = voiceData.volume_events;
-    TPitchEvents       &pEvents = voiceData.pitch_events;
-
-    if( !(voiceData.mEventStatus & CVoiceData::kES_InstrEnd ) &&
-        iEvents[voiceData.next_instrument_event].time == mCurrTick )
+    else
     {
-        if( voiceData.next_instrument_event < iEvents.size() )
-        {
-            send_ins_data_to_chip( voice, iEvents[voiceData.next_instrument_event].ins_index );
-            ++voiceData.next_instrument_event;
-        }
-        else
-        {
-            voiceData.mEventStatus |= CVoiceData::kES_InstrEnd;
-        }
+      SetNote (voice, kSilenceNote);
+      voiceData.mEventStatus |= CVoiceData::kES_NoteEnd;
+      return;
     }
-
-    if( !(voiceData.mEventStatus & CVoiceData::kES_VolumeEnd ) &&
-        vEvents[voiceData.next_volume_event].time == mCurrTick )
-    {
-      SVolumeEvent const &volumeEvent = vEvents[voiceData.next_volume_event];
-
-        if(  voiceData.next_volume_event < vEvents.size() )
-        {
-            int const volume = (int)(63.0f*(1.0f - volumeEvent.multiplier));
-
-            SetVolume( voice, volume );
-
-            ++voiceData.next_volume_event; // move to next volume event
-        }
-        else
-        {
-            voiceData.mEventStatus |= CVoiceData::kES_VolumeEnd;
-        }        
-    }
-
-    if( voiceData.mForceNote || voiceData.current_note_duration > voiceData.mNoteDuration-1 )
-    {
-        if( mCurrTick != 0 )
-        {
-            ++voiceData.current_note;
-        }
+  }
 
-        if( voiceData.current_note < nEvents.size() )
-        {
-            SNoteEvent const &noteEvent = nEvents[voiceData.current_note];
-
-            SetNote( voice, noteEvent.number );
-            voiceData.current_note_duration = 0;
-            voiceData.mNoteDuration         = noteEvent.duration;
-            voiceData.mForceNote            = false;
-        }
-        else
-        {
-            SetNote( voice, kSilenceNote );
-            voiceData.mEventStatus |= CVoiceData::kES_NoteEnd;
-            return;
-        }
-    }
-
-    if( !(voiceData.mEventStatus & CVoiceData::kES_PitchEnd ) &&
-        pEvents[voiceData.next_pitch_event].time == mCurrTick )
+  if (!(voiceData.mEventStatus & CVoiceData::kES_PitchEnd) &&
+      pEvents[voiceData.next_pitch_event].time == mCurrTick)
+  {
+    if (voiceData.next_pitch_event < pEvents.size ())
     {
-        if( voiceData.next_pitch_event < pEvents.size() )
-        {
-            SetPitch(voice,pEvents[voiceData.next_pitch_event].variation);
-            ++voiceData.next_pitch_event;
-        }
-        else
-        {
-            voiceData.mEventStatus |= CVoiceData::kES_PitchEnd;
-        }
-    }
-
-    ++voiceData.current_note_duration;
-}
-//---------------------------------------------------------
-void CrolPlayer::SetNote( int const voice, int const note )
-{
-    if( voice < kBassDrumChannel || rol_header->mode )
-    {
-        SetNoteMelodic( voice, note );
+      SetPitch (voice, pEvents[voiceData.next_pitch_event].variation);
+      ++voiceData.next_pitch_event;
     }
     else
     {
-        SetNotePercussive( voice, note );
+      voiceData.mEventStatus |= CVoiceData::kES_PitchEnd;
     }
+  }
+
+  ++voiceData.current_note_duration;
 }
+
 //---------------------------------------------------------
-void CrolPlayer::SetNotePercussive( int const voice, int const note )
+void
+CrolPlayer::SetNote (int const voice, int const note)
 {
-    int const bit_pos = 4-voice+kBassDrumChannel;
+  if (voice < kBassDrumChannel || rol_header->mode)
+  {
+    SetNoteMelodic (voice, note);
+  }
+  else
+  {
+    SetNotePercussive (voice, note);
+  }
+}
 
-    bdRegister &= ~( 1<<bit_pos );
-    opl->write( 0xbd, bdRegister );
+//---------------------------------------------------------
+void
+CrolPlayer::SetNotePercussive (int const voice, int const note)
+{
+  int const bit_pos = 4 - voice + kBassDrumChannel;
 
-    if( note != kSilenceNote )
+  bdRegister &= ~(1 << bit_pos);
+  opl->write (0xbd, bdRegister);
+
+  if (note != kSilenceNote)
+  {
+    switch (voice)
     {
-        switch( voice )
-        {
-            case kTomtomChannel:
-                SetFreq( kSnareDrumChannel, note+7 );
-            case kBassDrumChannel:
-                SetFreq( voice, note );
-                break;
-        }
+    case kTomtomChannel:
+      SetFreq (kSnareDrumChannel, note + 7);
+    case kBassDrumChannel:
+      SetFreq (voice, note);
+      break;
+    }
 
-        bdRegister |= 1<<bit_pos;
-        opl->write( 0xbd, bdRegister );
-    }
+    bdRegister |= 1 << bit_pos;
+    opl->write (0xbd, bdRegister);
+  }
 }
+
 //---------------------------------------------------------
-void CrolPlayer::SetNoteMelodic( int const voice, int const note )
+void
+CrolPlayer::SetNoteMelodic (int const voice, int const note)
 {
-    opl->write( 0xb0+voice, bxRegister[voice] & ~0x20 );
+  opl->write (0xb0 + voice, bxRegister[voice] & ~0x20);
 
-    if( note != kSilenceNote )
-    {
-        SetFreq( voice, note, true );
-    }
+  if (note != kSilenceNote)
+  {
+    SetFreq (voice, note, true);
+  }
 }
+
 //---------------------------------------------------------
-void CrolPlayer::SetPitch(int const voice, real32 const variation)
+void
+CrolPlayer::SetPitch (int const voice, real32 const variation)
 {
   pitchCache[voice] = variation;
-  freqCache[voice] += (uint16)((((float)freqCache[voice])*(variation-1.0f)) / kPitchFactor);
+  freqCache[voice] +=
+    (uint16) ((((float) freqCache[voice]) * (variation - 1.0f)) /
+              kPitchFactor);
 
-  opl->write(0xa0+voice,freqCache[voice] & 0xff);
+  opl->write (0xa0 + voice, freqCache[voice] & 0xff);
 }
+
 //---------------------------------------------------------
-void CrolPlayer::SetFreq( int const voice, int const note, bool const keyOn )
+void
+CrolPlayer::SetFreq (int const voice, int const note, bool const keyOn)
 {
-    uint16 freq = kNoteTable[note%12] + ((note/12) << 10);
-    freq += (uint16)((((float)freq)*(pitchCache[voice]-1.0f))/kPitchFactor);
+  uint16 freq = kNoteTable[note % 12] + ((note / 12) << 10);
+  freq +=
+    (uint16) ((((float) freq) * (pitchCache[voice] - 1.0f)) / kPitchFactor);
 
-    freqCache[voice] = freq;
-    bxRegister[voice] = ((freq >> 8) & 0x1f);
+  freqCache[voice] = freq;
+  bxRegister[voice] = ((freq >> 8) & 0x1f);
+
+  opl->write (0xa0 + voice, freq & 0xff);
+  opl->write (0xb0 + voice, bxRegister[voice] | (keyOn ? 0x20 : 0x0));
+}
 
-    opl->write( 0xa0+voice, freq & 0xff );
-    opl->write( 0xb0+voice, bxRegister[voice] | (keyOn ? 0x20 : 0x0) );
+//---------------------------------------------------------
+void
+CrolPlayer::SetVolume (int const voice, int const volume)
+{
+  volumeCache[voice] = (volumeCache[voice] & 0xc0) | volume;
+
+  int const op_offset = (voice < kSnareDrumChannel || rol_header->mode) ?
+    op_table[voice] + 3 : drum_table[voice - kSnareDrumChannel];
+
+  opl->write (0x40 + op_offset, volumeCache[voice]);
 }
-//---------------------------------------------------------
-void CrolPlayer::SetVolume( int const voice, int const volume )
-{
-    volumeCache[voice] = (volumeCache[voice] &0xc0) | volume;
 
-    int const op_offset = ( voice < kSnareDrumChannel || rol_header->mode ) ? 
-                          op_table[voice]+3 : drum_table[voice-kSnareDrumChannel];
+//---------------------------------------------------------
+void
+CrolPlayer::send_ins_data_to_chip (int const voice, int const ins_index)
+{
+  SRolInstrument & instrument = ins_list[ins_index].instrument;
 
-    opl->write( 0x40+op_offset, volumeCache[voice] );
+  send_operator (voice, instrument.modulator, instrument.carrier);
 }
+
 //---------------------------------------------------------
-void CrolPlayer::send_ins_data_to_chip( int const voice, int const ins_index )
+void
+CrolPlayer::send_operator (int const voice, SOPL2Op const &modulator,
+                           SOPL2Op const &carrier)
 {
-    SRolInstrument &instrument = ins_list[ins_index].instrument;
+  if (voice < kSnareDrumChannel || rol_header->mode)
+  {
+    int const op_offset = op_table[voice];
+
+    opl->write (0x20 + op_offset, modulator.ammulti);
+    opl->write (0x40 + op_offset, modulator.ksltl);
+    opl->write (0x60 + op_offset, modulator.ardr);
+    opl->write (0x80 + op_offset, modulator.slrr);
+    opl->write (0xc0 + voice, modulator.fbc);
+    opl->write (0xe0 + op_offset, modulator.waveform);
+
+    volumeCache[voice] = (carrier.ksltl & 0xc0) | volumeCache[voice] & 0x3f;
 
-    send_operator( voice, instrument.modulator, instrument.carrier );
+    opl->write (0x23 + op_offset, carrier.ammulti);
+    opl->write (0x43 + op_offset, volumeCache[voice]);
+    opl->write (0x63 + op_offset, carrier.ardr);
+    opl->write (0x83 + op_offset, carrier.slrr);
+//        opl->write( 0xc3+voice    , carrier.fbc      ); <- don't bother writing this.
+    opl->write (0xe3 + op_offset, carrier.waveform);
+  }
+  else
+  {
+    int const op_offset = drum_table[voice - kSnareDrumChannel];
+
+    volumeCache[voice] = (modulator.ksltl & 0xc0) | volumeCache[voice] & 0x3f;
+
+    opl->write (0x20 + op_offset, modulator.ammulti);
+    opl->write (0x40 + op_offset, volumeCache[voice]);
+    opl->write (0x60 + op_offset, modulator.ardr);
+    opl->write (0x80 + op_offset, modulator.slrr);
+    opl->write (0xc0 + voice, modulator.fbc);
+    opl->write (0xe0 + op_offset, modulator.waveform);
+  }
 }
-//---------------------------------------------------------
-void CrolPlayer::send_operator( int const voice, SOPL2Op const &modulator,  SOPL2Op const &carrier )
-{
-    if( voice < kSnareDrumChannel || rol_header->mode )
-    {
-        int const op_offset = op_table[voice];
 
-        opl->write( 0x20+op_offset, modulator.ammulti  );
-        opl->write( 0x40+op_offset, modulator.ksltl    );
-        opl->write( 0x60+op_offset, modulator.ardr     );
-        opl->write( 0x80+op_offset, modulator.slrr     );
-        opl->write( 0xc0+voice    , modulator.fbc      );
-        opl->write( 0xe0+op_offset, modulator.waveform );
+//---------------------------------------------------------
+void
+CrolPlayer::load_tempo_events (binistream * f)
+{
+  int16 const num_tempo_events = f->readInt (2);
+
+  mTempoEvents.reserve (num_tempo_events);
 
-        volumeCache[voice] = (carrier.ksltl & 0xc0) | volumeCache[voice] & 0x3f;
+  for (int i = 0; i < num_tempo_events; ++i)
+  {
+    STempoEvent event;
+
+    event.time = f->readInt (2);
+    event.multiplier = f->readFloat (binio::Single);
+    mTempoEvents.push_back (event);
+  }
+}
 
-        opl->write( 0x23+op_offset, carrier.ammulti  );
-        opl->write( 0x43+op_offset, volumeCache[voice]    );
-        opl->write( 0x63+op_offset, carrier.ardr     );
-        opl->write( 0x83+op_offset, carrier.slrr     );
-//        opl->write( 0xc3+voice    , carrier.fbc      ); <- don't bother writing this.
-        opl->write( 0xe3+op_offset, carrier.waveform );
-    }
-    else
+//---------------------------------------------------------
+bool
+CrolPlayer::load_voice_data (binistream * f, std::string const &bnk_filename,
+                             const CFileProvider & fp)
+{
+  SBnkHeader bnk_header;
+  VFSFile *fd = vfs_fopen (bnk_filename.c_str (), "rb");
+  binistream *bnk_file = fp.open (fd);
+
+  if (bnk_file)
+  {
+    load_bnk_info (bnk_file, bnk_header);
+
+    int const numVoices =
+      rol_header->mode ? kNumMelodicVoices : kNumPercussiveVoices;
+
+    voice_data.reserve (numVoices);
+    for (int i = 0; i < numVoices; ++i)
     {
-        int const op_offset = drum_table[voice-kSnareDrumChannel];
-
-        volumeCache[voice] = (modulator.ksltl & 0xc0) | volumeCache[voice] & 0x3f;
-
-        opl->write( 0x20+op_offset, modulator.ammulti  );
-        opl->write( 0x40+op_offset, volumeCache[voice]      );
-        opl->write( 0x60+op_offset, modulator.ardr     );
-        opl->write( 0x80+op_offset, modulator.slrr     );
-        opl->write( 0xc0+voice    , modulator.fbc      );
-        opl->write( 0xe0+op_offset, modulator.waveform );
-    }
-}
-//---------------------------------------------------------
-void CrolPlayer::load_tempo_events( binistream *f )
-{
-    int16 const num_tempo_events = f->readInt( 2 );
-
-    mTempoEvents.reserve( num_tempo_events );
-
-    for(int i=0; i<num_tempo_events; ++i)
-    {
-        STempoEvent event;
+      CVoiceData voice;
 
-        event.time       = f->readInt( 2 );
-        event.multiplier = f->readFloat( binio::Single );
-        mTempoEvents.push_back( event );
-    }
-}
-//---------------------------------------------------------
-bool CrolPlayer::load_voice_data( binistream *f, std::string const &bnk_filename, const CFileProvider &fp )
-{
-    SBnkHeader bnk_header;
-    VFSFile *fd = vfs_fopen(bnk_filename.c_str(), "rb");
-    binistream *bnk_file = fp.open(fd);
-
-    if( bnk_file )
-    {
-        load_bnk_info( bnk_file, bnk_header );
-
-        int const numVoices = rol_header->mode ? kNumMelodicVoices : kNumPercussiveVoices;
+      load_note_events (f, voice);
+      load_instrument_events (f, voice, bnk_file, bnk_header);
+      load_volume_events (f, voice);
+      load_pitch_events (f, voice);
 
-        voice_data.reserve( numVoices );
-        for(int i=0; i<numVoices; ++i)
-        {
-            CVoiceData voice;
-
-            load_note_events( f, voice );
-            load_instrument_events( f, voice, bnk_file, bnk_header );
-            load_volume_events( f, voice );
-            load_pitch_events( f, voice );
-
-            voice_data.push_back( voice );
-        }
-
-        fp.close(bnk_file);
-        vfs_fclose(fd);
-
-        return true;
+      voice_data.push_back (voice);
     }
 
-    return false;
-}
-//---------------------------------------------------------
-void CrolPlayer::load_note_events( binistream *f, CVoiceData &voice )
-{
-    f->seek( 15, binio::Add );
+    fp.close (bnk_file);
+    vfs_fclose (fd);
 
-    int16 const time_of_last_note = f->readInt( 2 );
+    return true;
+  }
 
-    if( time_of_last_note != 0 )
-    {
-        TNoteEvents &note_events = voice.note_events;
-        int16 total_duration     = 0;
+  return false;
+}
 
-        do
-        {
-            SNoteEvent event;
-
-            event.number   = f->readInt( 2 );
-            event.duration = f->readInt( 2 );
+//---------------------------------------------------------
+void
+CrolPlayer::load_note_events (binistream * f, CVoiceData & voice)
+{
+  f->seek (15, binio::Add);
 
-            event.number += kSilenceNote; // adding -12
+  int16 const time_of_last_note = f->readInt (2);
 
-            note_events.push_back( event );
-
-            total_duration += event.duration;
-        } while( total_duration < time_of_last_note );
+  if (time_of_last_note != 0)
+  {
+    TNoteEvents & note_events = voice.note_events;
+    int16 total_duration = 0;
 
-        if( time_of_last_note > mTimeOfLastNote )
-        {
-            mTimeOfLastNote = time_of_last_note;
-        }
-    }
+    do
+    {
+      SNoteEvent event;
+
+      event.number = f->readInt (2);
+      event.duration = f->readInt (2);
 
-    f->seek( 15, binio::Add );
-}
-//---------------------------------------------------------
-void CrolPlayer::load_instrument_events( binistream *f, CVoiceData &voice,
-                                         binistream *bnk_file, SBnkHeader const &bnk_header )
-{
-    int16 const number_of_instrument_events = f->readInt( 2 );
+      event.number += kSilenceNote; // adding -12
 
-    TInstrumentEvents &instrument_events = voice.instrument_events;
+      note_events.push_back (event);
 
-    instrument_events.reserve( number_of_instrument_events );
+      total_duration += event.duration;
+    } while (total_duration < time_of_last_note);
 
-    for(int i=0; i<number_of_instrument_events; ++i)
+    if (time_of_last_note > mTimeOfLastNote)
     {
-        SInstrumentEvent event;
-        event.time = f->readInt( 2 );
-        f->readString( event.name, 9 );
-
-	    std::string event_name = event.name;
-        event.ins_index = load_rol_instrument( bnk_file, bnk_header, event_name );
+      mTimeOfLastNote = time_of_last_note;
+    }
+  }
 
-        instrument_events.push_back( event );
-
-        f->seek( 1+2, binio::Add );
-    }
+  f->seek (15, binio::Add);
+}
 
-    f->seek( 15, binio::Add );
-}
 //---------------------------------------------------------
-void CrolPlayer::load_volume_events( binistream *f, CVoiceData &voice )
+void
+CrolPlayer::load_instrument_events (binistream * f, CVoiceData & voice,
+                                    binistream * bnk_file,
+                                    SBnkHeader const &bnk_header)
 {
-    int16 const number_of_volume_events = f->readInt( 2 );
+  int16 const number_of_instrument_events = f->readInt (2);
 
-    TVolumeEvents &volume_events = voice.volume_events;
+  TInstrumentEvents & instrument_events = voice.instrument_events;
 
-    volume_events.reserve( number_of_volume_events );
+  instrument_events.reserve (number_of_instrument_events);
 
-    for(int i=0; i<number_of_volume_events; ++i)
-    {
-        SVolumeEvent event;
-        event.time       = f->readInt( 2 );
-        event.multiplier = f->readFloat( binio::Single );
+  for (int i = 0; i < number_of_instrument_events; ++i)
+  {
+    SInstrumentEvent event;
+    event.time = f->readInt (2);
+    f->readString (event.name, 9);
 
-        volume_events.push_back( event );
-    }
+    std::string event_name = event.name;
+    event.ins_index = load_rol_instrument (bnk_file, bnk_header, event_name);
+
+    instrument_events.push_back (event);
+
+    f->seek (1 + 2, binio::Add);
+  }
 
-    f->seek( 15, binio::Add );
+  f->seek (15, binio::Add);
 }
+
 //---------------------------------------------------------
-void CrolPlayer::load_pitch_events( binistream *f, CVoiceData &voice )
+void
+CrolPlayer::load_volume_events (binistream * f, CVoiceData & voice)
 {
-    int16 const number_of_pitch_events = f->readInt( 2 );
+  int16 const number_of_volume_events = f->readInt (2);
+
+  TVolumeEvents & volume_events = voice.volume_events;
 
-    TPitchEvents &pitch_events = voice.pitch_events;
-
-    pitch_events.reserve( number_of_pitch_events );
+  volume_events.reserve (number_of_volume_events);
 
-    for(int i=0; i<number_of_pitch_events; ++i)
-    {
-        SPitchEvent event;
-        event.time      = f->readInt( 2 );
-        event.variation = f->readFloat( binio::Single );
+  for (int i = 0; i < number_of_volume_events; ++i)
+  {
+    SVolumeEvent event;
+    event.time = f->readInt (2);
+    event.multiplier = f->readFloat (binio::Single);
+
+    volume_events.push_back (event);
+  }
+
+  f->seek (15, binio::Add);
+}
 
-        pitch_events.push_back( event );
-    }
-}
 //---------------------------------------------------------
-bool CrolPlayer::load_bnk_info( binistream *f, SBnkHeader &header )
+void
+CrolPlayer::load_pitch_events (binistream * f, CVoiceData & voice)
 {
-  header.version_major = f->readInt(1);
-  header.version_minor = f->readInt(1);
-  f->readString( header.signature, 6 );
+  int16 const number_of_pitch_events = f->readInt (2);
+
+  TPitchEvents & pitch_events = voice.pitch_events;
+
+  pitch_events.reserve (number_of_pitch_events);
 
-  header.number_of_list_entries_used  = f->readInt( 2 );
-  header.total_number_of_list_entries = f->readInt( 2 );
+  for (int i = 0; i < number_of_pitch_events; ++i)
+  {
+    SPitchEvent event;
+    event.time = f->readInt (2);
+    event.variation = f->readFloat (binio::Single);
 
-  header.abs_offset_of_name_list = f->readInt( 4 );
-  header.abs_offset_of_data      = f->readInt( 4 );
+    pitch_events.push_back (event);
+  }
+}
 
-  f->seek( header.abs_offset_of_name_list, binio::Set );
+//---------------------------------------------------------
+bool
+CrolPlayer::load_bnk_info (binistream * f, SBnkHeader & header)
+{
+  header.version_major = f->readInt (1);
+  header.version_minor = f->readInt (1);
+  f->readString (header.signature, 6);
 
-  TInstrumentNames &ins_name_list = header.ins_name_list;
-  ins_name_list.reserve( header.number_of_list_entries_used );
+  header.number_of_list_entries_used = f->readInt (2);
+  header.total_number_of_list_entries = f->readInt (2);
 
-  for(int i=0; i<header.number_of_list_entries_used; ++i)
-    {
-      SInstrumentName instrument;
+  header.abs_offset_of_name_list = f->readInt (4);
+  header.abs_offset_of_data = f->readInt (4);
+
+  f->seek (header.abs_offset_of_name_list, binio::Set);
 
-      instrument.index = f->readInt( 2 );
-      instrument.record_used = f->readInt(1);
-      f->readString( instrument.name, 9 );
+  TInstrumentNames & ins_name_list = header.ins_name_list;
+  ins_name_list.reserve (header.number_of_list_entries_used);
+
+  for (int i = 0; i < header.number_of_list_entries_used; ++i)
+  {
+    SInstrumentName instrument;
 
-      // printf("%s = #%d\n", instrument.name, i );
+    instrument.index = f->readInt (2);
+    instrument.record_used = f->readInt (1);
+    f->readString (instrument.name, 9);
 
-      ins_name_list.push_back( instrument );
-    }
+    // printf("%s = #%d\n", instrument.name, i );
+
+    ins_name_list.push_back (instrument);
+  }
 
   //std::sort( ins_name_list.begin(), ins_name_list.end(), StringCompare() );
 
   return true;
 }
+
 //---------------------------------------------------------
-int CrolPlayer::load_rol_instrument( binistream *f, SBnkHeader const &header, std::string &name )
+int
+CrolPlayer::load_rol_instrument (binistream * f, SBnkHeader const &header,
+                                 std::string & name)
 {
-    TInstrumentNames const &ins_name_list = header.ins_name_list;
+  TInstrumentNames const &ins_name_list = header.ins_name_list;
 
-    int const ins_index = get_ins_index( name );
+  int const ins_index = get_ins_index (name);
 
-    if( ins_index != -1 )
-    {
-        return ins_index;
-    }
+  if (ins_index != -1)
+  {
+    return ins_index;
+  }
 
-    typedef TInstrumentNames::const_iterator TInsIter;
-    typedef std::pair<TInsIter, TInsIter>    TInsIterPair;
+  typedef TInstrumentNames::const_iterator TInsIter;
+  typedef std::pair < TInsIter, TInsIter > TInsIterPair;
+
+  TInsIterPair range = std::equal_range (ins_name_list.begin (),
+                                         ins_name_list.end (),
+                                         name,
+                                         StringCompare ());
 
-    TInsIterPair range = std::equal_range( ins_name_list.begin(), 
-                                           ins_name_list.end(), 
-                                           name, 
-                                           StringCompare() );
+  if (range.first != range.second)
+  {
+    int const seekOffs =
+      header.abs_offset_of_data + (range.first->index * kSizeofDataRecord);
+    f->seek (seekOffs, binio::Set);
+  }
+
+  SUsedList usedIns;
+  usedIns.name = name;
 
-    if( range.first != range.second )
-    {
-        int const seekOffs = header.abs_offset_of_data + (range.first->index*kSizeofDataRecord);
-        f->seek( seekOffs, binio::Set );
-    }
+  if (range.first != range.second)
+  {
+    read_rol_instrument (f, usedIns.instrument);
+  }
+  else
+  {
+    // set up default instrument data here
+    memset (&usedIns.instrument, 0, kSizeofDataRecord);
+  }
+  ins_list.push_back (usedIns);
 
-    SUsedList usedIns;
-    usedIns.name = name;
+  return ins_list.size () - 1;
+}
 
-    if( range.first != range.second )
-    {
-        read_rol_instrument( f, usedIns.instrument );
-    }
-    else
+//---------------------------------------------------------
+int
+CrolPlayer::get_ins_index (std::string const &name) const const
+{
+  for (unsigned int i = 0; i < ins_list.size (); ++i)
+  {
+    if (stricmp (ins_list[i].name.c_str (), name.c_str ()) == 0)
     {
-        // set up default instrument data here
-        memset( &usedIns.instrument, 0, kSizeofDataRecord );
-    }
-    ins_list.push_back( usedIns );
-
-    return ins_list.size()-1;
-}
-//---------------------------------------------------------
-int CrolPlayer::get_ins_index( std::string const &name ) const
-{
-    for(unsigned int i=0; i<ins_list.size(); ++i)
-    {
-        if( stricmp(ins_list[i].name.c_str(), name.c_str()) == 0 )
-        {
-            return i;
-        }
+      return i;
     }
+  }
 
-    return -1;
+  return -1;
 }
-//---------------------------------------------------------
-void CrolPlayer::read_rol_instrument( binistream *f, SRolInstrument &ins )
-{
-  ins.mode = f->readInt(1);
-  ins.voice_number = f->readInt(1);
 
-  read_fm_operator( f, ins.modulator );
-  read_fm_operator( f, ins.carrier );
+//---------------------------------------------------------
+void
+CrolPlayer::read_rol_instrument (binistream * f, SRolInstrument & ins)
+{
+  ins.mode = f->readInt (1);
+  ins.voice_number = f->readInt (1);
 
-  ins.modulator.waveform = f->readInt(1);
-  ins.carrier.waveform = f->readInt(1);
+  read_fm_operator (f, ins.modulator);
+  read_fm_operator (f, ins.carrier);
+
+  ins.modulator.waveform = f->readInt (1);
+  ins.carrier.waveform = f->readInt (1);
 }
+
 //---------------------------------------------------------
-void CrolPlayer::read_fm_operator( binistream *f, SOPL2Op &opl2_op )
+void
+CrolPlayer::read_fm_operator (binistream * f, SOPL2Op & opl2_op)
 {
   SFMOperator fm_op;
 
-  fm_op.key_scale_level = f->readInt(1);
-  fm_op.freq_multiplier = f->readInt(1);
-  fm_op.feed_back = f->readInt(1);
-  fm_op.attack_rate = f->readInt(1);
-  fm_op.sustain_level = f->readInt(1);
-  fm_op.sustaining_sound = f->readInt(1);
-  fm_op.decay_rate = f->readInt(1);
-  fm_op.release_rate = f->readInt(1);
-  fm_op.output_level = f->readInt(1);
-  fm_op.amplitude_vibrato = f->readInt(1);
-  fm_op.frequency_vibrato = f->readInt(1);
-  fm_op.envelope_scaling = f->readInt(1);
-  fm_op.fm_type = f->readInt(1);
+  fm_op.key_scale_level = f->readInt (1);
+  fm_op.freq_multiplier = f->readInt (1);
+  fm_op.feed_back = f->readInt (1);
+  fm_op.attack_rate = f->readInt (1);
+  fm_op.sustain_level = f->readInt (1);
+  fm_op.sustaining_sound = f->readInt (1);
+  fm_op.decay_rate = f->readInt (1);
+  fm_op.release_rate = f->readInt (1);
+  fm_op.output_level = f->readInt (1);
+  fm_op.amplitude_vibrato = f->readInt (1);
+  fm_op.frequency_vibrato = f->readInt (1);
+  fm_op.envelope_scaling = f->readInt (1);
+  fm_op.fm_type = f->readInt (1);
 
-  opl2_op.ammulti = fm_op.amplitude_vibrato << 7 | fm_op.frequency_vibrato << 6 | fm_op.sustaining_sound << 5 | fm_op.envelope_scaling << 4 | fm_op.freq_multiplier;
-  opl2_op.ksltl   = fm_op.key_scale_level   << 6 | fm_op.output_level;
-  opl2_op.ardr    = fm_op.attack_rate       << 4 | fm_op.decay_rate;
-  opl2_op.slrr    = fm_op.sustain_level     << 4 | fm_op.release_rate;
-  opl2_op.fbc     = fm_op.feed_back         << 1 | (fm_op.fm_type ^ 1);
+  opl2_op.ammulti =
+    fm_op.amplitude_vibrato << 7 | fm_op.frequency_vibrato << 6 | fm_op.
+    sustaining_sound << 5 | fm_op.envelope_scaling << 4 | fm_op.
+    freq_multiplier;
+  opl2_op.ksltl = fm_op.key_scale_level << 6 | fm_op.output_level;
+  opl2_op.ardr = fm_op.attack_rate << 4 | fm_op.decay_rate;
+  opl2_op.slrr = fm_op.sustain_level << 4 | fm_op.release_rate;
+  opl2_op.fbc = fm_op.feed_back << 1 | (fm_op.fm_type ^ 1);
 }
--- a/src/adplug/core/s3m.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/s3m.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -24,512 +24,689 @@
 
 #include "s3m.h"
 
-const char Cs3mPlayer::chnresolv[] =	// S3M -> adlib channel conversion
-	{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,-1,-1,-1,-1,-1,-1,-1};
+const char
+  Cs3mPlayer::chnresolv[] =     // S3M -> adlib channel conversion
+{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3,
+    4, 5, 6, 7, 8, -1, -1, -1, -1, -1, -1, -1 };
 
-const unsigned short Cs3mPlayer::notetable[12] =		// S3M adlib note table
-			{340,363,385,408,432,458,485,514,544,577,611,647};
+const unsigned short
+  Cs3mPlayer::notetable[12] =   // S3M adlib note table
+{ 340, 363, 385, 408, 432, 458, 485, 514, 544, 577, 611, 647 };
 
-const unsigned char Cs3mPlayer::vibratotab[32] =		// vibrato rate table
-			{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
+const unsigned char
+  Cs3mPlayer::vibratotab[32] =  // vibrato rate table
+{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 15, 14, 13, 12,
+    11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
 
 /*** public methods *************************************/
 
-CPlayer *Cs3mPlayer::factory(Copl *newopl)
+CPlayer *
+Cs3mPlayer::factory (Copl * newopl)
 {
-  return new Cs3mPlayer(newopl);
+  return new Cs3mPlayer (newopl);
 }
 
-Cs3mPlayer::Cs3mPlayer(Copl *newopl): CPlayer(newopl)
+Cs3mPlayer::Cs3mPlayer (Copl * newopl):CPlayer (newopl)
 {
-	int			i,j,k;
-
-	memset(pattern,255,sizeof(pattern));
-	memset(orders,255,sizeof(orders));
+  int
+    i,
+    j,
+    k;
 
-	for(i=0;i<99;i++)		// setup pattern
-		for(j=0;j<64;j++)
-			for(k=0;k<32;k++) {
-				pattern[i][j][k].instrument = 0;
-				pattern[i][j][k].info = 0;
-			}
+  memset (pattern, 255, sizeof (pattern));
+  memset (orders, 255, sizeof (orders));
+
+  for (i = 0; i < 99; i++)      // setup pattern
+    for (j = 0; j < 64; j++)
+      for (k = 0; k < 32; k++)
+      {
+        pattern[i][j][k].instrument = 0;
+        pattern[i][j][k].info = 0;
+      }
 }
 
-bool Cs3mPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+Cs3mPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-        binistream *f = fp.open(fd); if(!f) return false;
-	unsigned short	insptr[99],pattptr[99];
-	int		i,row;
-	unsigned char	bufval,bufval2;
-	unsigned short	ppatlen;
-	s3mheader	*checkhead;
-	bool		adlibins=false;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  unsigned short insptr[99], pattptr[99];
+  int i, row;
+  unsigned char bufval, bufval2;
+  unsigned short ppatlen;
+  s3mheader *checkhead;
+  bool adlibins = false;
 
-	// file validation section
-	checkhead = new s3mheader;
-	load_header(f, checkhead);
-  if(checkhead->kennung != 0x1a || checkhead->typ != 16
-     || checkhead->insnum > 99) {
-		delete checkhead; fp.close(f); return false;
-	} else
-		if(strncmp(checkhead->scrm,"SCRM",4)) {
-			delete checkhead; fp.close(f); return false;
-		} else {	// is an adlib module?
-             	        f->seek(checkhead->ordnum, binio::Add);
-			for(i = 0; i < checkhead->insnum; i++)
-			  insptr[i] = f->readInt(2);
-			for(i=0;i<checkhead->insnum;i++) {
-				f->seek(insptr[i]*16);
-				if(f->readInt(1) >= 2) {
-					adlibins = true;
-					break;
-				}
-			}
-			delete checkhead;
-			if(!adlibins) { fp.close(f); return false; }
-		}
+  // file validation section
+  checkhead = new s3mheader;
+  load_header (f, checkhead);
+  if (checkhead->kennung != 0x1a || checkhead->typ != 16
+      || checkhead->insnum > 99)
+  {
+    delete checkhead;
+    fp.close (f);
+    return false;
+  }
+  else if (strncmp (checkhead->scrm, "SCRM", 4))
+  {
+    delete checkhead;
+    fp.close (f);
+    return false;
+  }
+  else
+  {                             // is an adlib module?
+    f->seek (checkhead->ordnum, binio::Add);
+    for (i = 0; i < checkhead->insnum; i++)
+      insptr[i] = f->readInt (2);
+    for (i = 0; i < checkhead->insnum; i++)
+    {
+      f->seek (insptr[i] * 16);
+      if (f->readInt (1) >= 2)
+      {
+        adlibins = true;
+        break;
+      }
+    }
+    delete checkhead;
+    if (!adlibins)
+    {
+      fp.close (f);
+      return false;
+    }
+  }
 
-	// load section
-	f->seek(0);	// rewind for load
-	load_header(f, &header);			// read header
+  // load section
+  f->seek (0);                  // rewind for load
+  load_header (f, &header);     // read header
 
   // security check
-  if(header.ordnum > 256 || header.insnum > 99 || header.patnum > 99) {
-    fp.close(f);
+  if (header.ordnum > 256 || header.insnum > 99 || header.patnum > 99)
+  {
+    fp.close (f);
     return false;
   }
 
-	for(i = 0; i < header.ordnum; i++) orders[i] = f->readInt(1);	// read orders
-	for(i = 0; i < header.insnum; i++) insptr[i] = f->readInt(2);	// instrument parapointers
-	for(i = 0; i < header.patnum; i++) pattptr[i] = f->readInt(2);	// pattern parapointers
-
-	for(i=0;i<header.insnum;i++) {	// load instruments
-		f->seek(insptr[i]*16);
-		inst[i].type = f->readInt(1);
-		f->readString(inst[i].filename, 15);
-		inst[i].d00 = f->readInt(1); inst[i].d01 = f->readInt(1);
-		inst[i].d02 = f->readInt(1); inst[i].d03 = f->readInt(1);
-		inst[i].d04 = f->readInt(1); inst[i].d05 = f->readInt(1);
-		inst[i].d06 = f->readInt(1); inst[i].d07 = f->readInt(1);
-		inst[i].d08 = f->readInt(1); inst[i].d09 = f->readInt(1);
-		inst[i].d0a = f->readInt(1); inst[i].d0b = f->readInt(1);
-		inst[i].volume = f->readInt(1); inst[i].dsk = f->readInt(1);
-		f->ignore(2);
-		inst[i].c2spd = f->readInt(4);
-		f->ignore(12);
-		f->readString(inst[i].name, 28);
-		f->readString(inst[i].scri, 4);
-	}
+  for (i = 0; i < header.ordnum; i++)
+    orders[i] = f->readInt (1); // read orders
+  for (i = 0; i < header.insnum; i++)
+    insptr[i] = f->readInt (2); // instrument parapointers
+  for (i = 0; i < header.patnum; i++)
+    pattptr[i] = f->readInt (2);    // pattern parapointers
 
-	for(i=0;i<header.patnum;i++) {	// depack patterns
-		f->seek(pattptr[i]*16);
-		ppatlen = f->readInt(2);
-		unsigned long pattpos = f->pos();
-		for(row=0;(row<64) && (pattpos-pattptr[i]*16<=ppatlen);row++)
-			do {
-            		        bufval = f->readInt(1);
-				if(bufval & 32) {
-				        bufval2 = f->readInt(1);
-					pattern[i][row][bufval & 31].note = bufval2 & 15;
-					pattern[i][row][bufval & 31].oct = (bufval2 & 240) >> 4;
-					pattern[i][row][bufval & 31].instrument = f->readInt(1);
-				}
-				if(bufval & 64)
-				        pattern[i][row][bufval & 31].volume = f->readInt(1);
-				if(bufval & 128) {
-				        pattern[i][row][bufval & 31].command = f->readInt(1);
-					pattern[i][row][bufval & 31].info = f->readInt(1);
-				}
-			} while(bufval);
-	}
+  for (i = 0; i < header.insnum; i++)
+  {                             // load instruments
+    f->seek (insptr[i] * 16);
+    inst[i].type = f->readInt (1);
+    f->readString (inst[i].filename, 15);
+    inst[i].d00 = f->readInt (1);
+    inst[i].d01 = f->readInt (1);
+    inst[i].d02 = f->readInt (1);
+    inst[i].d03 = f->readInt (1);
+    inst[i].d04 = f->readInt (1);
+    inst[i].d05 = f->readInt (1);
+    inst[i].d06 = f->readInt (1);
+    inst[i].d07 = f->readInt (1);
+    inst[i].d08 = f->readInt (1);
+    inst[i].d09 = f->readInt (1);
+    inst[i].d0a = f->readInt (1);
+    inst[i].d0b = f->readInt (1);
+    inst[i].volume = f->readInt (1);
+    inst[i].dsk = f->readInt (1);
+    f->ignore (2);
+    inst[i].c2spd = f->readInt (4);
+    f->ignore (12);
+    f->readString (inst[i].name, 28);
+    f->readString (inst[i].scri, 4);
+  }
 
-	fp.close(f);
-	rewind(0);
-	return true;		// done
+  for (i = 0; i < header.patnum; i++)
+  {                             // depack patterns
+    f->seek (pattptr[i] * 16);
+    ppatlen = f->readInt (2);
+    unsigned long pattpos = f->pos ();
+    for (row = 0; (row < 64) && (pattpos - pattptr[i] * 16 <= ppatlen); row++)
+      do
+      {
+        bufval = f->readInt (1);
+        if (bufval & 32)
+        {
+          bufval2 = f->readInt (1);
+          pattern[i][row][bufval & 31].note = bufval2 & 15;
+          pattern[i][row][bufval & 31].oct = (bufval2 & 240) >> 4;
+          pattern[i][row][bufval & 31].instrument = f->readInt (1);
+        }
+        if (bufval & 64)
+          pattern[i][row][bufval & 31].volume = f->readInt (1);
+        if (bufval & 128)
+        {
+          pattern[i][row][bufval & 31].command = f->readInt (1);
+          pattern[i][row][bufval & 31].info = f->readInt (1);
+        }
+      } while (bufval);
+  }
+
+  fp.close (f);
+  rewind (0);
+  return true;                  // done
 }
 
-bool Cs3mPlayer::update()
+bool
+Cs3mPlayer::update ()
 {
-	unsigned char	pattbreak=0,donote;		// remember vars
-	unsigned char	pattnr,chan,row,info;	// cache vars
-	signed char		realchan;
-
-	// effect handling (timer dependant)
-	for(realchan=0; realchan<9; realchan++) {
-		info = channel[realchan].info;	// fill infobyte cache
-		switch(channel[realchan].fx) {
-		case 11:
-		case 12: if(channel[realchan].fx == 11)								// dual command: H00 and Dxy
-					 vibrato(realchan,channel[realchan].dualinfo);
-				 else															// dual command: G00 and Dxy
-					 tone_portamento(realchan,channel[realchan].dualinfo);
-		case 4: if(info <= 0x0f)												// volume slide down
-					if(channel[realchan].vol - info >= 0)
-						channel[realchan].vol -= info;
-					else
-						channel[realchan].vol = 0;
-				if((info & 0x0f) == 0)											// volume slide up
-					if(channel[realchan].vol + (info >> 4) <= 63)
-						channel[realchan].vol += info >> 4;
-					else
-						channel[realchan].vol = 63;
-				setvolume(realchan);
-				break;
-		case 5: if(info == 0xf0 || info <= 0xe0) {								// slide down
-					slide_down(realchan,info);
-					setfreq(realchan);
-				}
-				break;
-		case 6: if(info == 0xf0 || info <= 0xe0) {								// slide up
-					slide_up(realchan,info);
-					setfreq(realchan);
-				}
-				break;
-		case 7: tone_portamento(realchan,channel[realchan].dualinfo); break;	// tone portamento
-		case 8: vibrato(realchan,channel[realchan].dualinfo); break;		// vibrato
-		case 10: channel[realchan].nextfreq = channel[realchan].freq;	// arpeggio
-				 channel[realchan].nextoct = channel[realchan].oct;
-				 switch(channel[realchan].trigger) {
-				 case 0: channel[realchan].freq = notetable[channel[realchan].note]; break;
-				 case 1: if(channel[realchan].note + ((info & 0xf0) >> 4) < 12)
-							 channel[realchan].freq = notetable[channel[realchan].note + ((info & 0xf0) >> 4)];
-						 else {
-							 channel[realchan].freq = notetable[channel[realchan].note + ((info & 0xf0) >> 4) - 12];
-							 channel[realchan].oct++;
-						 }
-						 break;
-				 case 2: if(channel[realchan].note + (info & 0x0f) < 12)
-							 channel[realchan].freq = notetable[channel[realchan].note + (info & 0x0f)];
-						 else {
-							 channel[realchan].freq = notetable[channel[realchan].note + (info & 0x0f) - 12];
-							 channel[realchan].oct++;
-						 }
-						 break;
-				 }
-				 if(channel[realchan].trigger < 2)
-					 channel[realchan].trigger++;
-				 else
-					 channel[realchan].trigger = 0;
-				 setfreq(realchan);
-				 channel[realchan].freq = channel[realchan].nextfreq;
-				 channel[realchan].oct = channel[realchan].nextoct;
-				 break;
-		case 21: vibrato(realchan,(unsigned char) (info / 4)); break;		// fine vibrato
-		}
-	}
+  unsigned char pattbreak = 0, donote;  // remember vars
+  unsigned char pattnr, chan, row, info;    // cache vars
+  signed char realchan;
 
-	if(del) {		// speed compensation
-		del--;
-		return !songend;
-	}
-
-	// arrangement handling
-	pattnr = orders[ord];
-	if(pattnr == 0xff || ord > header.ordnum) {	// "--" end of song
-		songend = 1;				// set end-flag
-		ord = 0;
-		pattnr = orders[ord];
-		if(pattnr == 0xff)
-			return !songend;
-	}
-	if(pattnr == 0xfe) {		// "++" skip marker
-		ord++; pattnr = orders[ord];
-	}
+  // effect handling (timer dependant)
+  for (realchan = 0; realchan < 9; realchan++)
+  {
+    info = channel[realchan].info;  // fill infobyte cache
+    switch (channel[realchan].fx)
+    {
+    case 11:
+    case 12:
+      if (channel[realchan].fx == 11)   // dual command: H00 and Dxy
+        vibrato (realchan, channel[realchan].dualinfo);
+      else                      // dual command: G00 and Dxy
+        tone_portamento (realchan, channel[realchan].dualinfo);
+    case 4:
+      if (info <= 0x0f)         // volume slide down
+        if (channel[realchan].vol - info >= 0)
+          channel[realchan].vol -= info;
+        else
+          channel[realchan].vol = 0;
+      if ((info & 0x0f) == 0)   // volume slide up
+        if (channel[realchan].vol + (info >> 4) <= 63)
+          channel[realchan].vol += info >> 4;
+        else
+          channel[realchan].vol = 63;
+      setvolume (realchan);
+      break;
+    case 5:
+      if (info == 0xf0 || info <= 0xe0)
+      {                         // slide down
+        slide_down (realchan, info);
+        setfreq (realchan);
+      }
+      break;
+    case 6:
+      if (info == 0xf0 || info <= 0xe0)
+      {                         // slide up
+        slide_up (realchan, info);
+        setfreq (realchan);
+      }
+      break;
+    case 7:
+      tone_portamento (realchan, channel[realchan].dualinfo);
+      break;                    // tone portamento
+    case 8:
+      vibrato (realchan, channel[realchan].dualinfo);
+      break;                    // vibrato
+    case 10:
+      channel[realchan].nextfreq = channel[realchan].freq;  // arpeggio
+      channel[realchan].nextoct = channel[realchan].oct;
+      switch (channel[realchan].trigger)
+      {
+      case 0:
+        channel[realchan].freq = notetable[channel[realchan].note];
+        break;
+      case 1:
+        if (channel[realchan].note + ((info & 0xf0) >> 4) < 12)
+          channel[realchan].freq =
+            notetable[channel[realchan].note + ((info & 0xf0) >> 4)];
+        else
+        {
+          channel[realchan].freq =
+            notetable[channel[realchan].note + ((info & 0xf0) >> 4) - 12];
+          channel[realchan].oct++;
+        }
+        break;
+      case 2:
+        if (channel[realchan].note + (info & 0x0f) < 12)
+          channel[realchan].freq =
+            notetable[channel[realchan].note + (info & 0x0f)];
+        else
+        {
+          channel[realchan].freq =
+            notetable[channel[realchan].note + (info & 0x0f) - 12];
+          channel[realchan].oct++;
+        }
+        break;
+      }
+      if (channel[realchan].trigger < 2)
+        channel[realchan].trigger++;
+      else
+        channel[realchan].trigger = 0;
+      setfreq (realchan);
+      channel[realchan].freq = channel[realchan].nextfreq;
+      channel[realchan].oct = channel[realchan].nextoct;
+      break;
+    case 21:
+      vibrato (realchan, (unsigned char) (info / 4));
+      break;                    // fine vibrato
+    }
+  }
 
-	// play row
-	row = crow;	// fill row cache
-	for(chan=0;chan<32;chan++) {
-		if(!(header.chanset[chan] & 128))		// resolve S3M -> AdLib channels
-			realchan = chnresolv[header.chanset[chan] & 127];
-		else
-			realchan = -1;		// channel disabled
-		if(realchan != -1) {	// channel playable?
-			// set channel values
-			donote = 0;
-			if(pattern[pattnr][row][chan].note < 14)
-				// tone portamento
-				if(pattern[pattnr][row][chan].command == 7 || pattern[pattnr][row][chan].command == 12) {
-					channel[realchan].nextfreq = notetable[pattern[pattnr][row][chan].note];
-					channel[realchan].nextoct = pattern[pattnr][row][chan].oct;
-				} else {											// normal note
-					channel[realchan].note = pattern[pattnr][row][chan].note;
-					channel[realchan].freq = notetable[pattern[pattnr][row][chan].note];
-					channel[realchan].oct = pattern[pattnr][row][chan].oct;
-					channel[realchan].key = 1;
-					donote = 1;
-				}
-			if(pattern[pattnr][row][chan].note == 14) {	// key off (is 14 here, cause note is only first 4 bits)
-				channel[realchan].key = 0;
-				setfreq(realchan);
-			}
-			if((channel[realchan].fx != 8 && channel[realchan].fx != 11) &&		// vibrato begins
-				(pattern[pattnr][row][chan].command == 8 || pattern[pattnr][row][chan].command == 11)) {
-				channel[realchan].nextfreq = channel[realchan].freq;
-				channel[realchan].nextoct = channel[realchan].oct;
-			}
-			if(pattern[pattnr][row][chan].note >= 14)
-				if((channel[realchan].fx == 8 || channel[realchan].fx == 11) &&	// vibrato ends
-					(pattern[pattnr][row][chan].command != 8 && pattern[pattnr][row][chan].command != 11)) {
-					channel[realchan].freq = channel[realchan].nextfreq;
-					channel[realchan].oct = channel[realchan].nextoct;
-					setfreq(realchan);
-				}
-			if(pattern[pattnr][row][chan].instrument) {	// set instrument
-				channel[realchan].inst = pattern[pattnr][row][chan].instrument - 1;
-				if(inst[channel[realchan].inst].volume < 64)
-					channel[realchan].vol = inst[channel[realchan].inst].volume;
-				else
-					channel[realchan].vol = 63;
-				if(pattern[pattnr][row][chan].command != 7)
-					donote = 1;
-			}
-			if(pattern[pattnr][row][chan].volume != 255)
-				if(pattern[pattnr][row][chan].volume < 64)	// set volume
-					channel[realchan].vol = pattern[pattnr][row][chan].volume;
-				else
-					channel[realchan].vol = 63;
-			channel[realchan].fx = pattern[pattnr][row][chan].command;	// set command
-			if(pattern[pattnr][row][chan].info)			// set infobyte
-				channel[realchan].info = pattern[pattnr][row][chan].info;
+  if (del)
+  {                             // speed compensation
+    del--;
+    return !songend;
+  }
+
+  // arrangement handling
+  pattnr = orders[ord];
+  if (pattnr == 0xff || ord > header.ordnum)
+  {                             // "--" end of song
+    songend = 1;                // set end-flag
+    ord = 0;
+    pattnr = orders[ord];
+    if (pattnr == 0xff)
+      return !songend;
+  }
+  if (pattnr == 0xfe)
+  {                             // "++" skip marker
+    ord++;
+    pattnr = orders[ord];
+  }
+
+  // play row
+  row = crow;                   // fill row cache
+  for (chan = 0; chan < 32; chan++)
+  {
+    if (!(header.chanset[chan] & 128))  // resolve S3M -> AdLib channels
+      realchan = chnresolv[header.chanset[chan] & 127];
+    else
+      realchan = -1;            // channel disabled
+    if (realchan != -1)
+    {                           // channel playable?
+      // set channel values
+      donote = 0;
+      if (pattern[pattnr][row][chan].note < 14)
+        // tone portamento
+        if (pattern[pattnr][row][chan].command == 7
+            || pattern[pattnr][row][chan].command == 12)
+        {
+          channel[realchan].nextfreq =
+            notetable[pattern[pattnr][row][chan].note];
+          channel[realchan].nextoct = pattern[pattnr][row][chan].oct;
+        }
+        else
+        {                       // normal note
+          channel[realchan].note = pattern[pattnr][row][chan].note;
+          channel[realchan].freq = notetable[pattern[pattnr][row][chan].note];
+          channel[realchan].oct = pattern[pattnr][row][chan].oct;
+          channel[realchan].key = 1;
+          donote = 1;
+        }
+      if (pattern[pattnr][row][chan].note == 14)
+      {                         // key off (is 14 here, cause note is only first 4 bits)
+        channel[realchan].key = 0;
+        setfreq (realchan);
+      }
+      if ((channel[realchan].fx != 8 && channel[realchan].fx != 11) &&  // vibrato begins
+          (pattern[pattnr][row][chan].command == 8
+           || pattern[pattnr][row][chan].command == 11))
+      {
+        channel[realchan].nextfreq = channel[realchan].freq;
+        channel[realchan].nextoct = channel[realchan].oct;
+      }
+      if (pattern[pattnr][row][chan].note >= 14)
+        if ((channel[realchan].fx == 8 || channel[realchan].fx == 11) &&    // vibrato ends
+            (pattern[pattnr][row][chan].command != 8
+             && pattern[pattnr][row][chan].command != 11))
+        {
+          channel[realchan].freq = channel[realchan].nextfreq;
+          channel[realchan].oct = channel[realchan].nextoct;
+          setfreq (realchan);
+        }
+      if (pattern[pattnr][row][chan].instrument)
+      {                         // set instrument
+        channel[realchan].inst = pattern[pattnr][row][chan].instrument - 1;
+        if (inst[channel[realchan].inst].volume < 64)
+          channel[realchan].vol = inst[channel[realchan].inst].volume;
+        else
+          channel[realchan].vol = 63;
+        if (pattern[pattnr][row][chan].command != 7)
+          donote = 1;
+      }
+      if (pattern[pattnr][row][chan].volume != 255)
+        if (pattern[pattnr][row][chan].volume < 64) // set volume
+          channel[realchan].vol = pattern[pattnr][row][chan].volume;
+        else
+          channel[realchan].vol = 63;
+      channel[realchan].fx = pattern[pattnr][row][chan].command;    // set command
+      if (pattern[pattnr][row][chan].info)  // set infobyte
+        channel[realchan].info = pattern[pattnr][row][chan].info;
 
       // some commands reset the infobyte memory
-      switch(channel[realchan].fx) {
+      switch (channel[realchan].fx)
+      {
       case 1:
       case 2:
       case 3:
       case 20:
-	channel[realchan].info = pattern[pattnr][row][chan].info;
-	break;
+        channel[realchan].info = pattern[pattnr][row][chan].info;
+        break;
       }
 
-			// play note
-			if(donote)
-				playnote(realchan);
-			if(pattern[pattnr][row][chan].volume != 255)	// set volume
-				setvolume(realchan);
+      // play note
+      if (donote)
+        playnote (realchan);
+      if (pattern[pattnr][row][chan].volume != 255) // set volume
+        setvolume (realchan);
 
-			// command handling (row dependant)
-			info = channel[realchan].info;	// fill infobyte cache
-			switch(channel[realchan].fx) {
-			case 1: speed = info; break;							// set speed
-			case 2: if(info <= ord) songend = 1; ord = info; crow = 0; pattbreak = 1; break;	// jump to order
-			case 3: if(!pattbreak) { crow = info; ord++; pattbreak = 1; } break;	// pattern break
-			case 4: if(info > 0xf0)										// fine volume down
-						if(channel[realchan].vol - (info & 0x0f) >= 0)
-							channel[realchan].vol -= info & 0x0f;
-						else
-							channel[realchan].vol = 0;
-					if((info & 0x0f) == 0x0f && info >= 0x1f)			// fine volume up
-						if(channel[realchan].vol + ((info & 0xf0) >> 4) <= 63)
-							channel[realchan].vol += (info & 0xf0) >> 4;
-						else
-							channel[realchan].vol = 63;
-					setvolume(realchan);
-					break;
-			case 5: if(info > 0xf0)	{									// fine slide down
-						slide_down(realchan,(unsigned char) (info & 0x0f));
-						setfreq(realchan);
-					}
-					if(info > 0xe0 && info < 0xf0) {					// extra fine slide down
-						slide_down(realchan,(unsigned char) ((info & 0x0f) / 4));
-						setfreq(realchan);
-					}
-					break;
-			case 6: if(info > 0xf0) {									// fine slide up
-						slide_up(realchan,(unsigned char) (info & 0x0f));
-						setfreq(realchan);
-					}
-					if(info > 0xe0 && info < 0xf0) {					// extra fine slide up
-						slide_up(realchan,(unsigned char) ((info & 0x0f) / 4));
-						setfreq(realchan);
-					}
-					break;
-			case 7:														// tone portamento
-			case 8:	if((channel[realchan].fx == 7 ||				// vibrato (remember info for dual commands)
-					 channel[realchan].fx == 8) && pattern[pattnr][row][chan].info)
-						channel[realchan].dualinfo = info;
-					break;
-			case 10: channel[realchan].trigger = 0; break;			// arpeggio (set trigger)
-			case 19: if(info == 0xb0)									// set loop start
-						loopstart = row;
-					 if(info > 0xb0 && info <= 0xbf)					// pattern loop
-						if(!loopcnt) {
-							loopcnt = info & 0x0f;
-							crow = loopstart;
-							pattbreak = 1;
-						} else
-							if(--loopcnt > 0) {
-								crow = loopstart;
-								pattbreak = 1;
-							}
-					 if((info & 0xf0) == 0xe0)							// patterndelay
-						 del = speed * (info & 0x0f) - 1;
-					 break;
-			case 20: tempo = info; break;							// set tempo
-			}
-		}
-	}
+      // command handling (row dependant)
+      info = channel[realchan].info;    // fill infobyte cache
+      switch (channel[realchan].fx)
+      {
+      case 1:
+        speed = info;
+        break;                  // set speed
+      case 2:
+        if (info <= ord)
+          songend = 1;
+        ord = info;
+        crow = 0;
+        pattbreak = 1;
+        break;                  // jump to order
+      case 3:
+        if (!pattbreak)
+        {
+          crow = info;
+          ord++;
+          pattbreak = 1;
+        }
+        break;                  // pattern break
+      case 4:
+        if (info > 0xf0)        // fine volume down
+          if (channel[realchan].vol - (info & 0x0f) >= 0)
+            channel[realchan].vol -= info & 0x0f;
+          else
+            channel[realchan].vol = 0;
+        if ((info & 0x0f) == 0x0f && info >= 0x1f)  // fine volume up
+          if (channel[realchan].vol + ((info & 0xf0) >> 4) <= 63)
+            channel[realchan].vol += (info & 0xf0) >> 4;
+          else
+            channel[realchan].vol = 63;
+        setvolume (realchan);
+        break;
+      case 5:
+        if (info > 0xf0)
+        {                       // fine slide down
+          slide_down (realchan, (unsigned char) (info & 0x0f));
+          setfreq (realchan);
+        }
+        if (info > 0xe0 && info < 0xf0)
+        {                       // extra fine slide down
+          slide_down (realchan, (unsigned char) ((info & 0x0f) / 4));
+          setfreq (realchan);
+        }
+        break;
+      case 6:
+        if (info > 0xf0)
+        {                       // fine slide up
+          slide_up (realchan, (unsigned char) (info & 0x0f));
+          setfreq (realchan);
+        }
+        if (info > 0xe0 && info < 0xf0)
+        {                       // extra fine slide up
+          slide_up (realchan, (unsigned char) ((info & 0x0f) / 4));
+          setfreq (realchan);
+        }
+        break;
+      case 7:                  // tone portamento
+      case 8:
+        if ((channel[realchan].fx == 7 ||   // vibrato (remember info for dual commands)
+             channel[realchan].fx == 8) && pattern[pattnr][row][chan].info)
+          channel[realchan].dualinfo = info;
+        break;
+      case 10:
+        channel[realchan].trigger = 0;
+        break;                  // arpeggio (set trigger)
+      case 19:
+        if (info == 0xb0)       // set loop start
+          loopstart = row;
+        if (info > 0xb0 && info <= 0xbf)    // pattern loop
+          if (!loopcnt)
+          {
+            loopcnt = info & 0x0f;
+            crow = loopstart;
+            pattbreak = 1;
+          }
+          else if (--loopcnt > 0)
+          {
+            crow = loopstart;
+            pattbreak = 1;
+          }
+        if ((info & 0xf0) == 0xe0)  // patterndelay
+          del = speed * (info & 0x0f) - 1;
+        break;
+      case 20:
+        tempo = info;
+        break;                  // set tempo
+      }
+    }
+  }
 
-	if(!del)
-    del = speed - 1;		// speed compensation
-	if(!pattbreak) {			// next row (only if no manual advance)
-		crow++;
-		if(crow > 63) {
-			crow = 0;
-			ord++;
-			loopstart = 0;
-		}
-	}
+  if (!del)
+    del = speed - 1;            // speed compensation
+  if (!pattbreak)
+  {                             // next row (only if no manual advance)
+    crow++;
+    if (crow > 63)
+    {
+      crow = 0;
+      ord++;
+      loopstart = 0;
+    }
+  }
 
-	return !songend;		// still playing
+  return !songend;              // still playing
 }
 
-void Cs3mPlayer::rewind(int subsong)
+void
+Cs3mPlayer::rewind (int subsong)
 {
-	// set basic variables
-	songend = 0; ord = 0; crow = 0; tempo = header.it;
-	speed = header.is; del = 0; loopstart = 0; loopcnt = 0;
+  // set basic variables
+  songend = 0;
+  ord = 0;
+  crow = 0;
+  tempo = header.it;
+  speed = header.is;
+  del = 0;
+  loopstart = 0;
+  loopcnt = 0;
 
-	memset(channel,0,sizeof(channel));
+  memset (channel, 0, sizeof (channel));
 
-	opl->init();				// reset OPL chip
-	opl->write(1,32);			// Go to ym3812 mode
+  opl->init ();                 // reset OPL chip
+  opl->write (1, 32);           // Go to ym3812 mode
 }
 
-std::string Cs3mPlayer::gettype()
+std::string Cs3mPlayer::gettype ()
 {
-	char filever[5];
+  char
+    filever[5];
 
-	switch(header.cwtv) {		// determine version number
-	case 0x1300: strcpy(filever,"3.00"); break;
-	case 0x1301: strcpy(filever,"3.01"); break;
-	case 0x1303: strcpy(filever,"3.03"); break;
-	case 0x1320: strcpy(filever,"3.20"); break;
-	default: strcpy(filever,"3.??");
-	}
+  switch (header.cwtv)
+  {                             // determine version number
+  case 0x1300:
+    strcpy (filever, "3.00");
+    break;
+  case 0x1301:
+    strcpy (filever, "3.01");
+    break;
+  case 0x1303:
+    strcpy (filever, "3.03");
+    break;
+  case 0x1320:
+    strcpy (filever, "3.20");
+    break;
+  default:
+    strcpy (filever, "3.??");
+  }
 
-	return (std::string("Scream Tracker ") + filever);
+  return (std::string ("Scream Tracker ") + filever);
 }
 
-float Cs3mPlayer::getrefresh()
+float
+Cs3mPlayer::getrefresh ()
 {
-	return (float) (tempo / 2.5);
+  return (float) (tempo / 2.5);
 }
 
 /*** private methods *************************************/
 
-void Cs3mPlayer::load_header(binistream *f, s3mheader *h)
+void
+Cs3mPlayer::load_header (binistream * f, s3mheader * h)
 {
   int i;
 
-  f->readString(h->name, 28);
-  h->kennung = f->readInt(1); h->typ = f->readInt(1);
-  f->ignore(2);
-  h->ordnum = f->readInt(2); h->insnum = f->readInt(2);
-  h->patnum = f->readInt(2); h->flags = f->readInt(2);
-  h->cwtv = f->readInt(2); h->ffi = f->readInt(2);
-  f->readString(h->scrm, 4);
-  h->gv = f->readInt(1); h->is = f->readInt(1); h->it = f->readInt(1);
-  h->mv = f->readInt(1); h->uc = f->readInt(1); h->dp = f->readInt(1);
-  f->ignore(8);
-  h->special = f->readInt(2);
-  for(i = 0; i < 32; i++) h->chanset[i] = f->readInt(1);
-}
-
-void Cs3mPlayer::setvolume(unsigned char chan)
-{
-	unsigned char op = op_table[chan], insnr = channel[chan].inst;
-
-	opl->write(0x43 + op,(int)(63-((63-(inst[insnr].d03 & 63))/63.0)*channel[chan].vol) + (inst[insnr].d03 & 192));
-	if(inst[insnr].d0a & 1)
-		opl->write(0x40 + op,(int)(63-((63-(inst[insnr].d02 & 63))/63.0)*channel[chan].vol) + (inst[insnr].d02 & 192));
+  f->readString (h->name, 28);
+  h->kennung = f->readInt (1);
+  h->typ = f->readInt (1);
+  f->ignore (2);
+  h->ordnum = f->readInt (2);
+  h->insnum = f->readInt (2);
+  h->patnum = f->readInt (2);
+  h->flags = f->readInt (2);
+  h->cwtv = f->readInt (2);
+  h->ffi = f->readInt (2);
+  f->readString (h->scrm, 4);
+  h->gv = f->readInt (1);
+  h->is = f->readInt (1);
+  h->it = f->readInt (1);
+  h->mv = f->readInt (1);
+  h->uc = f->readInt (1);
+  h->dp = f->readInt (1);
+  f->ignore (8);
+  h->special = f->readInt (2);
+  for (i = 0; i < 32; i++)
+    h->chanset[i] = f->readInt (1);
 }
 
-void Cs3mPlayer::setfreq(unsigned char chan)
+void
+Cs3mPlayer::setvolume (unsigned char chan)
 {
-	opl->write(0xa0 + chan, channel[chan].freq & 255);
-	if(channel[chan].key)
-		opl->write(0xb0 + chan, ((channel[chan].freq & 768) >> 8) + (channel[chan].oct << 2) | 32);
-	else
-		opl->write(0xb0 + chan, ((channel[chan].freq & 768) >> 8) + (channel[chan].oct << 2));
+  unsigned char op = op_table[chan], insnr = channel[chan].inst;
+
+  opl->write (0x43 + op,
+              (int) (63 -
+                     ((63 -
+                       (inst[insnr].d03 & 63)) / 63.0) * channel[chan].vol) +
+              (inst[insnr].d03 & 192));
+  if (inst[insnr].d0a & 1)
+    opl->write (0x40 + op,
+                (int) (63 -
+                       ((63 -
+                         (inst[insnr].d02 & 63)) / 63.0) *
+                       channel[chan].vol) + (inst[insnr].d02 & 192));
 }
 
-void Cs3mPlayer::playnote(unsigned char chan)
+void
+Cs3mPlayer::setfreq (unsigned char chan)
 {
-	unsigned char op = op_table[chan], insnr = channel[chan].inst;
-
-	opl->write(0xb0 + chan, 0);	// stop old note
-
-	// set instrument data
-	opl->write(0x20 + op, inst[insnr].d00);
-	opl->write(0x23 + op, inst[insnr].d01);
-	opl->write(0x40 + op, inst[insnr].d02);
-	opl->write(0x43 + op, inst[insnr].d03);
-	opl->write(0x60 + op, inst[insnr].d04);
-	opl->write(0x63 + op, inst[insnr].d05);
-	opl->write(0x80 + op, inst[insnr].d06);
-	opl->write(0x83 + op, inst[insnr].d07);
-	opl->write(0xe0 + op, inst[insnr].d08);
-	opl->write(0xe3 + op, inst[insnr].d09);
-	opl->write(0xc0 + chan, inst[insnr].d0a);
-
-	// set frequency & play
-	channel[chan].key = 1;
-	setfreq(chan);
+  opl->write (0xa0 + chan, channel[chan].freq & 255);
+  if (channel[chan].key)
+    opl->write (0xb0 + chan,
+                ((channel[chan].freq & 768) >> 8) +
+                (channel[chan].oct << 2) | 32);
+  else
+    opl->write (0xb0 + chan,
+                ((channel[chan].freq & 768) >> 8) + (channel[chan].oct << 2));
 }
 
-void Cs3mPlayer::slide_down(unsigned char chan, unsigned char amount)
+void
+Cs3mPlayer::playnote (unsigned char chan)
 {
-	if(channel[chan].freq - amount > 340)
-		channel[chan].freq -= amount;
-	else
-		if(channel[chan].oct > 0) {
-			channel[chan].oct--;
-			channel[chan].freq = 684;
-		} else
-			channel[chan].freq = 340;
+  unsigned char op = op_table[chan], insnr = channel[chan].inst;
+
+  opl->write (0xb0 + chan, 0);  // stop old note
+
+  // set instrument data
+  opl->write (0x20 + op, inst[insnr].d00);
+  opl->write (0x23 + op, inst[insnr].d01);
+  opl->write (0x40 + op, inst[insnr].d02);
+  opl->write (0x43 + op, inst[insnr].d03);
+  opl->write (0x60 + op, inst[insnr].d04);
+  opl->write (0x63 + op, inst[insnr].d05);
+  opl->write (0x80 + op, inst[insnr].d06);
+  opl->write (0x83 + op, inst[insnr].d07);
+  opl->write (0xe0 + op, inst[insnr].d08);
+  opl->write (0xe3 + op, inst[insnr].d09);
+  opl->write (0xc0 + chan, inst[insnr].d0a);
+
+  // set frequency & play
+  channel[chan].key = 1;
+  setfreq (chan);
 }
 
-void Cs3mPlayer::slide_up(unsigned char chan, unsigned char amount)
+void
+Cs3mPlayer::slide_down (unsigned char chan, unsigned char amount)
 {
-	if(channel[chan].freq + amount < 686)
-		channel[chan].freq += amount;
-	else
-		if(channel[chan].oct < 7) {
-			channel[chan].oct++;
-			channel[chan].freq = 341;
-		} else
-			channel[chan].freq = 686;
+  if (channel[chan].freq - amount > 340)
+    channel[chan].freq -= amount;
+  else if (channel[chan].oct > 0)
+  {
+    channel[chan].oct--;
+    channel[chan].freq = 684;
+  }
+  else
+    channel[chan].freq = 340;
 }
 
-void Cs3mPlayer::vibrato(unsigned char chan, unsigned char info)
+void
+Cs3mPlayer::slide_up (unsigned char chan, unsigned char amount)
 {
-	unsigned char i,speed,depth;
-
-	speed = info >> 4;
-	depth = (info & 0x0f) / 2;
-
-	for(i=0;i<speed;i++) {
-		channel[chan].trigger++;
-		while(channel[chan].trigger >= 64)
-			channel[chan].trigger -= 64;
-		if(channel[chan].trigger >= 16 && channel[chan].trigger < 48)
-			slide_down(chan,(unsigned char) (vibratotab[channel[chan].trigger - 16] / (16-depth)));
-		if(channel[chan].trigger < 16)
-			slide_up(chan,(unsigned char) (vibratotab[channel[chan].trigger + 16] / (16-depth)));
-		if(channel[chan].trigger >= 48)
-			slide_up(chan,(unsigned char) (vibratotab[channel[chan].trigger - 48] / (16-depth)));
-	}
-	setfreq(chan);
+  if (channel[chan].freq + amount < 686)
+    channel[chan].freq += amount;
+  else if (channel[chan].oct < 7)
+  {
+    channel[chan].oct++;
+    channel[chan].freq = 341;
+  }
+  else
+    channel[chan].freq = 686;
 }
 
-void Cs3mPlayer::tone_portamento(unsigned char chan, unsigned char info)
+void
+Cs3mPlayer::vibrato (unsigned char chan, unsigned char info)
 {
-	if(channel[chan].freq + (channel[chan].oct << 10) < channel[chan].nextfreq +
-		(channel[chan].nextoct << 10))
-		slide_up(chan,info);
-	if(channel[chan].freq + (channel[chan].oct << 10) > channel[chan].nextfreq +
-		(channel[chan].nextoct << 10))
-		slide_down(chan,info);
-	setfreq(chan);
+  unsigned char i, speed, depth;
+
+  speed = info >> 4;
+  depth = (info & 0x0f) / 2;
+
+  for (i = 0; i < speed; i++)
+  {
+    channel[chan].trigger++;
+    while (channel[chan].trigger >= 64)
+      channel[chan].trigger -= 64;
+    if (channel[chan].trigger >= 16 && channel[chan].trigger < 48)
+      slide_down (chan,
+                  (unsigned char) (vibratotab[channel[chan].trigger - 16] /
+                                   (16 - depth)));
+    if (channel[chan].trigger < 16)
+      slide_up (chan,
+                (unsigned char) (vibratotab[channel[chan].trigger + 16] /
+                                 (16 - depth)));
+    if (channel[chan].trigger >= 48)
+      slide_up (chan,
+                (unsigned char) (vibratotab[channel[chan].trigger - 48] /
+                                 (16 - depth)));
+  }
+  setfreq (chan);
 }
+
+void
+Cs3mPlayer::tone_portamento (unsigned char chan, unsigned char info)
+{
+  if (channel[chan].freq + (channel[chan].oct << 10) <
+      channel[chan].nextfreq + (channel[chan].nextoct << 10))
+    slide_up (chan, info);
+  if (channel[chan].freq + (channel[chan].oct << 10) >
+      channel[chan].nextfreq + (channel[chan].nextoct << 10))
+    slide_down (chan, info);
+  setfreq (chan);
+}
--- a/src/adplug/core/sa2.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/sa2.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -25,237 +25,289 @@
 #include "sa2.h"
 #include "debug.h"
 
-CPlayer *Csa2Loader::factory(Copl *newopl)
+CPlayer *
+Csa2Loader::factory (Copl * newopl)
 {
-  return new Csa2Loader(newopl);
+  return new Csa2Loader (newopl);
 }
 
-bool Csa2Loader::load(VFSFile *fd, const CFileProvider &fp)
+bool
+Csa2Loader::load (VFSFile * fd, const CFileProvider & fp)
 {
-        binistream *f = fp.open(fd); if(!f) return false;
-	struct {
-		unsigned char data[11],arpstart,arpspeed,arppos,arpspdcnt;
-	} insts;
-	unsigned char buf;
-	int i,j, k, notedis = 0;
-	const unsigned char convfx[16] = {0,1,2,3,4,5,6,255,8,255,10,11,12,13,255,15};
-	unsigned char sat_type;
-	enum SAT_TYPE {
-		HAS_ARPEGIOLIST = (1 << 7),
-		HAS_V7PATTERNS = (1 << 6),
-		HAS_ACTIVECHANNELS = (1 << 5),
-		HAS_TRACKORDER = (1 << 4),
-		HAS_ARPEGIO = (1 << 3),
-		HAS_OLDBPM = (1 << 2),
-		HAS_OLDPATTERNS = (1 << 1),
-		HAS_UNKNOWN127 = (1 << 0)
-	};
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  struct
+  {
+    unsigned char data[11], arpstart, arpspeed, arppos, arpspdcnt;
+  } insts;
+  unsigned char buf;
+  int i, j, k, notedis = 0;
+  const unsigned char convfx[16] =
+    { 0, 1, 2, 3, 4, 5, 6, 255, 8, 255, 10, 11, 12, 13, 255, 15 };
+  unsigned char sat_type;
+  enum SAT_TYPE
+  {
+    HAS_ARPEGIOLIST = (1 << 7),
+    HAS_V7PATTERNS = (1 << 6),
+    HAS_ACTIVECHANNELS = (1 << 5),
+    HAS_TRACKORDER = (1 << 4),
+    HAS_ARPEGIO = (1 << 3),
+    HAS_OLDBPM = (1 << 2),
+    HAS_OLDPATTERNS = (1 << 1),
+    HAS_UNKNOWN127 = (1 << 0)
+  };
 
-	// read header
-	f->readString(header.sadt, 4);
-	header.version = f->readInt(1);
+  // read header
+  f->readString (header.sadt, 4);
+  header.version = f->readInt (1);
 
-	// file validation section
-	if(strncmp(header.sadt,"SAdT",4)) { fp.close(f); return false; }
-	switch(header.version) {
-	case 1:
-		notedis = +0x18;
-		sat_type = HAS_UNKNOWN127 | HAS_OLDPATTERNS | HAS_OLDBPM;
-		break;
-	case 2:
-		notedis = +0x18;
-		sat_type = HAS_OLDPATTERNS | HAS_OLDBPM;
-		break;
-	case 3:
-		notedis = +0x0c;
-		sat_type = HAS_OLDPATTERNS | HAS_OLDBPM;
-		break;
-	case 4:
-		notedis = +0x0c;
-		sat_type = HAS_ARPEGIO | HAS_OLDPATTERNS | HAS_OLDBPM;
-		break;
-	case 5:
-		notedis = +0x0c;
-		sat_type = HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_OLDPATTERNS | HAS_OLDBPM;
-		break;
-	case 6:
-		sat_type = HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_OLDPATTERNS | HAS_OLDBPM;
-		break;
-	case 7:
-		sat_type = HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_V7PATTERNS;
-		break;
-	case 8:
-		sat_type = HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_TRACKORDER;
-		break;
-	case 9:
-		sat_type = HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_TRACKORDER | HAS_ACTIVECHANNELS;
-		break;
-	default:	/* unknown */
-	        fp.close(f);
-		return false;
-	}
+  // file validation section
+  if (strncmp (header.sadt, "SAdT", 4))
+  {
+    fp.close (f);
+    return false;
+  }
+  switch (header.version)
+  {
+  case 1:
+    notedis = +0x18;
+    sat_type = HAS_UNKNOWN127 | HAS_OLDPATTERNS | HAS_OLDBPM;
+    break;
+  case 2:
+    notedis = +0x18;
+    sat_type = HAS_OLDPATTERNS | HAS_OLDBPM;
+    break;
+  case 3:
+    notedis = +0x0c;
+    sat_type = HAS_OLDPATTERNS | HAS_OLDBPM;
+    break;
+  case 4:
+    notedis = +0x0c;
+    sat_type = HAS_ARPEGIO | HAS_OLDPATTERNS | HAS_OLDBPM;
+    break;
+  case 5:
+    notedis = +0x0c;
+    sat_type = HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_OLDPATTERNS | HAS_OLDBPM;
+    break;
+  case 6:
+    sat_type = HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_OLDPATTERNS | HAS_OLDBPM;
+    break;
+  case 7:
+    sat_type = HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_V7PATTERNS;
+    break;
+  case 8:
+    sat_type = HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_TRACKORDER;
+    break;
+  case 9:
+    sat_type =
+      HAS_ARPEGIO | HAS_ARPEGIOLIST | HAS_TRACKORDER | HAS_ACTIVECHANNELS;
+    break;
+  default:                     /* unknown */
+    fp.close (f);
+    return false;
+  }
 
-	// load section
-	// instruments
-	for(i = 0; i < 31; i++) {
-		if(sat_type & HAS_ARPEGIO) {
-		        for(j = 0; j < 11; j++) insts.data[j] = f->readInt(1);
-			insts.arpstart = f->readInt(1);
-			insts.arpspeed = f->readInt(1);
-			insts.arppos = f->readInt(1);
-			insts.arpspdcnt = f->readInt(1);
-			inst[i].arpstart = insts.arpstart;
-			inst[i].arpspeed = insts.arpspeed;
-			inst[i].arppos = insts.arppos;
-			inst[i].arpspdcnt = insts.arpspdcnt;
-		} else {
-		        for(j = 0; j < 11; j++) insts.data[j] = f->readInt(1);
-			inst[i].arpstart = 0;
-			inst[i].arpspeed = 0;
-			inst[i].arppos = 0;
-			inst[i].arpspdcnt = 0;
-		}
-		for(j=0;j<11;j++)
-			inst[i].data[j] = insts.data[j];
-		inst[i].misc = 0;
-		inst[i].slide = 0;
-	}
+  // load section
+  // instruments
+  for (i = 0; i < 31; i++)
+  {
+    if (sat_type & HAS_ARPEGIO)
+    {
+      for (j = 0; j < 11; j++)
+        insts.data[j] = f->readInt (1);
+      insts.arpstart = f->readInt (1);
+      insts.arpspeed = f->readInt (1);
+      insts.arppos = f->readInt (1);
+      insts.arpspdcnt = f->readInt (1);
+      inst[i].arpstart = insts.arpstart;
+      inst[i].arpspeed = insts.arpspeed;
+      inst[i].arppos = insts.arppos;
+      inst[i].arpspdcnt = insts.arpspdcnt;
+    }
+    else
+    {
+      for (j = 0; j < 11; j++)
+        insts.data[j] = f->readInt (1);
+      inst[i].arpstart = 0;
+      inst[i].arpspeed = 0;
+      inst[i].arppos = 0;
+      inst[i].arpspdcnt = 0;
+    }
+    for (j = 0; j < 11; j++)
+      inst[i].data[j] = insts.data[j];
+    inst[i].misc = 0;
+    inst[i].slide = 0;
+  }
 
-	// instrument names
-	for(i = 0; i < 29; i++) f->readString(instname[i], 17);
+  // instrument names
+  for (i = 0; i < 29; i++)
+    f->readString (instname[i], 17);
 
-	f->ignore(3);		// dummy bytes
-	for(i = 0; i < 128; i++) order[i] = f->readInt(1);	// pattern orders
-	if(sat_type & HAS_UNKNOWN127) f->ignore(127);
+  f->ignore (3);                // dummy bytes
+  for (i = 0; i < 128; i++)
+    order[i] = f->readInt (1);  // pattern orders
+  if (sat_type & HAS_UNKNOWN127)
+    f->ignore (127);
 
-	// infos
-	nop = f->readInt(2); length = f->readInt(1); restartpos = f->readInt(1);
+  // infos
+  nop = f->readInt (2);
+  length = f->readInt (1);
+  restartpos = f->readInt (1);
 
-	// bpm
-	bpm = f->readInt(2);
-	if(sat_type & HAS_OLDBPM) {
-		bpm = bpm * 125 / 50;		// cps -> bpm
-	}
+  // bpm
+  bpm = f->readInt (2);
+  if (sat_type & HAS_OLDBPM)
+  {
+    bpm = bpm * 125 / 50;       // cps -> bpm
+  }
 
-	if(sat_type & HAS_ARPEGIOLIST) {
-	  init_specialarp();
-	  for(i = 0; i < 256; i++) arplist[i] = f->readInt(1);	// arpeggio list
-	  for(i = 0; i < 256; i++) arpcmd[i] = f->readInt(1);	// arpeggio commands
-	}
+  if (sat_type & HAS_ARPEGIOLIST)
+  {
+    init_specialarp ();
+    for (i = 0; i < 256; i++)
+      arplist[i] = f->readInt (1);  // arpeggio list
+    for (i = 0; i < 256; i++)
+      arpcmd[i] = f->readInt (1);   // arpeggio commands
+  }
 
-	for(i=0;i<64;i++) {				// track orders
-	  for(j=0;j<9;j++) {
-	    if(sat_type & HAS_TRACKORDER)
-	      trackord[i][j] = f->readInt(1);
-	    else
-	      {
-		trackord[i][j] = i * 9 + j;
-	      }
-	  }
-	}
+  for (i = 0; i < 64; i++)
+  {                             // track orders
+    for (j = 0; j < 9; j++)
+    {
+      if (sat_type & HAS_TRACKORDER)
+        trackord[i][j] = f->readInt (1);
+      else
+      {
+        trackord[i][j] = i * 9 + j;
+      }
+    }
+  }
 
-	if(sat_type & HAS_ACTIVECHANNELS)
-	        activechan = f->readInt(2) << 16;	// active channels
+  if (sat_type & HAS_ACTIVECHANNELS)
+    activechan = f->readInt (2) << 16;  // active channels
 
-        AdPlug_LogWrite("Csa2Loader::load(\"%s\"): sat_type = %x, nop = %d, "
-		 "length = %d, restartpos = %d, activechan = %x, bpm = %d\n",
-		 fd->uri, sat_type, nop, length, restartpos, activechan, bpm);
+  AdPlug_LogWrite ("Csa2Loader::load(\"%s\"): sat_type = %x, nop = %d, "
+                   "length = %d, restartpos = %d, activechan = %x, bpm = %d\n",
+                   fd->uri, sat_type, nop, length, restartpos, activechan,
+                   bpm);
 
-	// track data
-	if(sat_type & HAS_OLDPATTERNS) {
-		i = 0;
-		while(!f->ateof()) {
-			for(j=0;j<64;j++) {
-				for(k=0;k<9;k++) {
-					buf = f->readInt(1);
-					tracks[i+k][j].note = buf ? (buf + notedis) : 0;
-					tracks[i+k][j].inst = f->readInt(1);
-					tracks[i+k][j].command = convfx[f->readInt(1) & 0xf];
-					tracks[i+k][j].param1 = f->readInt(1);
-					tracks[i+k][j].param2 = f->readInt(1);
-				}
-			}
-			i+=9;
-		}
-	} else
-	  if(sat_type & HAS_V7PATTERNS) {
-		i = 0;
-		while(!f->ateof()) {
-			for(j=0;j<64;j++) {
-				for(k=0;k<9;k++) {
-					buf = f->readInt(1);
-					tracks[i+k][j].note = buf >> 1;
-					tracks[i+k][j].inst = (buf & 1) << 4;
-					buf = f->readInt(1);
-					tracks[i+k][j].inst += buf >> 4;
-					tracks[i+k][j].command = convfx[buf & 0x0f];
-					buf = f->readInt(1);
-					tracks[i+k][j].param1 = buf >> 4;
-					tracks[i+k][j].param2 = buf & 0x0f;
-				}
-			}
-			i+=9;
-		}
-	  } else {
-		i = 0;
-		while(!f->ateof()) {
-			for(j=0;j<64;j++) {
-				buf = f->readInt(1);
-				tracks[i][j].note = buf >> 1;
-				tracks[i][j].inst = (buf & 1) << 4;
-				buf = f->readInt(1);
-				tracks[i][j].inst += buf >> 4;
-				tracks[i][j].command = convfx[buf & 0x0f];
-				buf = f->readInt(1);
-				tracks[i][j].param1 = buf >> 4;
-				tracks[i][j].param2 = buf & 0x0f;
-			}
-			i++;
-		}
-	  }
-	fp.close(f);
+  // track data
+  if (sat_type & HAS_OLDPATTERNS)
+  {
+    i = 0;
+    while (!f->ateof ())
+    {
+      for (j = 0; j < 64; j++)
+      {
+        for (k = 0; k < 9; k++)
+        {
+          buf = f->readInt (1);
+          tracks[i + k][j].note = buf ? (buf + notedis) : 0;
+          tracks[i + k][j].inst = f->readInt (1);
+          tracks[i + k][j].command = convfx[f->readInt (1) & 0xf];
+          tracks[i + k][j].param1 = f->readInt (1);
+          tracks[i + k][j].param2 = f->readInt (1);
+        }
+      }
+      i += 9;
+    }
+  }
+  else if (sat_type & HAS_V7PATTERNS)
+  {
+    i = 0;
+    while (!f->ateof ())
+    {
+      for (j = 0; j < 64; j++)
+      {
+        for (k = 0; k < 9; k++)
+        {
+          buf = f->readInt (1);
+          tracks[i + k][j].note = buf >> 1;
+          tracks[i + k][j].inst = (buf & 1) << 4;
+          buf = f->readInt (1);
+          tracks[i + k][j].inst += buf >> 4;
+          tracks[i + k][j].command = convfx[buf & 0x0f];
+          buf = f->readInt (1);
+          tracks[i + k][j].param1 = buf >> 4;
+          tracks[i + k][j].param2 = buf & 0x0f;
+        }
+      }
+      i += 9;
+    }
+  }
+  else
+  {
+    i = 0;
+    while (!f->ateof ())
+    {
+      for (j = 0; j < 64; j++)
+      {
+        buf = f->readInt (1);
+        tracks[i][j].note = buf >> 1;
+        tracks[i][j].inst = (buf & 1) << 4;
+        buf = f->readInt (1);
+        tracks[i][j].inst += buf >> 4;
+        tracks[i][j].command = convfx[buf & 0x0f];
+        buf = f->readInt (1);
+        tracks[i][j].param1 = buf >> 4;
+        tracks[i][j].param2 = buf & 0x0f;
+      }
+      i++;
+    }
+  }
+  fp.close (f);
 
-	// fix instrument names
-	for(i=0;i<29;i++)
-		for(j=0;j<17;j++)
-			if(!instname[i][j])
-				instname[i][j] = ' ';
+  // fix instrument names
+  for (i = 0; i < 29; i++)
+    for (j = 0; j < 17; j++)
+      if (!instname[i][j])
+        instname[i][j] = ' ';
 
-	rewind(0);		// rewind module
-	return true;
+  rewind (0);                   // rewind module
+  return true;
 }
 
-std::string Csa2Loader::gettype()
+std::string Csa2Loader::gettype ()
 {
-	char tmpstr[40];
+  char
+    tmpstr[40];
 
-	sprintf(tmpstr,"Surprise! Adlib Tracker 2 (version %d)",header.version);
-	return std::string(tmpstr);
+  sprintf (tmpstr, "Surprise! Adlib Tracker 2 (version %d)", header.version);
+  return std::string (tmpstr);
 }
 
-std::string Csa2Loader::gettitle()
+std::string Csa2Loader::gettitle ()
 {
-	char bufinst[29*17],buf[18];
-	int i,ptr;
+  char
+    bufinst[29 * 17],
+    buf[18];
+  int
+    i,
+    ptr;
 
-	// parse instrument names for song name
-	memset(bufinst,'\0',29*17);
-	for(i=0;i<29;i++) {
-		buf[16] = ' '; buf[17] = '\0';
-		memcpy(buf,instname[i]+1,16);
-		for(ptr=16;ptr>0;ptr--)
-			if(buf[ptr] == ' ')
-				buf[ptr] = '\0';
-			else {
-				if(ptr<16)
-					buf[ptr+1] = ' ';
-				break;
-			}
-		strcat(bufinst,buf);
-	}
+  // parse instrument names for song name
+  memset (bufinst, '\0', 29 * 17);
+  for (i = 0; i < 29; i++)
+  {
+    buf[16] = ' ';
+    buf[17] = '\0';
+    memcpy (buf, instname[i] + 1, 16);
+    for (ptr = 16; ptr > 0; ptr--)
+      if (buf[ptr] == ' ')
+        buf[ptr] = '\0';
+      else
+      {
+        if (ptr < 16)
+          buf[ptr + 1] = ' ';
+        break;
+      }
+    strcat (bufinst, buf);
+  }
 
-	if(strchr(bufinst,'"'))
-		return std::string(bufinst,strchr(bufinst,'"')-bufinst+1,strrchr(bufinst,'"')-strchr(bufinst,'"')-1);
-	else
-		return std::string();
+  if (strchr (bufinst, '"'))
+    return std::string (bufinst, strchr (bufinst, '"') - bufinst + 1,
+                        strrchr (bufinst, '"') - strchr (bufinst, '"') - 1);
+  else
+    return std::string ();
 }
--- a/src/adplug/core/sng.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/sng.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -21,64 +21,91 @@
 
 #include "sng.h"
 
-CPlayer *CsngPlayer::factory(Copl *newopl)
+CPlayer *
+CsngPlayer::factory (Copl * newopl)
 {
-  return new CsngPlayer(newopl);
+  return new CsngPlayer (newopl);
 }
 
-bool CsngPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CsngPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
   int i;
 
   // load header
-  f->readString(header.id, 4);
-  header.length = f->readInt(2); header.start = f->readInt(2);
-  header.loop = f->readInt(2); header.delay = f->readInt(1);
-  header.compressed = f->readInt(1) ? true : false;
+  f->readString (header.id, 4);
+  header.length = f->readInt (2);
+  header.start = f->readInt (2);
+  header.loop = f->readInt (2);
+  header.delay = f->readInt (1);
+  header.compressed = f->readInt (1) ? true : false;
 
   // file validation section
-  if(strncmp(header.id,"ObsM",4)) { fp.close(f); return false; }
+  if (strncmp (header.id, "ObsM", 4))
+  {
+    fp.close (f);
+    return false;
+  }
 
   // load section
-  header.length /= 2; header.start /= 2; header.loop /= 2;
-  data = new Sdata [header.length];
-  for(i = 0; i < header.length; i++) {
-    data[i].val = f->readInt(1);
-    data[i].reg = f->readInt(1);
+  header.length /= 2;
+  header.start /= 2;
+  header.loop /= 2;
+  data = new Sdata[header.length];
+  for (i = 0; i < header.length; i++)
+  {
+    data[i].val = f->readInt (1);
+    data[i].reg = f->readInt (1);
   }
 
-  rewind(0);
-  fp.close(f);
+  rewind (0);
+  fp.close (f);
   return true;
 }
 
-bool CsngPlayer::update()
+bool
+CsngPlayer::update ()
 {
-  if(header.compressed && del) {
+  if (header.compressed && del)
+  {
     del--;
     return !songend;
   }
 
-  while(data[pos].reg) {
-    opl->write(data[pos].reg, data[pos].val);
+  while (data[pos].reg)
+  {
+    opl->write (data[pos].reg, data[pos].val);
     pos++;
-    if(pos >= header.length) {
+    if (pos >= header.length)
+    {
       songend = true;
       pos = header.loop;
     }
   }
 
-  if(!header.compressed)
-    opl->write(data[pos].reg, data[pos].val);
+  if (!header.compressed)
+    opl->write (data[pos].reg, data[pos].val);
 
-  if(data[pos].val) del = data[pos].val - 1; pos++;
-  if(pos >= header.length) { songend = true; pos = header.loop; }
+  if (data[pos].val)
+    del = data[pos].val - 1;
+  pos++;
+  if (pos >= header.length)
+  {
+    songend = true;
+    pos = header.loop;
+  }
   return !songend;
 }
 
-void CsngPlayer::rewind(int subsong)
+void
+CsngPlayer::rewind (int subsong)
 {
-  pos = header.start; del = header.delay; songend = false;
-  opl->init(); opl->write(1,32);	// go to OPL2 mode
+  pos = header.start;
+  del = header.delay;
+  songend = false;
+  opl->init ();
+  opl->write (1, 32);           // go to OPL2 mode
 }
--- a/src/adplug/core/temuopl.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/temuopl.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -21,55 +21,65 @@
 
 #include "temuopl.h"
 
-CTemuopl::CTemuopl(int rate, bool bit16, bool usestereo)
-  : use16bit(bit16), stereo(usestereo)
+CTemuopl::CTemuopl (int rate, bool bit16, bool usestereo):
+use16bit (bit16),
+stereo (usestereo)
 {
-  opl = OPLCreate(OPL_TYPE_YM3812, 3579545, rate);
+  opl = OPLCreate (OPL_TYPE_YM3812, 3579545, rate);
 }
 
-CTemuopl::~CTemuopl()
+CTemuopl::~CTemuopl ()
 {
-  OPLDestroy(opl);
+  OPLDestroy (opl);
 }
 
-void CTemuopl::update(short *buf, int samples)
+void
+CTemuopl::update (short *buf, int samples)
 {
   int i;
 
-  if(use16bit) {
-    YM3812UpdateOne(opl,buf,samples);
+  if (use16bit)
+  {
+    YM3812UpdateOne (opl, buf, samples);
 
-    if(stereo)
-      for(i=samples-1;i>=0;i--) {
-	buf[i*2] = buf[i];
-	buf[i*2+1] = buf[i];
+    if (stereo)
+      for (i = samples - 1; i >= 0; i--)
+      {
+        buf[i * 2] = buf[i];
+        buf[i * 2 + 1] = buf[i];
       }
-  } else {
-    short *tempbuf = new short[stereo ? samples*2 : samples];
+  }
+  else
+  {
+    short *tempbuf = new short[stereo ? samples * 2 : samples];
     int i;
 
-    YM3812UpdateOne(opl,tempbuf,samples);
+    YM3812UpdateOne (opl, tempbuf, samples);
 
-    if(stereo)
-      for(i=samples-1;i>=0;i--) {
-	tempbuf[i*2] = tempbuf[i];
-	tempbuf[i*2+1] = tempbuf[i];
+    if (stereo)
+      for (i = samples - 1; i >= 0; i--)
+      {
+        tempbuf[i * 2] = tempbuf[i];
+        tempbuf[i * 2 + 1] = tempbuf[i];
       }
 
-    for(i=0;i<(stereo ? samples*2 : samples);i++)
-      ((char *)buf)[i] = (tempbuf[i] >> 8) ^ 0x80;
+    for (i = 0; i < (stereo ? samples * 2 : samples); i++)
+      ((char *) buf)[i] = (tempbuf[i] >> 8) ^ 0x80;
 
-    delete [] tempbuf; tempbuf = 0;
+    delete[]tempbuf;
+    tempbuf = 0;
   }
 }
 
-void CTemuopl::write(int reg, int val)
+void
+CTemuopl::write (int reg, int val)
 {
-  OPLWrite(opl,0,reg);
-  OPLWrite(opl,1,val);
+  OPLWrite (opl, 0, reg);
+  OPLWrite (opl, 1, val);
 }
 
-void CTemuopl::init()
+void
+CTemuopl::init ()
 {
-  OPLResetChip(opl);
+  OPLResetChip (opl);
 }
--- a/src/adplug/core/u6m.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/u6m.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -29,166 +29,176 @@
 else \
   return false;
 
-CPlayer *Cu6mPlayer::factory(Copl *newopl)
+CPlayer *
+Cu6mPlayer::factory (Copl * newopl)
 {
-  return new Cu6mPlayer(newopl);
+  return new Cu6mPlayer (newopl);
 }
 
-bool Cu6mPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+Cu6mPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-    // file validation section
-    // this section only checks a few *necessary* conditions
-    unsigned long filesize, decompressed_filesize;
-    binistream *f;
+  // file validation section
+  // this section only checks a few *necessary* conditions
+  unsigned long filesize, decompressed_filesize;
+  binistream *f;
+
+  f = fp.open (fd);
+  if (!f)
+    return false;
+  filesize = fp.filesize (f);
 
-    f = fp.open(fd); if(!f) return false;
-    filesize = fp.filesize(f);
+  if (filesize >= 6)
+  {
+    // check if the file has a valid pseudo-header
+    unsigned char pseudo_header[6];
+    f->readString ((char *) pseudo_header, 6);
+    decompressed_filesize = pseudo_header[0] + (pseudo_header[1] << 8);
 
-    if (filesize >= 6)
+    if (!((pseudo_header[2] == 0) && (pseudo_header[3] == 0) &&
+          (pseudo_header[4] + ((pseudo_header[5] & 0x1) << 8) == 0x100) &&
+          (decompressed_filesize > (filesize - 4))))
     {
-        // check if the file has a valid pseudo-header
-        unsigned char pseudo_header[6];
-        f->readString((char *)pseudo_header, 6);
-        decompressed_filesize = pseudo_header[0] + (pseudo_header[1] << 8);
-
-        if (!( (pseudo_header[2]==0) && (pseudo_header[3]==0) &&
-               (pseudo_header[4] + ((pseudo_header[5] & 0x1)<<8) == 0x100) &&
-               (decompressed_filesize > (filesize-4)) ))
-        {
-	    fp.close(f);
-            return(false);
-        }
-    }
-    else
-    {
-        fp.close(f);
-        return(false);
+      fp.close (f);
+      return (false);
     }
+  }
+  else
+  {
+    fp.close (f);
+    return (false);
+  }
 
-    // load section
-    song_data = new unsigned char[decompressed_filesize];
-    unsigned char* compressed_song_data = new unsigned char[filesize-3];
+  // load section
+  song_data = new unsigned char[decompressed_filesize];
+  unsigned char *compressed_song_data = new unsigned char[filesize - 3];
 
-    f->seek(4);
-    f->readString((char *)compressed_song_data, filesize - 4);
-    fp.close(f);
+  f->seek (4);
+  f->readString ((char *) compressed_song_data, filesize - 4);
+  fp.close (f);
 
-    // attempt to decompress the song data
-    // if unsuccessful, deallocate song_data[] on the spot, and return(false)
-    data_block source, destination;
-    source.size = filesize-4;
-    source.data = compressed_song_data;
-    destination.size = decompressed_filesize;
-    destination.data = song_data;
-	
-    if (!lzw_decompress(source,destination))
-    {
-        delete[] compressed_song_data; compressed_song_data = 0;
-        delete[] song_data; song_data = 0;
-        return(false);
-    }
+  // attempt to decompress the song data
+  // if unsuccessful, deallocate song_data[] on the spot, and return(false)
+  data_block source, destination;
+  source.size = filesize - 4;
+  source.data = compressed_song_data;
+  destination.size = decompressed_filesize;
+  destination.data = song_data;
 
-    // deallocation section
-    delete[] compressed_song_data; compressed_song_data = 0;
+  if (!lzw_decompress (source, destination))
+  {
+    delete[]compressed_song_data;
+    compressed_song_data = 0;
+    delete[]song_data;
+    song_data = 0;
+    return (false);
+  }
 
-    rewind(0);
-    return (true);
+  // deallocation section
+  delete[]compressed_song_data;
+  compressed_song_data = 0;
+
+  rewind (0);
+  return (true);
 }
 
 
-bool Cu6mPlayer::update()
+bool
+Cu6mPlayer::update ()
 {
-    if (!driver_active)
+  if (!driver_active)
+  {
+    driver_active = true;
+    dec_clip (read_delay);
+    if (read_delay == 0)
+    {
+      command_loop ();
+    }
+
+    // on all Adlib channels: freq slide/vibrato, mute factor slide
+    for (int i = 0; i < 9; i++)
     {
-        driver_active = true;
-        dec_clip(read_delay);
-        if (read_delay == 0)
+      if (channel_freq_signed_delta[i] != 0)
+        // frequency slide + mute factor slide
+      {
+        // freq slide
+        freq_slide (i);
+
+        // mute factor slide
+        if (carrier_mf_signed_delta[i] != 0)
         {
-            command_loop();
+          mf_slide (i);
+        }
+      }
+      else
+        // vibrato + mute factor slide
+      {
+        // vibrato
+        if ((vb_multiplier[i] != 0) && ((channel_freq[i].hi & 0x20) == 0x20))
+        {
+          vibrato (i);
         }
 
-        // on all Adlib channels: freq slide/vibrato, mute factor slide
-        for (int i = 0; i < 9; i++)
+        // mute factor slide
+        if (carrier_mf_signed_delta[i] != 0)
         {
-            if (channel_freq_signed_delta[i]!=0)
-            // frequency slide + mute factor slide
-            {
-                // freq slide
-                freq_slide(i);
-
-                // mute factor slide
-                if (carrier_mf_signed_delta[i]!=0)
-                {
-                    mf_slide(i);
-                }
-            }
-            else
-            // vibrato + mute factor slide
-            {
-                // vibrato
-                if ((vb_multiplier[i]!=0) && ((channel_freq[i].hi & 0x20)==0x20))
-                {
-                    vibrato(i);
-                }
-
-                // mute factor slide
-                if (carrier_mf_signed_delta[i]!=0)
-                {
-                    mf_slide(i);
-                }
-            }
+          mf_slide (i);
         }
-
-        driver_active = false;
+      }
     }
 
-    return !songend;
+    driver_active = false;
+  }
+
+  return !songend;
 }
 
 
-void Cu6mPlayer::rewind(int subsong)
+void
+Cu6mPlayer::rewind (int subsong)
 {
-	played_ticks = 0;
-	songend = false;
-
-    // set the driver's internal variables
-    byte_pair freq_word = {0,0};
+  played_ticks = 0;
+  songend = false;
 
-    driver_active = false;
-    song_pos = 0;
-    loop_position = 0;   // position of the loop point
-    read_delay = 0;      // delay (in timer ticks) before further song data is read
- 
-    for (int i = 0; i < 9; i++)
-    {
-        // frequency
-        channel_freq_signed_delta[i] = 0;
-        channel_freq[i] = freq_word;  // Adlib freq settings for each channel
+  // set the driver's internal variables
+  byte_pair freq_word = { 0, 0 };
+
+  driver_active = false;
+  song_pos = 0;
+  loop_position = 0;            // position of the loop point
+  read_delay = 0;               // delay (in timer ticks) before further song data is read
 
-        // vibrato ("vb")
-        vb_current_value[i] = 0;
-        vb_double_amplitude[i] = 0;
-        vb_multiplier[i] = 0;
-        vb_direction_flag[i] = 0;
+  for (int i = 0; i < 9; i++)
+  {
+    // frequency
+    channel_freq_signed_delta[i] = 0;
+    channel_freq[i] = freq_word;    // Adlib freq settings for each channel
+
+    // vibrato ("vb")
+    vb_current_value[i] = 0;
+    vb_double_amplitude[i] = 0;
+    vb_multiplier[i] = 0;
+    vb_direction_flag[i] = 0;
 
-        // mute factor ("mf") == ~(volume)
-        carrier_mf[i] = 0;
-        carrier_mf_signed_delta[i] = 0;
-        carrier_mf_mod_delay_backup[i] = 0;
-        carrier_mf_mod_delay[i] = 0;
-    }
+    // mute factor ("mf") == ~(volume)
+    carrier_mf[i] = 0;
+    carrier_mf_signed_delta[i] = 0;
+    carrier_mf_mod_delay_backup[i] = 0;
+    carrier_mf_mod_delay[i] = 0;
+  }
 
-	while (!subsong_stack.empty())		// empty subsong stack
-		subsong_stack.pop();
+  while (!subsong_stack.empty ())   // empty subsong stack
+    subsong_stack.pop ();
 
-    opl->init();
-	out_adlib(1,32);	// go to OPL2 mode
+  opl->init ();
+  out_adlib (1, 32);            // go to OPL2 mode
 }
 
 
-float Cu6mPlayer::getrefresh()
+float
+Cu6mPlayer::getrefresh ()
 {
-    return ((float)60);   // the Ultima 6 music driver expects to be called at 60 Hz
+  return ((float) 60);          // the Ultima 6 music driver expects to be called at 60 Hz
 }
 
 
@@ -202,108 +212,110 @@
 
 
 // decompress from memory to memory
-bool Cu6mPlayer::lzw_decompress(Cu6mPlayer::data_block source, Cu6mPlayer::data_block dest)
+bool
+Cu6mPlayer::lzw_decompress (Cu6mPlayer::data_block source,
+                            Cu6mPlayer::data_block dest)
 {
-    bool end_marker_reached = false;
-    int codeword_size = 9;
-    long bits_read = 0;
-    int next_free_codeword = 0x102;
-    int dictionary_size = 0x200;
-    MyDict dictionary = MyDict();
-	std::stack<unsigned char> root_stack;
+  bool end_marker_reached = false;
+  int codeword_size = 9;
+  long bits_read = 0;
+  int next_free_codeword = 0x102;
+  int dictionary_size = 0x200;
+  MyDict dictionary = MyDict ();
+  std::stack < unsigned char >root_stack;
+
+  long bytes_written = 0;
+
+  int cW;
+  int pW;
+  unsigned char C;
 
-    long bytes_written = 0;
-
-    int cW;
-  int pW;
-    unsigned char C;
-
-    while (!end_marker_reached)
+  while (!end_marker_reached)
+  {
+    cW = get_next_codeword (bits_read, source.data, codeword_size);
+    switch (cW)
     {
-        cW = get_next_codeword(bits_read, source.data, codeword_size);
-        switch (cW)
+      // re-init the dictionary
+    case 0x100:
+      codeword_size = 9;
+      next_free_codeword = 0x102;
+      dictionary_size = 0x200;
+      dictionary.reset ();
+      cW = get_next_codeword (bits_read, source.data, codeword_size);
+      SAVE_OUTPUT_ROOT ((unsigned char) cW, dest, bytes_written);
+      break;
+      // end of compressed file has been reached
+    case 0x101:
+      end_marker_reached = true;
+      break;
+      // (cW <> 0x100) && (cW <> 0x101)
+    default:
+      if (cW < next_free_codeword)  // codeword is already in the dictionary
+      {
+        // create the string associated with cW (on the stack)
+        get_string (cW, dictionary, root_stack);
+        C = root_stack.top ();
+        // output the string represented by cW
+        while (!root_stack.empty ())
         {
-            // re-init the dictionary
-            case 0x100:
-                codeword_size = 9;
-                next_free_codeword = 0x102;
-                dictionary_size = 0x200;
-                dictionary.reset();
-                cW = get_next_codeword(bits_read, source.data, codeword_size);
-	  SAVE_OUTPUT_ROOT((unsigned char)cW, dest, bytes_written);
-                break;
-            // end of compressed file has been reached
-            case 0x101:
-                end_marker_reached = true;
-                break;
-            // (cW <> 0x100) && (cW <> 0x101)
-            default:
-                if (cW < next_free_codeword)  // codeword is already in the dictionary
-                {
-                    // create the string associated with cW (on the stack)
-                    get_string(cW,dictionary,root_stack);
-                    C = root_stack.top();
-                    // output the string represented by cW
-                    while (!root_stack.empty())
-                    {
-		  SAVE_OUTPUT_ROOT(root_stack.top(), dest, bytes_written);
-                        root_stack.pop();
-                    }
-                    // add pW+C to the dictionary
-                    dictionary.add(C,pW);
+          SAVE_OUTPUT_ROOT (root_stack.top (), dest, bytes_written);
+          root_stack.pop ();
+        }
+        // add pW+C to the dictionary
+        dictionary.add (C, pW);
 
-                    next_free_codeword++;
-                    if (next_free_codeword >= dictionary_size)
-                    {
-                        if (codeword_size < max_codeword_length)
-                        {
-                            codeword_size += 1;
-                            dictionary_size *= 2;
-                        }
-                    }
-                }
-                else  // codeword is not yet defined
-                {
-                    // create the string associated with pW (on the stack)
-                    get_string(pW,dictionary,root_stack);
-                    C = root_stack.top();
-                    // output the string represented by pW
-                    while (!root_stack.empty())
-                    {
-		  SAVE_OUTPUT_ROOT(root_stack.top(), dest, bytes_written);
-                        root_stack.pop();
-                    }
-                    // output the char C
-	      SAVE_OUTPUT_ROOT(C, dest, bytes_written);
+        next_free_codeword++;
+        if (next_free_codeword >= dictionary_size)
+        {
+          if (codeword_size < max_codeword_length)
+          {
+            codeword_size += 1;
+            dictionary_size *= 2;
+          }
+        }
+      }
+      else                      // codeword is not yet defined
+      {
+        // create the string associated with pW (on the stack)
+        get_string (pW, dictionary, root_stack);
+        C = root_stack.top ();
+        // output the string represented by pW
+        while (!root_stack.empty ())
+        {
+          SAVE_OUTPUT_ROOT (root_stack.top (), dest, bytes_written);
+          root_stack.pop ();
+        }
+        // output the char C
+        SAVE_OUTPUT_ROOT (C, dest, bytes_written);
 
-                    // the new dictionary entry must correspond to cW
-                    // if it doesn't, something is wrong with the lzw-compressed data.
-                    if (cW != next_free_codeword)
-                    {
-		  /*                        printf("cW != next_free_codeword!\n");
-                        exit(-1); */
-						return false;
-                    }
-                    // add pW+C to the dictionary
-                    dictionary.add(C,pW);
- 
-                    next_free_codeword++;
-                    if (next_free_codeword >= dictionary_size)
-                    {
-                        if (codeword_size < max_codeword_length)
-                        {
-                            codeword_size += 1;
-                            dictionary_size *= 2;
-                        }
-                    }
-                };
-                break;
+        // the new dictionary entry must correspond to cW
+        // if it doesn't, something is wrong with the lzw-compressed data.
+        if (cW != next_free_codeword)
+        {
+          /*                        printf("cW != next_free_codeword!\n");
+             exit(-1); */
+          return false;
         }
-        // shift roles - the current cW becomes the new pW
-        pW = cW;
+        // add pW+C to the dictionary
+        dictionary.add (C, pW);
+
+        next_free_codeword++;
+        if (next_free_codeword >= dictionary_size)
+        {
+          if (codeword_size < max_codeword_length)
+          {
+            codeword_size += 1;
+            dictionary_size *= 2;
+          }
+        }
+      };
+      break;
     }
+    // shift roles - the current cW becomes the new pW
+    pW = cW;
+  }
 
-	return(true);   // indicate successful decompression
+  return (true);                // indicate successful decompression
 }
 
 
@@ -313,66 +325,72 @@
 
 
 // Read the next code word from the source buffer
-int Cu6mPlayer::get_next_codeword (long& bits_read, unsigned char *source, int codeword_size)
+int
+Cu6mPlayer::get_next_codeword (long &bits_read, unsigned char *source,
+                               int codeword_size)
 {
-    unsigned char b0,b1,b2;
-    int codeword;
- 
-    b0 = source[bits_read/8];
-    b1 = source[bits_read/8+1];
-    b2 = source[bits_read/8+2];
+  unsigned char b0, b1, b2;
+  int codeword;
+
+  b0 = source[bits_read / 8];
+  b1 = source[bits_read / 8 + 1];
+  b2 = source[bits_read / 8 + 2];
 
-    codeword = ((b2 << 16) + (b1 << 8) + b0);
-    codeword = codeword >> (bits_read % 8);
-    switch (codeword_size)
-    {
-        case 0x9:
-           codeword = codeword & 0x1ff;
-            break;
-        case 0xa:
-            codeword = codeword & 0x3ff;
-            break;
-        case 0xb:
-            codeword = codeword & 0x7ff;
-            break;
-        case 0xc:
-            codeword = codeword & 0xfff;
-            break;
-        default:
-            codeword = -1;   // indicates that an error has occurred
-            break;
-    }
+  codeword = ((b2 << 16) + (b1 << 8) + b0);
+  codeword = codeword >> (bits_read % 8);
+  switch (codeword_size)
+  {
+  case 0x9:
+    codeword = codeword & 0x1ff;
+    break;
+  case 0xa:
+    codeword = codeword & 0x3ff;
+    break;
+  case 0xb:
+    codeword = codeword & 0x7ff;
+    break;
+  case 0xc:
+    codeword = codeword & 0xfff;
+    break;
+  default:
+    codeword = -1;              // indicates that an error has occurred
+    break;
+  }
 
-    bits_read += codeword_size;
-    return (codeword);
+  bits_read += codeword_size;
+  return (codeword);
 }
 
 
 // output a root to memory
-void Cu6mPlayer::output_root(unsigned char root, unsigned char *destination, long& position)
+void
+Cu6mPlayer::output_root (unsigned char root, unsigned char *destination,
+                         long &position)
 {
-    destination[position] = root;
-    position++;
+  destination[position] = root;
+  position++;
 }
 
 
 // output the string represented by a codeword
-void Cu6mPlayer::get_string(int codeword, Cu6mPlayer::MyDict& dictionary, std::stack<unsigned char>& root_stack)
+void
+Cu6mPlayer::get_string (int codeword, Cu6mPlayer::MyDict & dictionary,
+                        std::stack < unsigned char >&root_stack)
 {
-   unsigned char root;
-   int current_codeword;
+  unsigned char root;
+  int current_codeword;
 
-   current_codeword = codeword;
+  current_codeword = codeword;
 
-   while (current_codeword > 0xff)
-   {
-      root = dictionary.get_root(current_codeword);
-      current_codeword = dictionary.get_codeword(current_codeword);
-      root_stack.push(root);
-   }
+  while (current_codeword > 0xff)
+  {
+    root = dictionary.get_root (current_codeword);
+    current_codeword = dictionary.get_codeword (current_codeword);
+    root_stack.push (root);
+  }
 
-   // push the root at the leaf
-   root_stack.push((unsigned char)current_codeword);
+  // push the root at the leaf
+  root_stack.push ((unsigned char) current_codeword);
 }
 
 
@@ -386,47 +404,81 @@
 
 
 // This function reads the song data and executes the embedded commands.
-void Cu6mPlayer::command_loop()
+void
+Cu6mPlayer::command_loop ()
 {
-    unsigned char command_byte;   // current command byte
-    int command_nibble_hi;        // command byte, bits 4-7
-    int command_nibble_lo;        // command byte, bite 0-3
-    bool repeat_loop = true;      //
+  unsigned char command_byte;   // current command byte
+  int command_nibble_hi;        // command byte, bits 4-7
+  int command_nibble_lo;        // command byte, bite 0-3
+  bool repeat_loop = true;      //
 
-    do
+  do
+  {
+    // extract low and high command nibbles
+    command_byte = read_song_byte ();   // implicitly increments song_pos
+    command_nibble_hi = command_byte >> 4;
+    command_nibble_lo = command_byte & 0xf;
+
+    switch (command_nibble_hi)
     {
-        // extract low and high command nibbles
-        command_byte = read_song_byte();   // implicitly increments song_pos
-        command_nibble_hi = command_byte >> 4;
-        command_nibble_lo = command_byte & 0xf;
- 
-        switch (command_nibble_hi)
-        {
-            case 0x0: command_0(command_nibble_lo); break;
-            case 0x1: command_1(command_nibble_lo); break;
-            case 0x2: command_2(command_nibble_lo); break;
-            case 0x3: command_3(command_nibble_lo); break;
-            case 0x4: command_4(command_nibble_lo); break;
-            case 0x5: command_5(command_nibble_lo); break;
-            case 0x6: command_6(command_nibble_lo); break;
-            case 0x7: command_7(command_nibble_lo); break;
-            case 0x8:
-                switch (command_nibble_lo)
-                {
-                    case 1: command_81(); break;
-                    case 2: command_82(); repeat_loop = false; break;
-                    case 3: command_83(); break;
-                    case 5: command_85(); break;
-                    case 6: command_86(); break;
-                    default: break; // maybe generate an error?
-                }
-                break;
-            case 0xE: command_E(); break;
-            case 0xF: command_F(); break;
-            default: break; // maybe generate an error?
-        }
+    case 0x0:
+      command_0 (command_nibble_lo);
+      break;
+    case 0x1:
+      command_1 (command_nibble_lo);
+      break;
+    case 0x2:
+      command_2 (command_nibble_lo);
+      break;
+    case 0x3:
+      command_3 (command_nibble_lo);
+      break;
+    case 0x4:
+      command_4 (command_nibble_lo);
+      break;
+    case 0x5:
+      command_5 (command_nibble_lo);
+      break;
+    case 0x6:
+      command_6 (command_nibble_lo);
+      break;
+    case 0x7:
+      command_7 (command_nibble_lo);
+      break;
+    case 0x8:
+      switch (command_nibble_lo)
+      {
+      case 1:
+        command_81 ();
+        break;
+      case 2:
+        command_82 ();
+        repeat_loop = false;
+        break;
+      case 3:
+        command_83 ();
+        break;
+      case 5:
+        command_85 ();
+        break;
+      case 6:
+        command_86 ();
+        break;
+      default:
+        break;                  // maybe generate an error?
+      }
+      break;
+    case 0xE:
+      command_E ();
+      break;
+    case 0xF:
+      command_F ();
+      break;
+    default:
+      break;                    // maybe generate an error?
+    }
 
-    } while (repeat_loop);
+  } while (repeat_loop);
 }
 
 
@@ -439,14 +491,15 @@
 // Format: 0c nn
 // c = channel, nn = packed Adlib frequency
 // ----------------------------------------
-void Cu6mPlayer::command_0(int channel)
+void
+Cu6mPlayer::command_0 (int channel)
 {
-    unsigned char freq_byte;
-    byte_pair freq_word;
+  unsigned char freq_byte;
+  byte_pair freq_word;
 
-    freq_byte = read_song_byte();
-    freq_word = expand_freq_byte(freq_byte);
-    set_adlib_freq(channel,freq_word);
+  freq_byte = read_song_byte ();
+  freq_word = expand_freq_byte (freq_byte);
+  set_adlib_freq (channel, freq_word);
 }
 
 
@@ -455,20 +508,21 @@
 // Format: 1c nn
 // c = channel, nn = packed Adlib frequency
 // ---------------------------------------------------
-void Cu6mPlayer::command_1(int channel)
+void
+Cu6mPlayer::command_1 (int channel)
 {
-    unsigned char freq_byte;
-    byte_pair freq_word;
+  unsigned char freq_byte;
+  byte_pair freq_word;
 
-    vb_direction_flag[channel] = 0;
-    vb_current_value[channel] = 0;
- 
-    freq_byte = read_song_byte();
-    freq_word = expand_freq_byte(freq_byte);
-    set_adlib_freq(channel,freq_word);
+  vb_direction_flag[channel] = 0;
+  vb_current_value[channel] = 0;
 
-    freq_word.hi = freq_word.hi | 0x20; // note on
-    set_adlib_freq(channel,freq_word);
+  freq_byte = read_song_byte ();
+  freq_word = expand_freq_byte (freq_byte);
+  set_adlib_freq (channel, freq_word);
+
+  freq_word.hi = freq_word.hi | 0x20;   // note on
+  set_adlib_freq (channel, freq_word);
 }
 
 
@@ -477,15 +531,16 @@
 // Format: 2c nn
 // c = channel, nn = packed Adlib frequency
 // ----------------------------------------
-void Cu6mPlayer::command_2(int channel)
+void
+Cu6mPlayer::command_2 (int channel)
 {
-    unsigned char freq_byte;
-    byte_pair freq_word;
- 
-    freq_byte = read_song_byte();
-    freq_word = expand_freq_byte(freq_byte);
-    freq_word.hi = freq_word.hi | 0x20; // note on
-    set_adlib_freq(channel,freq_word);
+  unsigned char freq_byte;
+  byte_pair freq_word;
+
+  freq_byte = read_song_byte ();
+  freq_word = expand_freq_byte (freq_byte);
+  freq_word.hi = freq_word.hi | 0x20;   // note on
+  set_adlib_freq (channel, freq_word);
 }
 
 
@@ -494,13 +549,14 @@
 // Format: 3c nn
 // c = channel, nn = mute factor
 // --------------------------------------
-void Cu6mPlayer::command_3(int channel)
+void
+Cu6mPlayer::command_3 (int channel)
 {
-    unsigned char mf_byte;
+  unsigned char mf_byte;
 
-    carrier_mf_signed_delta[channel] = 0;
-    mf_byte = read_song_byte();
-    set_carrier_mf(channel,mf_byte);
+  carrier_mf_signed_delta[channel] = 0;
+  mf_byte = read_song_byte ();
+  set_carrier_mf (channel, mf_byte);
 }
 
 
@@ -509,12 +565,13 @@
 // Format: 4c nn
 // c = channel, nn = mute factor
 // ----------------------------------------
-void Cu6mPlayer::command_4(int channel)
+void
+Cu6mPlayer::command_4 (int channel)
 {
-    unsigned char mf_byte;
+  unsigned char mf_byte;
 
-    mf_byte = read_song_byte();
-    set_modulator_mf(channel,mf_byte);
+  mf_byte = read_song_byte ();
+  set_modulator_mf (channel, mf_byte);
 }
 
 
@@ -523,9 +580,10 @@
 // Format: 5c nn
 // c = channel, nn = signed channel pitch delta
 // --------------------------------------------
-void Cu6mPlayer::command_5(int channel)
+void
+Cu6mPlayer::command_5 (int channel)
 {
-    channel_freq_signed_delta[channel] = read_signed_song_byte();
+  channel_freq_signed_delta[channel] = read_signed_song_byte ();
 }
 
 
@@ -536,13 +594,14 @@
 // m = vibrato double amplitude
 // n = vibrato multiplier
 // --------------------------------------------
-void Cu6mPlayer::command_6(int channel)
+void
+Cu6mPlayer::command_6 (int channel)
 {
-    unsigned char vb_parameters;
+  unsigned char vb_parameters;
 
-    vb_parameters = read_song_byte();
-    vb_double_amplitude[channel] = vb_parameters >> 4; // high nibble
-    vb_multiplier[channel] = vb_parameters & 0xF; // low nibble
+  vb_parameters = read_song_byte ();
+  vb_double_amplitude[channel] = vb_parameters >> 4;    // high nibble
+  vb_multiplier[channel] = vb_parameters & 0xF; // low nibble
 }
 
 
@@ -551,20 +610,31 @@
 // Format: 7c nn
 // c = channel, nn = instrument number
 // ----------------------------------------
-void Cu6mPlayer::command_7(int channel)
+void
+Cu6mPlayer::command_7 (int channel)
 {
-    int instrument_offset = instrument_offsets[read_song_byte()];
-    out_adlib_opcell(channel, false, 0x20, *(song_data + instrument_offset+0));
-    out_adlib_opcell(channel, false, 0x40, *(song_data + instrument_offset+1));
-    out_adlib_opcell(channel, false, 0x60, *(song_data + instrument_offset+2));
-    out_adlib_opcell(channel, false, 0x80, *(song_data + instrument_offset+3));
-    out_adlib_opcell(channel, false, 0xE0, *(song_data + instrument_offset+4));
-    out_adlib_opcell(channel, true, 0x20, *(song_data + instrument_offset+5));
-    out_adlib_opcell(channel, true, 0x40, *(song_data + instrument_offset+6));
-    out_adlib_opcell(channel, true, 0x60, *(song_data + instrument_offset+7));
-    out_adlib_opcell(channel, true, 0x80, *(song_data + instrument_offset+8));
-    out_adlib_opcell(channel, true, 0xE0, *(song_data + instrument_offset+9));
-    out_adlib(0xC0+channel, *(song_data + instrument_offset+10));
+  int instrument_offset = instrument_offsets[read_song_byte ()];
+  out_adlib_opcell (channel, false, 0x20,
+                    *(song_data + instrument_offset + 0));
+  out_adlib_opcell (channel, false, 0x40,
+                    *(song_data + instrument_offset + 1));
+  out_adlib_opcell (channel, false, 0x60,
+                    *(song_data + instrument_offset + 2));
+  out_adlib_opcell (channel, false, 0x80,
+                    *(song_data + instrument_offset + 3));
+  out_adlib_opcell (channel, false, 0xE0,
+                    *(song_data + instrument_offset + 4));
+  out_adlib_opcell (channel, true, 0x20,
+                    *(song_data + instrument_offset + 5));
+  out_adlib_opcell (channel, true, 0x40,
+                    *(song_data + instrument_offset + 6));
+  out_adlib_opcell (channel, true, 0x60,
+                    *(song_data + instrument_offset + 7));
+  out_adlib_opcell (channel, true, 0x80,
+                    *(song_data + instrument_offset + 8));
+  out_adlib_opcell (channel, true, 0xE0,
+                    *(song_data + instrument_offset + 9));
+  out_adlib (0xC0 + channel, *(song_data + instrument_offset + 10));
 }
 
 
@@ -575,16 +645,18 @@
 // aa == subsong offset (low byte)
 // bb == subsong offset (high byte)
 // -------------------------------------------
-void Cu6mPlayer::command_81()
+void
+Cu6mPlayer::command_81 ()
 {
-    subsong_info new_ss_info;
- 
-    new_ss_info.subsong_repetitions = read_song_byte();
-    new_ss_info.subsong_start = read_song_byte(); new_ss_info.subsong_start += read_song_byte() << 8;
-    new_ss_info.continue_pos = song_pos;
+  subsong_info new_ss_info;
 
-    subsong_stack.push(new_ss_info);
-    song_pos = new_ss_info.subsong_start;
+  new_ss_info.subsong_repetitions = read_song_byte ();
+  new_ss_info.subsong_start = read_song_byte ();
+  new_ss_info.subsong_start += read_song_byte () << 8;
+  new_ss_info.continue_pos = song_pos;
+
+  subsong_stack.push (new_ss_info);
+  song_pos = new_ss_info.subsong_start;
 }
 
 
@@ -593,9 +665,10 @@
 // Format: 82 nn
 // nn == delay (in timer ticks) until further data will be read
 // ------------------------------------------------------------
-void Cu6mPlayer::command_82()
+void
+Cu6mPlayer::command_82 ()
 {
-    read_delay = read_song_byte();
+  read_delay = read_song_byte ();
 }
 
 
@@ -604,11 +677,12 @@
 // Format: 83 nn <11 bytes>
 // nn == instrument number
 // -----------------------------
-void Cu6mPlayer::command_83()
+void
+Cu6mPlayer::command_83 ()
 {
-    unsigned char instrument_number = read_song_byte();
-    instrument_offsets[instrument_number] = song_pos;
-    song_pos += 11;
+  unsigned char instrument_number = read_song_byte ();
+  instrument_offsets[instrument_number] = song_pos;
+  song_pos += 11;
 }
 
 
@@ -618,14 +692,15 @@
 // c == channel
 // n == slide delay
 // ----------------------------------------------
-void Cu6mPlayer::command_85()
+void
+Cu6mPlayer::command_85 ()
 {
-    unsigned char data_byte = read_song_byte();
-    int channel = data_byte >> 4; // high nibble
-    unsigned char slide_delay = data_byte & 0xF; // low nibble
-    carrier_mf_signed_delta[channel] = +1;
-    carrier_mf_mod_delay[channel] = slide_delay + 1;
-    carrier_mf_mod_delay_backup[channel] = slide_delay + 1;
+  unsigned char data_byte = read_song_byte ();
+  int channel = data_byte >> 4; // high nibble
+  unsigned char slide_delay = data_byte & 0xF;  // low nibble
+  carrier_mf_signed_delta[channel] = +1;
+  carrier_mf_mod_delay[channel] = slide_delay + 1;
+  carrier_mf_mod_delay_backup[channel] = slide_delay + 1;
 }
 
 
@@ -635,14 +710,15 @@
 // c == channel
 // n == slide speed
 // ------------------------------------------------
-void Cu6mPlayer::command_86()
+void
+Cu6mPlayer::command_86 ()
 {
-    unsigned char data_byte = read_song_byte();
-    int channel = data_byte >> 4; // high nibble
-    unsigned char slide_delay = data_byte & 0xF; // low nibble
-    carrier_mf_signed_delta[channel] = -1;
-    carrier_mf_mod_delay[channel] = slide_delay + 1;
-    carrier_mf_mod_delay_backup[channel] = slide_delay + 1;
+  unsigned char data_byte = read_song_byte ();
+  int channel = data_byte >> 4; // high nibble
+  unsigned char slide_delay = data_byte & 0xF;  // low nibble
+  carrier_mf_signed_delta[channel] = -1;
+  carrier_mf_mod_delay[channel] = slide_delay + 1;
+  carrier_mf_mod_delay_backup[channel] = slide_delay + 1;
 }
 
 
@@ -650,9 +726,10 @@
 // Set loop point
 // Format: E?
 // --------------
-void Cu6mPlayer::command_E()
+void
+Cu6mPlayer::command_E ()
 {
-    loop_position = song_pos;
+  loop_position = song_pos;
 }
 
 
@@ -660,28 +737,29 @@
 // Return from current subsong
 // Format: F?
 // ---------------------------
-void Cu6mPlayer::command_F()
+void
+Cu6mPlayer::command_F ()
 {
-    if (!subsong_stack.empty())
+  if (!subsong_stack.empty ())
+  {
+    subsong_info temp = subsong_stack.top ();
+    subsong_stack.pop ();
+    temp.subsong_repetitions--;
+    if (temp.subsong_repetitions == 0)
     {
-        subsong_info temp = subsong_stack.top();
-        subsong_stack.pop();
-        temp.subsong_repetitions--;
-        if (temp.subsong_repetitions==0)
-        {
-            song_pos = temp.continue_pos;
-        }
-        else
-        {
-            song_pos = temp.subsong_start;
-            subsong_stack.push(temp);
-        }
+      song_pos = temp.continue_pos;
     }
     else
     {
-        song_pos = loop_position;
-		songend = true;
+      song_pos = temp.subsong_start;
+      subsong_stack.push (temp);
     }
+  }
+  else
+  {
+    song_pos = loop_position;
+    songend = true;
+  }
 }
 
 
@@ -690,186 +768,234 @@
 // --------------------
 
 // This function decrements its argument, without allowing it to become negative.
-void Cu6mPlayer::dec_clip(int& param)
+void
+Cu6mPlayer::dec_clip (int &param)
 {
-    param--;
-    if (param < 0) { param = 0; }
+  param--;
+  if (param < 0)
+  {
+    param = 0;
+  }
 }
 
 
 // Returns the byte at the current song position.
 // Side effect: increments song_pos.
-unsigned char Cu6mPlayer::read_song_byte()
+unsigned char
+Cu6mPlayer::read_song_byte ()
 {
-    unsigned char song_byte;
-    song_byte = song_data[song_pos];
-    song_pos++;
-    return(song_byte);
+  unsigned char song_byte;
+  song_byte = song_data[song_pos];
+  song_pos++;
+  return (song_byte);
 }
 
 
 // Same as read_song_byte(), except that it returns a signed byte
-signed char Cu6mPlayer::read_signed_song_byte()
+signed char
+Cu6mPlayer::read_signed_song_byte ()
 {
-    unsigned char song_byte;
-    int signed_value;
-    song_byte = *(song_data + song_pos);
-    song_pos++;
-    if (song_byte <= 127)
-    {
-        signed_value = song_byte;
-    }
-    else
-    {
-        signed_value = (int)song_byte - 0x100;
-    }
-    return((signed char)signed_value);
+  unsigned char song_byte;
+  int signed_value;
+  song_byte = *(song_data + song_pos);
+  song_pos++;
+  if (song_byte <= 127)
+  {
+    signed_value = song_byte;
+  }
+  else
+  {
+    signed_value = (int) song_byte - 0x100;
+  }
+  return ((signed char) signed_value);
 }
 
 
-Cu6mPlayer::byte_pair Cu6mPlayer::expand_freq_byte(unsigned char freq_byte)
+Cu6mPlayer::byte_pair Cu6mPlayer::expand_freq_byte (unsigned char freq_byte)
 {
-    const byte_pair freq_table[24] =
-        {
-          {0x00,0x00}, {0x58,0x01}, {0x82,0x01}, {0xB0,0x01},
-          {0xCC,0x01}, {0x03,0x02}, {0x41,0x02}, {0x86,0x02},
-          {0x00,0x00}, {0x6A,0x01}, {0x96,0x01}, {0xC7,0x01},
-          {0xE4,0x01}, {0x1E,0x02}, {0x5F,0x02}, {0xA8,0x02},
-          {0x00,0x00}, {0x47,0x01}, {0x6E,0x01}, {0x9A,0x01},
-          {0xB5,0x01}, {0xE9,0x01}, {0x24,0x02}, {0x66,0x02}
-        };
+  const byte_pair
+    freq_table[24] = {
+    {0x00, 0x00}, {0x58, 0x01}, {0x82, 0x01}, {0xB0, 0x01},
+    {0xCC, 0x01}, {0x03, 0x02}, {0x41, 0x02}, {0x86, 0x02},
+    {0x00, 0x00}, {0x6A, 0x01}, {0x96, 0x01}, {0xC7, 0x01},
+    {0xE4, 0x01}, {0x1E, 0x02}, {0x5F, 0x02}, {0xA8, 0x02},
+    {0x00, 0x00}, {0x47, 0x01}, {0x6E, 0x01}, {0x9A, 0x01},
+    {0xB5, 0x01}, {0xE9, 0x01}, {0x24, 0x02}, {0x66, 0x02}
+  };
 
-    int packed_freq;
-    int octave;
-    byte_pair freq_word;
+  int
+    packed_freq;
+  int
+    octave;
+  byte_pair
+    freq_word;
 
-    packed_freq = freq_byte & 0x1F;
-    octave = freq_byte >> 5;
+  packed_freq = freq_byte & 0x1F;
+  octave = freq_byte >> 5;
 
-    // range check (not present in the original U6 music driver)
-    if (packed_freq >= 24) { packed_freq = 0; }
+  // range check (not present in the original U6 music driver)
+  if (packed_freq >= 24)
+  {
+    packed_freq = 0;
+  }
 
-    freq_word.hi = freq_table[packed_freq].hi + (octave << 2);
-    freq_word.lo = freq_table[packed_freq].lo;
+  freq_word.hi = freq_table[packed_freq].hi + (octave << 2);
+  freq_word.lo = freq_table[packed_freq].lo;
 
-    return(freq_word);
+  return (freq_word);
 }
 
 
-void Cu6mPlayer::set_adlib_freq(int channel,Cu6mPlayer::byte_pair freq_word)
+void
+Cu6mPlayer::set_adlib_freq (int channel, Cu6mPlayer::byte_pair freq_word)
 {
-    out_adlib(0xA0+channel,freq_word.lo);
-    out_adlib(0xB0+channel,freq_word.hi);
-    // update the Adlib register backups
-    channel_freq[channel] = freq_word;
+  out_adlib (0xA0 + channel, freq_word.lo);
+  out_adlib (0xB0 + channel, freq_word.hi);
+  // update the Adlib register backups
+  channel_freq[channel] = freq_word;
 }
 
 
 // this function sets the Adlib frequency, but does not update the register backups
-void Cu6mPlayer::set_adlib_freq_no_update(int channel,Cu6mPlayer::byte_pair freq_word)
+void
+Cu6mPlayer::set_adlib_freq_no_update (int channel,
+                                      Cu6mPlayer::byte_pair freq_word)
 {
-    out_adlib(0xA0+channel,freq_word.lo);
-    out_adlib(0xB0+channel,freq_word.hi);
+  out_adlib (0xA0 + channel, freq_word.lo);
+  out_adlib (0xB0 + channel, freq_word.hi);
 }
 
 
-void Cu6mPlayer::set_carrier_mf(int channel,unsigned char mute_factor)
+void
+Cu6mPlayer::set_carrier_mf (int channel, unsigned char mute_factor)
 {
-    out_adlib_opcell(channel,true,0x40,mute_factor);
-    carrier_mf[channel] = mute_factor;
+  out_adlib_opcell (channel, true, 0x40, mute_factor);
+  carrier_mf[channel] = mute_factor;
 }
 
 
-void Cu6mPlayer::set_modulator_mf(int channel,unsigned char mute_factor)
+void
+Cu6mPlayer::set_modulator_mf (int channel, unsigned char mute_factor)
 {
-    out_adlib_opcell(channel,false,0x40,mute_factor);
+  out_adlib_opcell (channel, false, 0x40, mute_factor);
 }
 
 
-void Cu6mPlayer::freq_slide(int channel)
+void
+Cu6mPlayer::freq_slide (int channel)
 {
-    byte_pair freq = channel_freq[channel];
+  byte_pair freq = channel_freq[channel];
 
-    long freq_word = freq.lo + (freq.hi << 8) + channel_freq_signed_delta[channel];
-    if (freq_word < 0) { freq_word += 0x10000; }
-    if (freq_word > 0xFFFF) { freq_word -= 0x10000; }
+  long freq_word =
+    freq.lo + (freq.hi << 8) + channel_freq_signed_delta[channel];
+  if (freq_word < 0)
+  {
+    freq_word += 0x10000;
+  }
+  if (freq_word > 0xFFFF)
+  {
+    freq_word -= 0x10000;
+  }
 
-    freq.lo = freq_word & 0xFF;
-    freq.hi = (freq_word >> 8) & 0xFF;
-    set_adlib_freq(channel,freq);
+  freq.lo = freq_word & 0xFF;
+  freq.hi = (freq_word >> 8) & 0xFF;
+  set_adlib_freq (channel, freq);
 }
 
 
-void Cu6mPlayer::vibrato(int channel)
+void
+Cu6mPlayer::vibrato (int channel)
 {
-    byte_pair freq;
+  byte_pair freq;
 
-    if (vb_current_value[channel] >= vb_double_amplitude[channel])
-    { vb_direction_flag[channel] = 1; }
-    else if (vb_current_value[channel] <= 0)
-    { vb_direction_flag[channel] = 0; }
+  if (vb_current_value[channel] >= vb_double_amplitude[channel])
+  {
+    vb_direction_flag[channel] = 1;
+  }
+  else if (vb_current_value[channel] <= 0)
+  {
+    vb_direction_flag[channel] = 0;
+  }
 
-    if (vb_direction_flag[channel]==0)
-    { vb_current_value[channel]++; }
-    else
-    { vb_current_value[channel]--; }
+  if (vb_direction_flag[channel] == 0)
+  {
+    vb_current_value[channel]++;
+  }
+  else
+  {
+    vb_current_value[channel]--;
+  }
 
-    long freq_word = channel_freq[channel].lo + (channel_freq[channel].hi << 8);
-    freq_word += (vb_current_value[channel] - (vb_double_amplitude[channel] >> 1))
-                 * vb_multiplier[channel];
-    if (freq_word < 0) { freq_word += 0x10000; }
-    if (freq_word > 0xFFFF) { freq_word -= 0x10000; }
+  long freq_word = channel_freq[channel].lo + (channel_freq[channel].hi << 8);
+  freq_word +=
+    (vb_current_value[channel] -
+     (vb_double_amplitude[channel] >> 1)) * vb_multiplier[channel];
+  if (freq_word < 0)
+  {
+    freq_word += 0x10000;
+  }
+  if (freq_word > 0xFFFF)
+  {
+    freq_word -= 0x10000;
+  }
 
-    freq.lo = freq_word & 0xFF;
-    freq.hi = (freq_word >> 8) & 0xFF;
-    set_adlib_freq_no_update(channel,freq);
+  freq.lo = freq_word & 0xFF;
+  freq.hi = (freq_word >> 8) & 0xFF;
+  set_adlib_freq_no_update (channel, freq);
 }
 
 
-void Cu6mPlayer::mf_slide(int channel)
+void
+Cu6mPlayer::mf_slide (int channel)
 {
-    carrier_mf_mod_delay[channel]--;
-    if (carrier_mf_mod_delay[channel]==0)
+  carrier_mf_mod_delay[channel]--;
+  if (carrier_mf_mod_delay[channel] == 0)
+  {
+    carrier_mf_mod_delay[channel] = carrier_mf_mod_delay_backup[channel];
+    int current_mf = carrier_mf[channel] + carrier_mf_signed_delta[channel];
+    if (current_mf > 0x3F)
     {
-        carrier_mf_mod_delay[channel] = carrier_mf_mod_delay_backup[channel];
-        int current_mf = carrier_mf[channel] + carrier_mf_signed_delta[channel];
-        if (current_mf > 0x3F)
-        {
-            current_mf = 0x3F;
-            carrier_mf_signed_delta[channel] = 0;
-        }
-        else if (current_mf < 0)
-            {
-                current_mf = 0;
-                carrier_mf_signed_delta[channel] = 0;
-            }
+      current_mf = 0x3F;
+      carrier_mf_signed_delta[channel] = 0;
+    }
+    else if (current_mf < 0)
+    {
+      current_mf = 0;
+      carrier_mf_signed_delta[channel] = 0;
+    }
 
-        set_carrier_mf(channel,(unsigned char)current_mf);
-    }
+    set_carrier_mf (channel, (unsigned char) current_mf);
+  }
 }
 
 
-void Cu6mPlayer::out_adlib(unsigned char adlib_register, unsigned char adlib_data)
+void
+Cu6mPlayer::out_adlib (unsigned char adlib_register, unsigned char adlib_data)
 {
-    opl->write(adlib_register,adlib_data);
+  opl->write (adlib_register, adlib_data);
 }
 
 
-void Cu6mPlayer::out_adlib_opcell(int channel, bool carrier, unsigned char adlib_register, unsigned char out_byte)
+void
+Cu6mPlayer::out_adlib_opcell (int channel, bool carrier,
+                              unsigned char adlib_register,
+                              unsigned char out_byte)
 {
-    const unsigned char adlib_channel_to_carrier_offset[9] =
-        {0x03,0x04,0x05,0x0B,0x0C,0x0D,0x13,0x14,0x15};
-    const unsigned char adlib_channel_to_modulator_offset[9] =
-        {0x00,0x01,0x02,0x08,0x09,0x0A,0x10,0x11,0x12};
+  const unsigned char adlib_channel_to_carrier_offset[9] =
+    { 0x03, 0x04, 0x05, 0x0B, 0x0C, 0x0D, 0x13, 0x14, 0x15 };
+  const unsigned char adlib_channel_to_modulator_offset[9] =
+    { 0x00, 0x01, 0x02, 0x08, 0x09, 0x0A, 0x10, 0x11, 0x12 };
 
-    if (carrier)
-    {
-        out_adlib(adlib_register+adlib_channel_to_carrier_offset[channel],out_byte);
-    }
-    else
-    {
-        out_adlib(adlib_register+adlib_channel_to_modulator_offset[channel],out_byte);
-    }
+  if (carrier)
+  {
+    out_adlib (adlib_register + adlib_channel_to_carrier_offset[channel],
+               out_byte);
+  }
+  else
+  {
+    out_adlib (adlib_register + adlib_channel_to_modulator_offset[channel],
+               out_byte);
+  }
 }
 
 
@@ -882,54 +1008,58 @@
 // ============================================================================================
 
 
-Cu6mPlayer::MyDict::MyDict()
+Cu6mPlayer::MyDict::MyDict ()
 {
-    dict_size = default_dict_size;
-    dictionary = new dict_entry[dict_size-0x100]; // don't allocate space for the roots
-    contains = 0x102;
+  dict_size = default_dict_size;
+  dictionary = new dict_entry[dict_size - 0x100];   // don't allocate space for the roots
+  contains = 0x102;
 }
 
 
-Cu6mPlayer::MyDict::MyDict(int max_size)
+Cu6mPlayer::MyDict::MyDict (int max_size)
 {
-    dict_size = max_size;
-    dictionary = new dict_entry[dict_size-0x100]; // don't allocate space for the roots
-    contains = 0x102;
+  dict_size = max_size;
+  dictionary = new dict_entry[dict_size - 0x100];   // don't allocate space for the roots
+  contains = 0x102;
 }
 
 
-Cu6mPlayer::MyDict::~MyDict()
+Cu6mPlayer::MyDict::~MyDict ()
 {
-  delete [] dictionary; dictionary = 0;
+  delete[]dictionary;
+  dictionary = 0;
 }
 
 // re-initializes the dictionary
-void Cu6mPlayer::MyDict::reset()
+void
+Cu6mPlayer::MyDict::reset ()
 {
-    contains = 0x102;
+  contains = 0x102;
 }
 
 
 // Note: If the dictionary is already full, this function does nothing.
-void Cu6mPlayer::MyDict::add(unsigned char root, int codeword)
+void
+Cu6mPlayer::MyDict::add (unsigned char root, int codeword)
 {
-    if (contains < dict_size)
-    {
-        dictionary[contains-0x100].root = root;
-        dictionary[contains-0x100].codeword = codeword;
-        contains++;
-    }
+  if (contains < dict_size)
+  {
+    dictionary[contains - 0x100].root = root;
+    dictionary[contains - 0x100].codeword = codeword;
+    contains++;
+  }
 }
 
 
-unsigned char Cu6mPlayer::MyDict::get_root(int codeword)
+unsigned char
+Cu6mPlayer::MyDict::get_root (int codeword)
 {
-    return (dictionary[codeword-0x100].root);
+  return (dictionary[codeword - 0x100].root);
 }
 
 
-int Cu6mPlayer::MyDict::get_codeword(int codeword)
+int
+Cu6mPlayer::MyDict::get_codeword (int codeword)
 {
-    return (dictionary[codeword-0x100].codeword);
+  return (dictionary[codeword - 0x100].codeword);
 }
-
--- a/src/adplug/core/xad.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/xad.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -24,51 +24,63 @@
 
 /* -------- Public Methods -------------------------------- */
 
-CxadPlayer::CxadPlayer(Copl * newopl) : CPlayer(newopl)
+CxadPlayer::CxadPlayer (Copl * newopl):CPlayer (newopl)
 {
   tune = 0;
 }
 
-CxadPlayer::~CxadPlayer()
+CxadPlayer::~CxadPlayer ()
 {
-  if (tune) { delete [] tune; tune = 0; }
+  if (tune)
+  {
+    delete[]tune;
+    tune = 0;
+  }
 }
 
-bool CxadPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CxadPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
   bool ret = false;
 
   // load header
-  xad.id = f->readInt(4);
-  f->readString(xad.title, 36);
-  f->readString(xad.author, 36);
-  xad.fmt = f->readInt(2);
-  xad.speed = f->readInt(1);
-  xad.reserved_a = f->readInt(1);
+  xad.id = f->readInt (4);
+  f->readString (xad.title, 36);
+  f->readString (xad.author, 36);
+  xad.fmt = f->readInt (2);
+  xad.speed = f->readInt (1);
+  xad.reserved_a = f->readInt (1);
 
   // 'XAD!' - signed ?
-  if(xad.id != 0x21444158) { fp.close(f); return false; }
+  if (xad.id != 0x21444158)
+  {
+    fp.close (f);
+    return false;
+  }
 
   // get file size
-  tune_size = fp.filesize(f) - 80;
+  tune_size = fp.filesize (f) - 80;
 
   // load()
-  tune = new unsigned char [tune_size];
-  f->readString((char *)tune, tune_size);
-  fp.close(f);
+  tune = new unsigned char[tune_size];
+  f->readString ((char *) tune, tune_size);
+  fp.close (f);
 
-  ret = xadplayer_load();
+  ret = xadplayer_load ();
 
   if (ret)
-    rewind(0);
+    rewind (0);
 
   return ret;
 }
 
-void CxadPlayer::rewind(int subsong)
+void
+CxadPlayer::rewind (int subsong)
 {
-  opl->init();
+  opl->init ();
 
   plr.speed = xad.speed;
   plr.speed_counter = 1;
@@ -76,14 +88,15 @@
   plr.looping = 0;
 
   // rewind()
-  xadplayer_rewind(subsong);
+  xadplayer_rewind (subsong);
 
 #ifdef DEBUG
-  AdPlug_LogWrite("-----------\n");
+  AdPlug_LogWrite ("-----------\n");
 #endif
 }
 
-bool CxadPlayer::update()
+bool
+CxadPlayer::update ()
 {
   if (--plr.speed_counter)
     goto update_end;
@@ -91,49 +104,52 @@
   plr.speed_counter = plr.speed;
 
   // update()
-  xadplayer_update();
+  xadplayer_update ();
 
 update_end:
   return (plr.playing && (!plr.looping));
 }
 
-float CxadPlayer::getrefresh()
+float
+CxadPlayer::getrefresh ()
 {
-  return xadplayer_getrefresh();
+  return xadplayer_getrefresh ();
 }
 
-std::string CxadPlayer::gettype()
+std::string CxadPlayer::gettype ()
 {
-  return xadplayer_gettype();
+  return xadplayer_gettype ();
 }
 
-std::string CxadPlayer::gettitle()
+std::string CxadPlayer::gettitle ()
 {
-  return xadplayer_gettitle();
+  return xadplayer_gettitle ();
+}
+
+std::string CxadPlayer::getauthor ()
+{
+  return xadplayer_getauthor ();
 }
 
-std::string CxadPlayer::getauthor()
+std::string CxadPlayer::getinstrument (unsigned int i)
 {
-  return xadplayer_getauthor();
+  return xadplayer_getinstrument (i);
 }
 
-std::string CxadPlayer::getinstrument(unsigned int i)
+unsigned int
+CxadPlayer::getinstruments ()
 {
-  return xadplayer_getinstrument(i);
-}
-
-unsigned int CxadPlayer::getinstruments()
-{
-  return xadplayer_getinstruments();
+  return xadplayer_getinstruments ();
 }
 
 /* -------- Protected Methods ------------------------------- */
 
-void CxadPlayer::opl_write(int reg, int val)
+void
+CxadPlayer::opl_write (int reg, int val)
 {
   adlib[reg] = val;
 #ifdef DEBUG
-  AdPlug_LogWrite("[ %02X ] = %02X\n",reg,val);
+  AdPlug_LogWrite ("[ %02X ] = %02X\n", reg, val);
 #endif
-  opl->write(reg,val);
+  opl->write (reg, val);
 }
--- a/src/adplug/core/xsm.cxx	Sat Apr 14 08:48:41 2007 -0700
+++ b/src/adplug/core/xsm.cxx	Sat Apr 14 15:23:50 2007 -0700
@@ -23,72 +23,87 @@
 
 #include "xsm.h"
 
-CxsmPlayer::CxsmPlayer(Copl *newopl)
-  : CPlayer(newopl), music(0)
+CxsmPlayer::CxsmPlayer (Copl * newopl):CPlayer (newopl), music (0)
 {
 }
 
-CxsmPlayer::~CxsmPlayer()
+CxsmPlayer::~CxsmPlayer ()
 {
-  if(music) { delete [] music; music = 0; }
+  if (music)
+  {
+    delete[]music;
+    music = 0;
+  }
 }
 
-bool CxsmPlayer::load(VFSFile *fd, const CFileProvider &fp)
+bool
+CxsmPlayer::load (VFSFile * fd, const CFileProvider & fp)
 {
-  binistream *f = fp.open(fd); if(!f) return false;
-  char			id[6];
-  int			i, j;
+  binistream *f = fp.open (fd);
+  if (!f)
+    return false;
+  char id[6];
+  int i, j;
 
   // check if header matches
-  f->readString(id, 6); songlen = f->readInt(2);
-  if(strncmp(id, "ofTAZ!", 6) || songlen > 3200) { fp.close(f); return false; }
+  f->readString (id, 6);
+  songlen = f->readInt (2);
+  if (strncmp (id, "ofTAZ!", 6) || songlen > 3200)
+  {
+    fp.close (f);
+    return false;
+  }
 
   // read and set instruments
-  for(i = 0; i < 9; i++) {
-    opl->write(0x20 + op_table[i], f->readInt(1));
-    opl->write(0x23 + op_table[i], f->readInt(1));
-    opl->write(0x40 + op_table[i], f->readInt(1));
-    opl->write(0x43 + op_table[i], f->readInt(1));
-    opl->write(0x60 + op_table[i], f->readInt(1));
-    opl->write(0x63 + op_table[i], f->readInt(1));
-    opl->write(0x80 + op_table[i], f->readInt(1));
-    opl->write(0x83 + op_table[i], f->readInt(1));
-    opl->write(0xe0 + op_table[i], f->readInt(1));
-    opl->write(0xe3 + op_table[i], f->readInt(1));
-    opl->write(0xc0 + op_table[i], f->readInt(1));
-    f->ignore(5);
+  for (i = 0; i < 9; i++)
+  {
+    opl->write (0x20 + op_table[i], f->readInt (1));
+    opl->write (0x23 + op_table[i], f->readInt (1));
+    opl->write (0x40 + op_table[i], f->readInt (1));
+    opl->write (0x43 + op_table[i], f->readInt (1));
+    opl->write (0x60 + op_table[i], f->readInt (1));
+    opl->write (0x63 + op_table[i], f->readInt (1));
+    opl->write (0x80 + op_table[i], f->readInt (1));
+    opl->write (0x83 + op_table[i], f->readInt (1));
+    opl->write (0xe0 + op_table[i], f->readInt (1));
+    opl->write (0xe3 + op_table[i], f->readInt (1));
+    opl->write (0xc0 + op_table[i], f->readInt (1));
+    f->ignore (5);
   }
 
   // read song data
-  music = new char [songlen * 9];
-  for(i = 0; i < 9; i++)
-    for(j = 0; j < songlen; j++)
-      music[j * 9 + i] = f->readInt(1);
+  music = new char[songlen * 9];
+  for (i = 0; i < 9; i++)
+    for (j = 0; j < songlen; j++)
+      music[j * 9 + i] = f->readInt (1);
 
   // success
-  fp.close(f);
-  rewind(0);
+  fp.close (f);
+  rewind (0);
   return true;
 }
 
-bool CxsmPlayer::update()
+bool
+CxsmPlayer::update ()
 {
   int c;
 
-  if(notenum >= songlen) {
+  if (notenum >= songlen)
+  {
     songend = true;
     notenum = last = 0;
   }
 
-  for(c = 0; c < 9; c++)
-    if(music[notenum * 9 + c] != music[last * 9 + c])
-      opl->write(0xb0 + c, 0);
+  for (c = 0; c < 9; c++)
+    if (music[notenum * 9 + c] != music[last * 9 + c])
+      opl->write (0xb0 + c, 0);
 
-  for(c = 0; c < 9; c++) {
-    if(music[notenum * 9 + c])
-      play_note(c, music[notenum * 9 + c] % 12, music[notenum * 9 + c] / 12);
+  for (c = 0; c < 9; c++)
+  {
+    if (music[notenum * 9 + c])
+      play_note (c, music[notenum * 9 + c] % 12, music[notenum * 9 + c] / 12);
     else
-      play_note(c, 0, 0);
+      play_note (c, 0, 0);
   }
 
   last = notenum;
@@ -96,22 +111,26 @@
   return !songend;
 }
 
-void CxsmPlayer::rewind(int subsong)
+void
+CxsmPlayer::rewind (int subsong)
 {
   notenum = last = 0;
   songend = false;
 }
 
-float CxsmPlayer::getrefresh()
+float
+CxsmPlayer::getrefresh ()
 {
   return 5.0f;
 }
 
-void CxsmPlayer::play_note(int c, int note, int octv)
+void
+CxsmPlayer::play_note (int c, int note, int octv)
 {
   int freq = note_table[note];
 
-  if(!note && !octv) freq = 0;
-  opl->write(0xa0 + c, freq & 0xff);
-  opl->write(0xb0 + c, (freq / 0xff) | 32 | (octv * 4));
+  if (!note && !octv)
+    freq = 0;
+  opl->write (0xa0 + c, freq & 0xff);
+  opl->write (0xb0 + c, (freq / 0xff) | 32 | (octv * 4));
 }