Update of /cvsroot/audacity/audacity-src/src
In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv25302/src

Modified Files:
        AColor.cpp AColor.h Audacity.h AudacityApp.cpp 
        AudacityHeaders.h AudioIO.h Experimental.h FileNames.h 
        MacroMagic.h Menus.cpp Menus.h Project.cpp Project.h 
        SampleFormat.cpp SampleFormat.h Shuttle.cpp Theme.cpp Theme.h 
        Track.h TrackArtist.h TrackPanel.h UndoManager.h WaveClip.h 
        WaveTrack.h WrappedType.cpp WrappedType.h 
Added Files:
        LoadModules.cpp LoadModules.h 
Log Message:
-Added plug in capability for mod-script-pipe

Index: Audacity.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Audacity.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- Audacity.h  12 Mar 2007 00:02:23 -0000      1.37
+++ Audacity.h  18 Jun 2007 16:10:53 -0000      1.38
@@ -71,6 +71,17 @@
 #include "configwin.h"
 #endif
 
+#ifdef BUILDING_AUDACITY
+#define AUDACITY_DLL_API _declspec(dllexport)
+#else
+#ifdef _DLL
+#define AUDACITY_DLL_API _declspec(dllimport)
+#else
+#define AUDACITY_DLL_API
+#endif
+#endif
+
+
 // For compilers that support precompilation, includes "wx/wx.h".
 // Mainly for MSVC developers.
 //

Index: AudioIO.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/AudioIO.h,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -d -r1.49 -r1.50
--- AudioIO.h   23 May 2007 06:37:56 -0000      1.49
+++ AudioIO.h   18 Jun 2007 16:10:54 -0000      1.50
@@ -42,7 +42,7 @@
 void DeinitAudioIO();
 wxString DeviceName(const PaDeviceInfo* info);
 
