1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-04 09:39:42 +02:00

244 Commits

Author SHA1 Message Date
Paul Licameli
390af96796 Dispatch read of top-level project XML tags with a table of functions...
... which makes Project.cpp a bit less dependent on some details of other
classes

This puts Tags.cpp back into the big strongly connected component of the
dependency graph.  That will be remedied later when Project.cpp becomes a
low-level file
2019-05-20 21:38:07 -04:00
Henric Jungheim
6a04d36bbd Tell Visual Studio that KeyboardCapture.h is a header file. 2019-05-20 17:59:19 -07:00
Paul Licameli
f86403378b Move AudacityMessageBox to its own files...
... breaking cycles among low-level files introduced by 273ba9f
2019-05-20 14:48:36 -04:00
Paul Licameli
e5c7e5a21f Three new files in the build, still empty 2019-05-18 14:57:24 -04:00
Paul Licameli
b04387a21d Move AudacityApp::GenerateCrashReport to its own files 2019-05-17 16:29:31 -04:00
Paul Licameli
a047fa6e7a Missing alias file tracking out of AudacityApp, into new files...
... which reduces the need for including AudacityApp.h
2019-05-17 16:28:50 -04:00
Paul Licameli
338d7cd164 A class encapsulating the global clipboard 2019-05-17 06:47:53 -04:00
Henric Jungheim
e2b5dade4c Store project dependencies in Audacity.vcxproj, not audacity.sln. 2019-04-12 13:50:36 -07:00
James Crook
084ad070b2 Show config.h in MSVC project 2019-04-06 10:54:06 +01:00
Henric Jungheim
cd3a0326ae Remove ReleaseSSE and ReleaseNASM solution configurations.
Remove the ReleaseSSE configuration from the libmp3lame and
libmpg123 projects.
Remove unused files.
2019-03-28 02:53:06 -07:00
James Crook
01d95a4113 Enable SSE in LAME
Maybe a 5% speed improvement - but hard to judge.  Possibly not worth it?
2019-03-27 16:30:33 +00:00
James Crook
5e0efd1a25 Start on built-in LAME
Using LAME 3.10
Windows project files substantially changed from original, and included into audacity solution.
2019-03-26 17:46:53 +00:00
Steve Daulton
6e6148604d Nyquist plug-in installer added
Ran "autoreconf --force --no-recursive" for Linux build.

Add nyquist-plug-in-installer.ny to Windows build

Add Nyquist Plug-in Installer to mac build

Fix translation strings in plug-in installer
2019-03-21 14:30:26 +00:00
Paul Licameli
3dba70120c CommandManager, MenuManager don't use Lyrics.h, MixerBoard.h ...
... instead define new base classes in src/commands that those other
windows can inherit.  The classes have nothing but a virtual destructor.  This
lets CommandManager use dynamic_cast to detect the special windows.

