Skip to content
Snippets Groups Projects
Select Git revision
  • 96b3817914c92f70def65d78dac7c53411838b82
  • master default protected
  • aaaa
  • editWFP
  • wfp
  • editview
  • xwfp
  • wlp
  • mypage
  • comment-delete-btn
  • home
  • Required-Login
  • signu
  • addloginsignup
  • logoutC
  • logout
  • big-update
  • login
  • finderboard
  • jeje
20 results

MyPage.vue

Blame
  • Audacity.h 8.14 KiB
    /**********************************************************************
    
       Audacity: A Digital Audio Editor
       Audacity(R) is copyright (c) 1999-2015 Audacity Team.
       License: GPL v2.  See License.txt.
    
       Audacity.h
    
       Dominic Mazzoni
       Joshua Haberman
       Vaughan Johnson
       et alii
    
    ********************************************************************//*!
    
    \file Audacity.h
    
      This is the main include file for Audacity.  All files which need
      any Audacity-specific \#defines or need to access any of Audacity's
      global functions should \#include this file.
    
    *//********************************************************************/
    
    #ifndef __AUDACITY_H__
    #define __AUDACITY_H__
    
    // If building with GNU compiler, then must be 4.9 or later.
    // TODO: This would be much nicer as a standalone test in configure.ac
    #if !defined(__APPLE__) && !defined(__clang__) && \
        defined __GNUC__ && ( __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9))
    
        #error Audacity requires at least GCC 4.9
    #endif
    
    
    // We only do alpha builds, beta builds, and release versions.
    // Most of the time we're in development, so AUDACITY_BUILD_LEVEL should be
    // defined to 0.
    // Its value may be more than 0 for pre-release "Beta" builds that differ only
    // in the welcome screen, and hiding of some development menu commands, but
    // still link to the alpha manual online.
    #define AUDACITY_BUILD_LEVEL 2
    
    // used #ifdef not #if for IS_ALPHA, IS_BETA, IS_RELEASE, USE_ALPHA_MANUAL
    #undef IS_ALPHA
    #undef IS_BETA
    #undef IS_RELEASE
    #undef USE_ALPHA_MANUAL
    
    #if AUDACITY_BUILD_LEVEL == 0
       #define IS_ALPHA
       #define USE_ALPHA_MANUAL
    #elif AUDACITY_BUILD_LEVEL == 1
       #define IS_BETA
       #define USE_ALPHA_MANUAL
    #else
       #define IS_RELEASE
    #endif
    
    
    
    // Increment as appropriate every time we release a NEW version.
    #define AUDACITY_VERSION   2
    #define AUDACITY_RELEASE   2
    #define AUDACITY_REVISION  1
    #define AUDACITY_MODLEVEL  0
    
    #if defined(IS_BETA)
       #define AUDACITY_SUFFIX wxT("-beta-") __TDATE__
    #elif defined(IS_ALPHA)
       #define AUDACITY_SUFFIX wxT("-alpha-") __TDATE__
    #else
       #define AUDACITY_SUFFIX    wxT("") // for a stable release
       //#define AUDACITY_SUFFIX wxT("x  ") __TDATE__
    #endif
    
    #define AUDACITY_MAKESTR( x ) #x
    #define AUDACITY_QUOTE( x ) AUDACITY_MAKESTR( x )
    
    // Version string for visual display
    #define AUDACITY_VERSION_STRING wxT( AUDACITY_QUOTE( AUDACITY_VERSION ) ) wxT(".") \
                                    wxT( AUDACITY_QUOTE( AUDACITY_RELEASE ) ) wxT(".") \
                                    wxT( AUDACITY_QUOTE( AUDACITY_REVISION ) ) \
                                    AUDACITY_SUFFIX
    
    // DA: x on end of version string.
    #ifdef EXPERIMENTAL_DA
    // Version string for file info (under Windows)
    #define AUDACITY_FILE_VERSION AUDACITY_QUOTE( AUDACITY_VERSION ) "," \
                                  AUDACITY_QUOTE( AUDACITY_RELEASE ) "," \
                                  AUDACITY_QUOTE( AUDACITY_REVISION ) "," \
                                  AUDACITY_QUOTE( AUDACITY_MODLEVEL ) " x"
    #else
    #define AUDACITY_FILE_VERSION AUDACITY_QUOTE( AUDACITY_VERSION ) "," \
                                  AUDACITY_QUOTE( AUDACITY_RELEASE ) "," \
                                  AUDACITY_QUOTE( AUDACITY_REVISION ) "," \
                                  AUDACITY_QUOTE( AUDACITY_MODLEVEL )
    #endif
    
    
    // Increment this every time the prefs need to be reset
    // the first part (before the r) indicates the version the reset took place
    // the second part (after the r) indicates the number of times the prefs have been reset within the same version
    #define AUDACITY_PREFS_VERSION_STRING "1.1.1r1"
    
    // Don't change this unless the file format changes
    // in an irrevocable way
    #define AUDACITY_FILE_FORMAT_VERSION "1.3.0"
    
    class wxWindow;
    
    void QuitAudacity(bool bForce);
    void QuitAudacity();
    
    // Please try to support unlimited path length instead of using PLATFORM_MAX_PATH!
    // Define one constant for maximum path value, so we don't have to do
    // platform-specific conditionals everywhere we want to check it.
    #define PLATFORM_MAX_PATH 260 // Play it safe for default, with same value as Windows' MAX_PATH.
    
    #ifdef __WXMAC__
    #include "configmac.h"
    #undef PLATFORM_MAX_PATH
    #define PLATFORM_MAX_PATH PATH_MAX
    #endif
    
    #ifdef __WXGTK__
    #include "configunix.h"
    // Some systems do not restrict the path length and therefore PATH_MAX is undefined
    #ifdef PATH_MAX
    #undef PLATFORM_MAX_PATH
    #define PLATFORM_MAX_PATH PATH_MAX
    #endif
    #endif
    
    #ifdef __WXX11__
    #include "configunix.h"
    // wxX11 should also get the platform-specific definition of PLATFORM_MAX_PATH, so do not declare here.
    #endif
    
    #ifdef __WXMSW__
    #include "configwin.h"
    #undef PLATFORM_MAX_PATH
    #define PLATFORM_MAX_PATH MAX_PATH
    #endif
    
    /* Magic for dynamic library import and export. This is unfortunately
     * compiler-specific because there isn't a standard way to do it. Currently it
     * works with the Visual Studio compiler for windows, and for GCC 4+. Anything
     * else gets all symbols made public, which gets messy */
    /* The Visual Studio implementation */
    #ifdef _MSC_VER
       #ifndef AUDACITY_DLL_API
          #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
       #endif
    #endif //_MSC_VER
    
    // Put extra symbol information in the release build, for the purpose of gathering
    // profiling information (as from Windows Process Monitor), when there otherwise
    // isn't a need for AUDACITY_DLL_API.
    #ifdef IS_ALPHA
       #define PROFILE_DLL_API AUDACITY_DLL_API
    #else
       #define PROFILE_DLL_API
    #endif
    
    /* The GCC-elf implementation */
    #ifdef HAVE_VISIBILITY // this is provided by the configure script, is only
    // enabled for suitable GCC versions
    /* The incantation is a bit weird here because it uses ELF symbol stuff. If we
     * make a symbol "default" it makes it visible (for import or export). Making it
     * "hidden" means it is invisible outside the shared object. */
       #ifndef AUDACITY_DLL_API
          #ifdef BUILDING_AUDACITY
             #define AUDACITY_DLL_API __attribute__((visibility("default")))
          #else
             #define AUDACITY_DLL_API __attribute__((visibility("default")))
          #endif
       #endif
    #endif
    
    /* The GCC-win32 implementation */
    // bizzarely, GCC-for-win32 supports Visual Studio style symbol visibility, so
    // we use that if building on Cygwin
    #if defined __CYGWIN__ && defined __GNUC__
       #ifndef AUDACITY_DLL_API
          #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
       #endif
    #endif
    
    // These macros are used widely, so declared here.
    #define QUANTIZED_TIME(time, rate) (floor(((double)(time) * (rate)) + 0.5) / (rate))
    // dB - linear amplitude convesions
    #define DB_TO_LINEAR(x) (pow(10.0, (x) / 20.0))
    #define LINEAR_TO_DB(x) (20.0 * log10(x))
    
    #define MAX_AUDIO (1. - 1./(1<<15))
    #define JUST_BELOW_MAX_AUDIO (1.f - 1.f/(1<<14))
    
    
    #ifndef IN_RC
    //#include <wx/defs.h>
    //#include <wx/string.h>
    class wxString;
    
    extern const wxString& GetCustomTranslation(const wxString& str1 );
    extern const wxString& GetCustomSubstitution(const wxString& str1 );
    
    // Marks strings for extraction only...must use wxGetTranslation() to translate.
    #define XO(s)  wxT(s)
    // Marks string for substitution only.
    #define _TS( s ) GetCustomSubstitution( s )
    
    
    #define WXINTL_NO_GETTEXT_MACRO
    
    #ifdef wxPLURAL
    #undef wxPLURAL
    #endif
    
    // Note:  The strings will go to the .pot file (do not use _(...)).
    #define wxPLURAL(sing, plur, n)  wxGetTranslation((sing), (plur), n)
    
    
    #ifdef _
    #undef _
    #endif
    
    #define _(s) GetCustomTranslation((s))
    #endif
    
    // This renames a good use of this C++ keyword that we don't need to review when hunting for leaks.
    #define PROHIBITED = delete
    
    // Reviewed, certified, non-leaky uses of NEW that immediately entrust their results to RAII objects.
    // You may use it in NEW code when constructing a wxWindow subclass with non-NULL parent window.
    // You may use it in NEW code when the NEW expression is the constructor argument for a standard smart
    // pointer like std::unique_ptr or std::shared_ptr.
    #define safenew new
    
    #endif // __AUDACITY_H__