-class AudioIOListener {
+class AUDACITY_DLL_API AudioIOListener {
 public:
    AudioIOListener() {}
    virtual ~AudioIOListener() {}

Index: AudacityHeaders.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/AudacityHeaders.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- AudacityHeaders.h   16 Sep 2006 05:54:35 -0000      1.5
+++ AudacityHeaders.h   18 Jun 2007 16:10:54 -0000      1.6
@@ -40,7 +40,6 @@
 #include <wx/mac/private.h>
 #endif
 
-
 #include "AColor.h"
 #include "AudacityApp.h"
 #include "AudioIO.h"

Index: UndoManager.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/UndoManager.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- UndoManager.h       2 Oct 2003 02:34:12 -0000       1.6
+++ UndoManager.h       18 Jun 2007 16:10:54 -0000      1.7
@@ -64,7 +64,7 @@
 
 WX_DEFINE_ARRAY(UndoStackElem *, UndoStack);
 
-class UndoManager {
+class AUDACITY_DLL_API UndoManager {
  public:
    UndoManager();
    ~UndoManager();

Index: AudacityApp.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/AudacityApp.cpp,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -d -r1.174 -r1.175
--- AudacityApp.cpp     27 May 2007 23:10:50 -0000      1.174
+++ AudacityApp.cpp     18 Jun 2007 16:10:53 -0000      1.175
@@ -72,6 +72,10 @@
 #include "FileNames.h"
 #include "AutoRecovery.h"
 
+#ifdef EXPERIMENTAL_MODULES
+#include "LoadModules.h"
+#endif
+
 #include "import/Import.h"
 #ifdef USE_QUICKTIME
 #include "import/ImportQT.h"
@@ -612,6 +616,14 @@
    wxFrame *temporarywindow = new wxFrame(NULL, -1, wxT("temporarytopwindow"));
    SetTopWindow(temporarywindow);
 
+#ifdef EXPERIMENTAL_MODULES
+#ifdef __WXMSW__
+#ifdef WXUSINGDLL
+   LoadModules();
+#endif
+#endif
+#endif
+
    // Locale
    // wxWindows 2.3 has a much nicer wxLocale API.  We can make this code much
    // better once we move to wx 2.3/2.4.
@@ -701,17 +713,20 @@
 
    AudacityProject *project = CreateNewAudacityProject(gParentWindow);
 
-#ifdef EXPERIMENTAL_TRACK_PANEL_FROM_THE_START
-   // Parasite Track Panel.
-   // Takes over the display...
-   wxWindow * pWnd = new TrackPanel2(NULL) ;
-   SetTopWindow(pWnd);
-   pWnd->Show( true );
+#ifdef EXPERIMENTAL_MODULES
    project->Show( false );
-#else
-   SetTopWindow(project);
-#endif
-
+   wxWindow * pWnd = MakeHijackPanel() ;
+   if( pWnd )
+   {
+      SetTopWindow(pWnd);
+      pWnd->Show( true );
+   }
+   else
+#endif   
+   {
+      SetTopWindow(project);
+      project->Show( true );
+   }
 
    delete temporarywindow;
 

Index: Track.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Track.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- Track.h     8 Apr 2007 09:11:25 -0000       1.37
+++ Track.h     18 Jun 2007 16:10:54 -0000      1.38
@@ -28,7 +28,7 @@
 #endif
 WX_DEFINE_ARRAY(WaveTrack*, WaveTrackArray);
 
-class Track: public XMLTagHandler {
+class AUDACITY_DLL_API Track: public XMLTagHandler {
 
  // To be TrackDisplay
  protected:
@@ -159,7 +159,7 @@
 
 class TrackList;
 
-class TrackListIterator {
+class AUDACITY_DLL_API TrackListIterator {
  public:
   TrackListIterator(TrackList * val = NULL);
   
@@ -175,7 +175,7 @@
   TrackListNode *cur;
 };
 
-class TrackList {
+class AUDACITY_DLL_API TrackList {
  public:
   // Create an empty TrackList
   TrackList();
@@ -250,7 +250,7 @@
   TrackListNode *tail;
 };
 
-class ConstTrackListIterator {
+class AUDACITY_DLL_API ConstTrackListIterator {
  public:
     ConstTrackListIterator(const TrackList * val) : l(val), cur(NULL) {}
 
@@ -282,7 +282,7 @@
 class TimeTrack;
 class DirManager;
 
-class TrackFactory
+class AUDACITY_DLL_API TrackFactory
 {
  private:
    TrackFactory(DirManager *dirManager):

--- NEW FILE: LoadModules.h ---
/**********************************************************************

  Audacity: A Digital Audio Editor

  LoadModules.h

  Dominic Mazzoni
  James Crook

**********************************************************************/

void LoadModules();
wxWindow *  MakeHijackPanel();

// Indentation settings for Vim and Emacs and unique identifier for Arch, a
// version control system. Please do not modify past this point.
//
// Local Variables:
// c-basic-offset: 3
// indent-tabs-mode: nil
// End:
//
// vim: et sts=3 sw=3


Index: MacroMagic.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/MacroMagic.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- MacroMagic.h        5 Mar 2007 05:08:09 -0000       1.4
+++ MacroMagic.h        18 Jun 2007 16:10:54 -0000      1.5
@@ -41,28 +41,28 @@
 
 #ifdef THEME_INITS
 #define DEFINE_IMAGE( name, initialiser, textual_name ) \
-   RegisterImage( name, initialiser, textual_name );
+   theTheme.RegisterImage( name, initialiser, textual_name );
 #define DEFINE_COLOUR( name, initialiser, textual_name )\
-   RegisterColour( name, initialiser, textual_name );
+   theTheme.RegisterColour( name, initialiser, textual_name );
 #define DEFINE_FONT( name, initialiser, textual_name )  \
-   RegisterFont( name, initialiser, textual_name );
-#define SET_THEME_FLAGS( flags ) mFlow.mFlags = flags;
+   theTheme.RegisterFont( name, initialiser, textual_name );
+#define SET_THEME_FLAGS( flags ) theTheme.SetFlags(  flags );
 #undef THEME_DECLARATIONS
 #undef THEME_EXTERNS
 #endif
 
 #ifdef THEME_DECLARATIONS
-#define DEFINE_IMAGE( name, initialiser, textual_name )  teBmps name=-1;
-#define DEFINE_COLOUR( name, initialiser, textual_name )  int name=-1;
-#define DEFINE_FONT( name, initialiser, textual_name )  int name=-1;
+#define DEFINE_IMAGE( name, initialiser, textual_name )  AUDACITY_DLL_API 
teBmps name=-1;
+#define DEFINE_COLOUR( name, initialiser, textual_name ) AUDACITY_DLL_API int 
name=-1;
+#define DEFINE_FONT( name, initialiser, textual_name )  AUDACITY_DLL_API int 
name=-1;
 #define SET_THEME_FLAGS( flags )
 #undef THEME_INITS
 #undef THEME_EXTERNS
 #endif
 
 #ifdef THEME_EXTERNS
-#define DEFINE_IMAGE( name, initialiser, textual_name )  extern teBmps name;
-#define DEFINE_COLOUR( name, initialiser, textual_name ) extern int name;
-#define DEFINE_FONT( name, initialiser, textual_name ) extern int name;
+#define DEFINE_IMAGE( name, initialiser, textual_name )  extern 
AUDACITY_DLL_API teBmps name;
+#define DEFINE_COLOUR( name, initialiser, textual_name ) extern 
AUDACITY_DLL_API int name;
+#define DEFINE_FONT( name, initialiser, textual_name ) extern AUDACITY_DLL_API 
int name;
 #define SET_THEME_FLAGS( flags )
 #endif

Index: AColor.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/AColor.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- AColor.h    5 Mar 2007 05:08:09 -0000       1.11
+++ AColor.h    18 Jun 2007 16:10:53 -0000      1.12
@@ -23,6 +23,7 @@
 class AColor {
  public:
    static void Init();
+   static void ReInit();
 
    static void DrawFocus(wxDC & dc, wxRect & r);
    static void Bevel(wxDC & dc, bool up, wxRect & r);

--- NEW FILE: LoadModules.cpp ---
/**********************************************************************

  Audacity: A Digital Audio Editor

  LoadModules.cpp

  Dominic Mazzoni
  James Crook


*******************************************************************//*!

\file LoadModules.cpp
\brief Based on LoadLadspa, this code loads pluggable Audacity 
extension modules.  It also has the code to (a) invoke a script
server and (b) invoke a function returning a replacement window,
i.e. an alternative to the usual interface, for Audacity.

*//*******************************************************************/

#include <wx/dynlib.h>
#include <wx/list.h>
#include <wx/log.h>
#include <wx/string.h>

#include "Audacity.h"
#include "AudacityApp.h"
#include "Internat.h"
#include "BatchCommands.h"
#include "../lib-src/lib-widget-extra/NonGuiThread.h"

#define initFnName      "ExtensionModuleInit"
#define scriptFnName    "RegScriptServerFunc"
#define mainPanelFnName "MainPanelFunc"

typedef _declspec( dllimport) int (*tModuleInit)(int);
typedef _declspec( dllimport) wxWindow * (*tPanelFn)(int);

// This variable will hold the address of a subroutine in 
// a DLL that can hijack the normal panel.
tPanelFn pPanelHijack=NULL;

// Next two commented out lines are handy when investigating
// strange DLL behaviour.  Instead of dynamic linking,
// link the library which has the replacement panel statically.
// Give the address of the routine here.
// This is a great help in identifying missing 
// symbols which otherwise cause a dll to unload after loading
// without an explanation as to why!
//extern wxWindow * MainPanelFunc( int i );
//tPanelFn pPanelHijack=&MainPanelFunc;

/// IF pPanelHijack has been found in a module DLL
/// THEN when this function is called we'll go and
/// create that window instead of the normal one.
wxWindow * MakeHijackPanel()
{
   if( pPanelHijack == NULL )
      return NULL;
   return pPanelHijack(0);
}

//------- Start of stuff related to invoking a batch command ----
// Our DLL may call commands back in Audacity.
// It will do that through the ExecCommand function.
extern "C" {

typedef __declspec( dllexport) int (*tpExecScriptServerFunc)( wxString * pOut, 
wxString * pIn);
typedef __declspec( dllimport) int 
(*tpRegScriptServerFunc)(tpExecScriptServerFunc pFn);

// This is the function which actually obeys one command.
__declspec( dllexport) int ExecCommand( wxString * pOut, wxString * pIn )
{
   // Create a Batch that will have just one command in it...
   BatchCommands Batch;
   bool rc;

   // Find the command name terminator...ingore line if not found
   int splitAt = pIn->Find(wxT(':'));
   if (splitAt < 0) {
      *pOut= wxT("BAD - Missing ':'?");
      return false;
   }

   // Parse and clean
   wxString cmd = pIn->Left(splitAt).Strip(wxString::both);
   wxString parm = pIn->Mid(splitAt + 1).Strip(wxString::trailing);

   rc = Batch.ApplyCommand( cmd, parm );
   if( rc )
   {
      *pOut = wxT("OK");
      return rc;
   }
   *pOut = wxT("FAILED to Execute");
   return rc;
}
}

// This variable will hold the address of a subroutine in
// a DLL that starts a thread and reads script commands.
tpRegScriptServerFunc scriptFn = NULL;

// We pass the ExecFunction to any scripting DLL that needs it
// right here.
void RegisterAndRun(  )
{
   wxASSERT( scriptFn != NULL );
   while( true )
      scriptFn(&ExecCommand);
}

//------- End of stuff related to invoking a batch command ----

void LoadModule(wxString fname)
{
   wxLogDebug("About to load %s", fname );
   wxLogNull logNo;
   tModuleInit mainFn = NULL;

   // As a courtesy to some modules that might be bridges to
   // open other modules, we set the current working
   // directory to be the module's directory.

   wxString saveOldCWD = ::wxGetCwd();
   wxString prefix = ::wxPathOnly(fname);
   ::wxSetWorkingDirectory(prefix);

   wxDynamicLibrary* pDLL = new wxDynamicLibrary();
   if (pDLL && pDLL->Load(fname, wxDL_LAZY)) 
   {
      int result =1;
      mainFn   = (tModuleInit)(pDLL->GetSymbol(wxT(initFnName)));

      if (mainFn) 
         result = mainFn( 0 );

      if(( scriptFn == NULL ) &&(result>=0 ))
         scriptFn = (tpRegScriptServerFunc)(pDLL->GetSymbol(wxT(scriptFnName)));

      if((pPanelHijack==NULL ) && (result>=0))
         pPanelHijack = (tPanelFn)(pDLL->GetSymbol(wxT(mainPanelFnName)));
   }

   ::wxSetWorkingDirectory(saveOldCWD);
}

void LoadModules()
{
   wxArrayString audacityPathList = wxGetApp().audacityPathList;
   wxArrayString pathList;
   wxArrayString files;
   wxString pathVar;
   unsigned int i;

#if 0
   // Code from LoadLadspa that might be useful in load modules.
   pathVar = wxGetenv(wxT("AUDACITY_MODULES_PATH"));
   if (pathVar != wxT(""))
      wxGetApp().AddMultiPathsToPathList(pathVar, pathList);

   #ifdef __WXGTK__
   wxGetApp().AddUniquePathToPathList(INSTALL_PREFIX wxT("/modules"), pathList);
   wxGetApp().AddUniquePathToPathList(wxT("/usr/local/lib/modules"), pathList);
   wxGetApp().AddUniquePathToPathList(wxT("/usr/lib/modules"), pathList);
   #endif
#endif

   for(i=0; i<audacityPathList.GetCount(); i++) {
      wxString prefix = audacityPathList[i] + wxFILE_SEP_PATH;
      wxGetApp().AddUniquePathToPathList(prefix + wxT("modules"),
                                         pathList);
   }

   #ifdef __WXMSW__
   wxGetApp().FindFilesInPathList(wxT("*.dll"), pathList, wxFILE, files);   
   #else
   wxGetApp().FindFilesInPathList(wxT("*.so"), pathList, wxFILE, files);
   #endif

   for(i=0; i<files.GetCount(); i++)
      LoadModule(files[i]);
   // After loading all the modules, we may have a registered scripting 
function.
   if( scriptFn )
   {
      NonGuiThread::StartChild( &RegisterAndRun );
   }
}

// Indentation settings for Vim and Emacs and unique identifier for Arch, a
// version control system. Please do not modify past this point.
//
// Local Variables:
// c-basic-offset: 3
// indent-tabs-mode: nil
// End:
//
// vim: et sts=3 sw=3



Index: Theme.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Theme.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- Theme.h     11 Jul 2006 08:14:13 -0000      1.12
+++ Theme.h     18 Jun 2007 16:10:54 -0000      1.13
@@ -45,11 +45,15 @@
    resFlagInternal = 0x08  // For image manipulation.  Don't save or load.
 };
 
+//WX_DECLARE_EXPORTED_OBJARRAY(wxImage,  ArrayOfImages);
+//WX_DECLARE_EXPORTED_OBJARRAY(wxBitmap, ArrayOfBitmaps);
+//WX_DECLARE_EXPORTED_OBJARRAY(wxColour, ArrayOfColours);
+
 WX_DECLARE_OBJARRAY(wxImage,  ArrayOfImages);
 WX_DECLARE_OBJARRAY(wxBitmap, ArrayOfBitmaps);
 WX_DECLARE_OBJARRAY(wxColour, ArrayOfColours);
 
-class FlowPacker 
+class AUDACITY_DLL_API FlowPacker 
 {
 public:
    FlowPacker(){;};
@@ -79,7 +83,7 @@
 
 };
 
-class ThemeBase
+class AUDACITY_DLL_API ThemeBase
 {
 public:
    ThemeBase(void);
@@ -114,6 +118,7 @@
 
    void SetBrushColour( wxBrush & Brush, int iIndex );
    void SetPenColour(   wxPen & Pen, int iIndex );
+   void SetFlags( int flags ){ mFlow.mFlags = flags;};
 
    // Utility function that combines a bitmap and a mask, both in XPM format.
    wxImage MaskedImage( char const ** pXpm, char const ** pMask );
@@ -132,7 +137,7 @@
 };
 
 
-class Theme : public ThemeBase
+class AUDACITY_DLL_API Theme : public ThemeBase
 {
 public:
    Theme(void);
@@ -146,6 +151,6 @@
    bool mbInitialised;
 };
 
-extern Theme theTheme;
+extern AUDACITY_DLL_API Theme theTheme;
 
 #endif // __AUDACITY_THEME__

Index: WaveTrack.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/WaveTrack.h,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- WaveTrack.h 26 Mar 2007 12:51:42 -0000      1.47
+++ WaveTrack.h 18 Jun 2007 16:10:54 -0000      1.48
@@ -43,7 +43,7 @@
 
 class Envelope;
 
-class WaveTrack: public Track {
+class AUDACITY_DLL_API WaveTrack: public Track {
 
  private:
 

Index: WrappedType.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/WrappedType.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- WrappedType.h       19 Jun 2006 10:20:24 -0000      1.1
+++ WrappedType.h       18 Jun 2007 16:10:54 -0000      1.2
@@ -1,13 +1,11 @@
 /**********************************************************************
 
-  Audacity: A Digital Audio Editor
-
   WrappedType.h
 
   James Crook
+  (C) Audacity Developers, 2007
 
-  Audacity is free software.
-  This file is licensed under the wxWindows license, see License.txt
+  wxWidgets license. See Licensing.txt
 
 *************************************************************************/
 

Index: Theme.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Theme.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- Theme.cpp   28 Mar 2007 04:14:03 -0000      1.29
+++ Theme.cpp   18 Jun 2007 16:10:54 -0000      1.30
@@ -189,7 +189,7 @@
 };
 
 // theTheme is a global variable.
-Theme theTheme;
+AUDACITY_DLL_API Theme theTheme;
 
 Theme::Theme(void)
 {
@@ -208,6 +208,11 @@
    RegisterImages();
    RegisterColours();
 
+#ifdef EXPERIMENTAL_EXTRA_THEME_RESOURCES
+   extern void RegisterExtraThemeResources();
+   RegisterExtraThemeResources();
+#endif
+
    bool bLoadThemeAtStart;
    gPrefs->Read( wxT("/Theme/LoadAtStart"), &bLoadThemeAtStart, false );
    LoadThemeAtStartUp( bLoadThemeAtStart );

Index: TrackPanel.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/TrackPanel.h,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -d -r1.117 -r1.118
--- TrackPanel.h        19 May 2007 23:11:58 -0000      1.117
+++ TrackPanel.h        18 Jun 2007 16:10:54 -0000      1.118
@@ -68,7 +68,7 @@
 
 WX_DECLARE_OBJARRAY(TrackClip, TrackClipArray);
 
-class TrackPanelListener {
+class AUDACITY_DLL_API TrackPanelListener {
 
  public:
    TrackPanelListener(){};

Index: WrappedType.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/WrappedType.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- WrappedType.cpp     19 Jun 2006 15:01:54 -0000      1.2
+++ WrappedType.cpp     18 Jun 2007 16:10:54 -0000      1.3
@@ -1,13 +1,11 @@
 /**********************************************************************
 
-  Audacity: A Digital Audio Editor
-
   WrappedType.cpp
 
   James Crook
+  (C) Audacity Developers, 2007
 
-  Audacity is free software.
-  This file is licensed under the wxWindows license, see License.txt
+  wxWidgets license. See Licensing.txt
 
 **********************************************************************//*!
 

Index: SampleFormat.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/SampleFormat.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- SampleFormat.cpp    5 May 2007 15:55:36 -0000       1.15
+++ SampleFormat.cpp    18 Jun 2007 16:10:54 -0000      1.16
@@ -74,12 +74,12 @@
    return wxT("Unknown format"); // compiler food
 }
 
-samplePtr NewSamples(int count, sampleFormat format)
+AUDACITY_DLL_API samplePtr NewSamples(int count, sampleFormat format)
 {
    return (samplePtr)malloc(count * SAMPLE_SIZE(format));
 }
 
-void DeleteSamples(samplePtr p)
+AUDACITY_DLL_API void DeleteSamples(samplePtr p)
 {
    free(p);
 }

Index: Menus.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Menus.cpp,v
retrieving revision 1.326
retrieving revision 1.327
diff -u -d -r1.326 -r1.327
--- Menus.cpp   17 Jun 2007 06:08:42 -0000      1.326
+++ Menus.cpp   18 Jun 2007 16:10:54 -0000      1.327
@@ -547,9 +547,7 @@
    c->SetCommandFlags(wxT("UndoHistory"),
                       AudioIONotBusyFlag | UndoAvailableFlag,
                       AudioIONotBusyFlag | UndoAvailableFlag);
-#ifdef EXPERIMENTAL_TRACK_PANEL
-   c->AddItem(wxT("NewTrackPanel"),  _("&Experimental Display..."),  
FN(OnExperimentalTrackPanel));
-#endif
+
    c->AddSeparator();
    c->BeginSubMenu(_("&Toolbars..."));
    c->AddItem(wxT("ShowControlTB"),       _("Control Toolbar"),       
FN(OnShowControlToolBar), 0);
@@ -2234,31 +2232,6 @@
    mHistoryWindow->UpdateDisplay();
 }
 
-void AudacityProject::OnExperimentalTrackPanel()
-{
-#ifdef EXPERIMENTAL_TRACK_PANEL
-   // Parasite Track Panel.
-   // Takes over the display...
-   TrackPanel2 * pDlg = new TrackPanel2(NULL) ;
-   wxTopLevelWindow * pOldWindow =  
((wxTopLevelWindow*)wxTheApp->GetTopWindow());
-   pOldWindow->Show(false);
-// Dlg.Maximize();
-//   Dlg.ShowModal();
-
-   wxTheApp->SetTopWindow(pDlg);
-   pDlg->Show( true );
-#define RETURN_TO_AUDACITY
-#ifdef RETURN_TO_AUDACITY
-   wxTheApp->SetTopWindow(pOldWindow);
-   pOldWindow->Show(true);
-//   ((wxTopLevelWindow*)wxTheApp->GetTopWindow())->Show(true);
-#else
-   QuitAudacity( false );
-#endif
-#endif
-}
-
-
 void AudacityProject::OnCut()
 {
    TrackListIterator iter(mTracks);

Index: FileNames.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/FileNames.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- FileNames.h 1 Oct 2006 07:23:49 -0000       1.7
+++ FileNames.h 18 Jun 2007 16:10:54 -0000      1.8
@@ -16,7 +16,7 @@
 
 // Uh, this is really a namespace rather than a class,
 // since all the functions are static.
-class FileNames
+class AUDACITY_DLL_API FileNames
 {
 public:
    static wxString MkDir(const wxString &Str);

Index: Menus.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Menus.h,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -d -r1.104 -r1.105
--- Menus.h     17 Jun 2007 06:08:43 -0000      1.104
+++ Menus.h     18 Jun 2007 16:10:54 -0000      1.105
@@ -146,8 +146,6 @@
 void OnUndo();
 void OnRedo();
 void OnHistory();
-void OnExperimentalTrackPanel();
-
 
 void OnCut();
 void OnSplitCut();

Index: Project.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Project.h,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -d -r1.121 -r1.122
--- Project.h   17 Jun 2007 06:08:43 -0000      1.121
+++ Project.h   18 Jun 2007 16:10:54 -0000      1.122
@@ -71,10 +71,10 @@
 class RecordingRecoveryHandler;
 
 AudacityProject *CreateNewAudacityProject(wxWindow * parentFrame);
-AudacityProject *GetActiveProject();
+AUDACITY_DLL_API AudacityProject *GetActiveProject();
 void RedrawAllProjects();
 void RefreshCursorForAllProjects();
-void CloseAllProjects();
+AUDACITY_DLL_API void CloseAllProjects();
 
 void GetDefaultWindowRect(wxRect *defRect);
 void GetNextWindowPlacement(wxRect *nextRect, bool *bMaximized);
@@ -92,11 +92,11 @@
    loopedPlay
 };
 
-class AudacityProject:public wxFrame,
-                      public TrackPanelListener,
-                      public SelectionBarListener,
-                      public XMLTagHandler,
-                      public AudioIOListener
+class AUDACITY_DLL_API AudacityProject:  public wxFrame,
+                                     public TrackPanelListener,
+                                     public SelectionBarListener,
+                                     public XMLTagHandler,
+                                     public AudioIOListener
 {
  public:
 

Index: Shuttle.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Shuttle.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- Shuttle.cpp 24 Apr 2007 22:55:34 -0000      1.11
+++ Shuttle.cpp 18 Jun 2007 16:10:54 -0000      1.12
@@ -1,11 +1,11 @@
 /**********************************************************************
 
-  Audacity: A Digital Audio Editor
-
   Shuttle.cpp
 
-  Dominic Mazzoni
   James Crook
+  (C) Audacity Developers, 2007
+
+  wxWidgets license. See Licensing.txt
 
 *******************************************************************//**
 
@@ -14,7 +14,6 @@
 
 *//****************************************************************//**
 
-
 \class Shuttle
 \brief Moves data from one place to another, converting it as required.
 
@@ -51,7 +50,7 @@
 
 *//*******************************************************************/
 
-#include "Audacity.h"
+//#include "Audacity.h"
 
 #include <wx/defs.h>
 #include <wx/checkbox.h>
@@ -65,11 +64,11 @@
 #include <wx/radiobut.h>
 #include <wx/button.h>
 
-#include "Project.h"
+//#include "Project.h"
 #include "Shuttle.h"
 #include "WrappedType.h"
-#include "commands/CommandManager.h"
-#include "effects/Effect.h"
+//#include "commands/CommandManager.h"
+//#include "effects/Effect.h"
 
 const int Enums::NumDbChoices = 14;
 

Index: SampleFormat.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/SampleFormat.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- SampleFormat.h      8 Feb 2005 04:49:31 -0000       1.6
+++ SampleFormat.h      18 Jun 2007 16:10:54 -0000      1.7
@@ -33,8 +33,8 @@
 // Allocating/Freeing Samples
 //
 
-samplePtr NewSamples(int count, sampleFormat format);
-void      DeleteSamples(samplePtr p);
+AUDACITY_DLL_API samplePtr NewSamples(int count, sampleFormat format);
+AUDACITY_DLL_API void DeleteSamples(samplePtr p);
 
 //
 // Copying, Converting and Clearing Samples

Index: Experimental.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Experimental.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- Experimental.h      17 Sep 2006 01:12:03 -0000      1.6
+++ Experimental.h      18 Jun 2007 16:10:54 -0000      1.7
@@ -30,6 +30,8 @@
 //Uncomment the next #define to enable experimental features.
 //#define EXPERIMENTAL_FEATURES
 
+//#define EXPERIMENTAL_MODULES
+
 // The Experimental TrackPanel is a refactoring of the existing track panel.
 //#define EXPERIMENTAL_TRACK_PANEL
 //#define EXPERIMENTAL_TRACK_PANEL_FROM_THE_START
@@ -78,10 +80,6 @@
 #ifdef EXPERIMENTAL_WX_PLUG_INS
 #endif
 
-#ifdef EXPERIMENTAL_TRACK_PANEL
-#include "../extnpanel-src/TrackPanel2.h"
-#endif
-
 #endif
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a

Index: WaveClip.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/WaveClip.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- WaveClip.h  26 Mar 2007 12:51:42 -0000      1.19
+++ WaveClip.h  18 Jun 2007 16:10:54 -0000      1.20
@@ -27,8 +27,8 @@
 class Envelope;
 class WaveCache;
 class SpecCache;
-class WaveClip;
-class WaveClipList;
+class AUDACITY_DLL_API WaveClip;
+class AUDACITY_DLL_API WaveClipList;
 
 class SpecPxCache {
 public:
@@ -52,7 +52,7 @@
 WX_DECLARE_LIST(WaveClip, WaveClipList);
 WX_DEFINE_ARRAY_PTR(WaveClip*, WaveClipArray);
 
-class WaveClip: public XMLTagHandler
+class AUDACITY_DLL_API WaveClip: public XMLTagHandler
 {
 private:
    WaveClip(WaveClip& orig)

Index: AColor.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/AColor.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- AColor.cpp  5 Mar 2007 05:08:09 -0000       1.22
+++ AColor.cpp  18 Jun 2007 16:10:53 -0000      1.23
@@ -211,6 +211,12 @@
    }
 }
 
+void AColor::ReInit()
+{
+   inited=false;
+   Init();
+}
+
 void AColor::Init()
 {
    if (inited)

Index: Project.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Project.cpp,v
retrieving revision 1.314
retrieving revision 1.315
diff -u -d -r1.314 -r1.315
--- Project.cpp 17 Jun 2007 06:08:42 -0000      1.314
+++ Project.cpp 18 Jun 2007 16:10:54 -0000      1.315
@@ -197,7 +197,7 @@
 /* Declare Static functions */
 static void SetActiveProject(AudacityProject * project);
 
-AudacityProject *GetActiveProject()
+AUDACITY_DLL_API AudacityProject *GetActiveProject()
 {
    return gActiveProject;
 }
@@ -364,7 +364,7 @@
       gAudacityProjects[i]->RefreshCursor();
 }
 
-void CloseAllProjects()
+AUDACITY_DLL_API void CloseAllProjects()
 {
    size_t len = gAudacityProjects.GetCount();
    for (size_t i = 0; i < len; i++)

Index: TrackArtist.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/TrackArtist.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- TrackArtist.h       22 May 2006 11:52:44 -0000      1.26
+++ TrackArtist.h       18 Jun 2007 16:10:54 -0000      1.27
@@ -39,7 +39,7 @@
 typedef unsigned char uchar;
 #endif
 
-class TrackArtist {
+class AUDACITY_DLL_API TrackArtist {
 
  public:
    TrackArtist();


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs

Reply via email to