See commits cbfde23 and 68e4bf6 which added the #include directives
2019-03-16 13:10:59 -04:00
Henric Jungheim
d06abcd27e Enable conformance mode for the FileDialog and Audacity projects. 2019-03-15 10:13:27 +00:00
Henric Jungheim
0f33e2bafa Provide global build defaults for Windows.
Set the SDK to 10.0.17763.
Set a default WXWIN property if the WXWIN environment variable is not set.
Source files will be interpreted as UTF-8 by default.
Use LTCG for release builds.
2019-03-15 10:11:35 +00:00
Henric Jungheim
d734cf9a4e Drop an unmatched quote from the Audacity Debug configuration's include dirs. 2019-03-15 10:11:35 +00:00
SteveDaulton
aceb34d786 Add aud-do-support.lsp to Windows build 2018-11-09 20:23:50 +00:00
James Crook
466e9c179e Create ComponentInterface
It combines the old IdentInterface with the ParamsInterface, providing an identifier and parameters (if needed).
The main purpose of the change is to make the class hierarchy (as viewed via doxygen) much easier to follow.
2018-11-02 17:04:43 +00:00
Paul Licameli
39fc20c5ee TrackPanelCellIterator is no longer needed 2018-11-01 18:25:02 -04:00
Paul Licameli
303553ae4e Take class AdornedRulerPanel out of src/widgets...
... It's not a utility widget like RulerPanel.  It has a lot of application
specific logic in it.
2018-10-24 15:04:41 -04:00
Paul Licameli
3308054170 14 new, empty .cpp files in src/menus 2018-10-24 11:04:06 -04:00
Steve Daulton
5d34d022a5 Add rms.ny to Audacity bundle
Tidy translation code in init.lsp
Include rms.ny in Makefile.am
Add rms.ny to Linux package
Update Makefiles with: autoreconf --force --no-recursive
Add rms.ny to mac build
Add rms.ny to Windows build
2018-10-08 18:55:46 +01:00
Paul Licameli
f6609e5ffb Move class CellularPanel into its own files 2018-08-05 14:02:55 -04:00
Henric Jungheim
d8b7e3d8a9 Switch the default toolset from VS2013 to VS2017 2018-06-26 06:53:48 -07:00
Henric Jungheim
6ae5bd46ad Rework locale VS project to use CustomBuildStep.
Make sure Clean, Build, and Build targets work.
Use NuGet to provide gettext for msgfmt.
2018-06-26 06:53:47 -07:00
henric
75bc81a1dd Don't use a separate build script for optional files. 2018-06-26 06:53:47 -07:00
Henric Jungheim
ee5609b8ee libsndfile: Update for VS2015+ 2018-06-26 06:53:47 -07:00
Henric Jungheim
8bf2071fdd lv2: Update for VS2015+ 2018-06-26 06:53:47 -07:00
henric
659f8cbc6f Get rid of the Windows compatibility headers stdint.h and inttypes.h.
Microsoft provides their own these days.
2018-06-26 06:53:47 -07:00
James Crook
89788d4690 mod-script-pipe windows release build to link to release dlls. 2018-04-13 23:41:55 +01:00
James Crook
9cb593fe54 Fix MSB8012 and consequent Link error with modules.
See https://stackoverflow.com/questions/4494028/warning-msb8012-make-sure-that-outdir-targetname-and-targetext-prope?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa for the gory details.

This error is not just a project upgraders error.  It can also happen when moving projects - as I found after recreating the projects afresh and still having the error.  The essential problem is that the configuration parameters are over determined, and hence can conflict.  It's compounded by there being no warning of conflicting parameters at project configuration time.
2018-04-11 11:08:29 +01:00
James Crook
04d7108509 Rejig mod-xxx building under Windows
The project files move from lib-src into the win/Projects folder.
Intermediate files are now kept well away from the files we want.
Less use of '..' and more of $(SolutionPath) in paths.
2018-04-07 12:41:57 +01:00
James Crook
bf9beb1f36 Revert locale tidy up
We want to use the fix ups that use NuGet.  However, they break the windows build-bot.  At the moment the windows build-bot is more important than the better locale code - hence reverting.
2018-04-04 17:04:58 +01:00
David Bailes
f027708fe1 Fix an issue caused by the accessibility changes in wxWidgets 3.1.1
The main change in wx accessibility is this:
7dab555f71 (diff-04f5191d86f95b1c4d5d9c979da65878)

However wxWindowAccessible has not been updated to take into account of that change. In particular wxWindowAccessible::GetParent() was always wrong, but it was consistent with the rest of the framework. Now it's wrong and inconsistent. This function should return an object with role window, and which has the same name.

The fix is to introduce class WindowAccessible, which is effectively our own version of wxWindowAccessible. This class does not override GetParent(), and so just relies on a standard accessible object to to the right thing in wxIAccessible::get_accParent() (which is does). This class also allows us to have our own version of GetName(), which allows us to set the accessibility names of buttons.

These changes will break the accessibility of Audacity if it is built with wxWidgets 3.0.X. If this is a problem, then there could be some #if stuff in WindowAccessible.h to turn the WindowAccessible class into one which simply inherits from wxWindowAccessible, and doesn't override anything.
2018-04-03 14:57:59 +01:00
Henric Jungheim
112fd246fd Rework locale VS project to use CustomBuildStep.
Make sure Clean, Build, and Build targets work.
Use NuGet to provide gettext for msgfmt.
2018-04-02 03:18:12 -07:00
SteveDaulton
6828627e0f Fix libsoxr build on Windows 2018-03-20 20:52:59 +00:00
James Crook
e3ef968d57 Add DragCommand. Default Y/N on optional fields. Open/Save project items.
- More Y/N in Optional, making it easier to omit parameters.
- AT removed from Envelope, since T already gives it.
2018-02-24 14:20:29 -05:00
James Crook
edf90d6e2c Add envelope commands
- Added SetEnvelope (which can also delete/clear an envelope.)
- Added GetInfo: Type=Envelope
2018-02-24 14:20:27 -05:00
James Crook
1d9477a455 SetClip, SetLabel, SetProject added
- SetTrack also updated with more options.
2018-02-24 14:20:24 -05:00
James Crook
b1b1a362ed Doxygen, Clips and Labels
- Classes renamed and better doxygenated
- GetInfo: Type=Clips added
- GetInfo: Type=Labels added.
2018-02-24 14:20:24 -05:00
James Crook
2f6fc0a1e5 Long message target
This allows interactive display of the results of new commands that generate
lots of text.
2018-02-24 14:20:23 -05:00
James Crook
1c988b4e3a Automation: AudacityCommand
This is a squash of 50 commits.

This merges the capabilities of BatchCommands and Effects using a new
AudacityCommand class.  AudacityCommand provides one function to specify the
parameters, and then we leverage that one function in automation, whether by chains,
mod-script-pipe or (future) Nyquist.

- Now have AudacityCommand which is using the same mechanism as Effect
- Has configurable parameters
- Has data-entry GUI (built using shuttle GUI)
- Registers with PluginManager.
- Menu commands now provided in chains, and to python batch.
   - Tested with Zoom Toggle.

- ShuttleParams now can set, get, set defaults, validate and specify
the parameters.
- Bugfix: Don't overwrite values with defaults first time out.
- Add DefineParams function for all built-in effects.
- Extend CommandContext to carry output channels for results.

We abuse EffectsManager.  It handles both Effects and
AudacityCommands now.  In time an Effect should become a special case of
AudacityCommand and we'll split and rename the EffectManager class.

- Don't use 'default' as a parameter name.
- Massive renaming for CommandDefinitionInterface
- EffectIdentInterface becomes EffectDefinitionInterface
- EffectAutomationParameters becomes CommandAutomationParameters
- PluginType is now a bit field.

This way we can search for related types at the same time.

- Most old batch commands made into AudacityCommands.
The ones that weren't are for a reason.  They are used by mod-script-pipe
to carry commands and responses across from a non-GUI thread to the GUI
thread.

- Major tidy up of ScreenshotCommand
- Reworking of SelectCommand
- GetPreferenceCommand and SetPreferenceCommand
- GetTrackInfo and SetTrackInfo
- GetInfoCommand
- Help, Open, Save, Import and Export commands.
- Removed obsolete commands ExecMenu, GetProjectInfo and SetProjectInfo
  which are now better handled by other commands.

- JSONify "GetInfo: Commands" output, i.e. commas in the right places.

- General work on better Doxygen.
    - Lyrics -> LyricsPanel
    - Meter -> MeterPanel
- Updated Linux makefile.
- Scripting commands added into Extra menu.
- Distinct names for previously duplicated find-clipping parameters.
- Fixed longstanding error with erroneous status field number which
  previously caused an ASSERT in debug.
- Sensible formatting of numbers in Chains, 0.1 not 0.1000000000137
2018-02-24 14:20:22 -05:00
Henric Jungheim
0c88c8de88 Supply Audacity.exe.manifest instead of generating it. 2018-01-07 15:14:43 -05:00
Paul Licameli
e37d701bc0 WXINTL_NO_GETTEXT_MACRO defined in compiler options...
... so even if you neglect to include Audacity.h, it applies
2018-01-06 20:56:51 -05:00
James Crook
27d2b7c51b Add AutomationCommands class
- AutomationCommands replaces GetAllMenuCommands, and can provide
information about menus, buttons and toolbars to a script.
- BatchCommands can now return textual results to a script.
- There's a new GUID for mod-script-pipe and it is included in the .sln.
2018-01-06 19:27:45 +00:00
Paul Licameli
b1d9be00e4 Added eu_ES (Basque (Spain)) to supported languages 2017-09-22 00:22:42 -04:00
Paul Licameli
3d7471a612 new file 2017-07-09 12:34:26 -04:00
Paul Licameli
c1f667f170 Move some handle and cell classes into their own files 2017-07-09 06:38:54 -04:00
James Crook
e9f525defa Fix Windows build.
Was missing NoteTrackSliderHandles.cpp/,h
2017-06-16 09:34:07 +01:00