1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-30 15:49:41 +02:00

372 Commits

Author SHA1 Message Date
James Crook
c2e07b4620 Change manifest from 'any architecture' to '32bit'.
Also upped version.
The reason to change to 32 bit, is that * (i.e. any) can lead to a mix of 32 bit and 64 bit on 64 bit systems.  That in turn can lead to reported SxS 78 errors.
2018-04-22 15:33:05 +01: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
8e32c2df5d Only build mod-xxx-xxx if user requests it. 2018-04-11 22:36:26 +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
James Crook
082ab5ca28 Don't build locale in release build
This is a temporary measure to possibly get the MSVC buildbot working again.
2018-04-03 19:57:28 +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
James Crook
0fb99c5f54 Back to Visual Studio Express 2013 as the standard audacity.sln.
- Reverting a change from henricj who is using Visual Studio 15.
2018-04-02 20:02:05 +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
James Crook
e9146d6922 Update Windows build instructions for wxWidgets 3.1.1.
Also fix a typo ASIOSDK2 -> ASIOSDK (Thanks Mike Bailey)
Also removed obsolete Cygwin instructions.
2018-03-29 20:02:10 +01:00
James Crook
3c0c9d48ae Update audacity.iss for 3.1.1
Also update copyright in audacity.rc
2018-03-29 16:46:20 +01: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
Pokechu22
96a9a23dea Update installer images 2018-01-24 14:38:46 -05:00
Pokechu22
5e2e5af0ab Update audacity icon 2018-01-24 14:38:44 -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
a1530c36a8 Rewrite "Interface preferences displays self-names of languages" ...
See original attempt at commit 7ec5fd79df65cd3e54d3d14c52df106d71d06c53

This eliminates the need for a resource file at run-time.

locale/LanguageNames.txt is intended as a "source file" that is infrequently
changed as the set of supported languages changes.

The intermediate step, of appropriately copying that file into the C++ source
code in src/Languages.cpp, was done by hand.

In XCode, I set locale/LanguagesNames.txt and src/Languages.cpp to be
interpreted as Western encoding, and then the copy-paste was easy in the
editor.

The resulting C++ source code file now has string literals that are not 7-bit
ASCII.
2018-01-02 17:08:06 -05:00
Paul Licameli
7ec5fd79df Interface preferences displays self-names of languages 2017-12-31 21:58:36 -05:00
Paul Licameli
e2dfaed0f2 pt, zh, ja translation changes for Windows installer...
... recommended by Bruno Ramalhete and mkpoli, for "Reset Preferences"
2017-11-27 23:47:30 -05:00
Olivier Humbert
b69a272ad9 Updated fr.po (and audacity.iss) -- French submitted by Olivier Humbert...
... "#trebmuh" comment lines remain, where the translator may wish to review
and revise later.

Olivier's commit comments:

- disambiguation: decay (EN) -> déclin (FR)
- disambiguation : save (EN) -> sauvegarder (FR) and record (EN) -> enregistrer (FR)
- consistency around preset (EN) -> préréglage (FR)
- fixes "sample rate" which was translated with "fréquence d'échantillonnage" while the correct translation is "taux d'échantillonnage"
- fixes "bit rate" which was translated with "débit" while the correct translation is "débit binaire"
- fixes a misleading translation where a "bit  rate" (EN) was translated to "taux d'échantillonnage" instead of "débit binaire"

+ one string was half-translated
+ 5 typos
+ 1 frenglish
+ 1 better translation
+ 3 comments-to-self
+ updated timestamp
+ 1 missing translation

adds Christian Brochec in the header

+ a bunch of note-to-self precisions
+ a couple of better accelerators
+ typos
+ update the timestamp in the header
+ get the rid off the (useless now) "#| msgid" (which were ancient translation)
2017-11-27 20:53:40 -05:00
Paul Licameli
b1d9be00e4 Added eu_ES (Basque (Spain)) to supported languages 2017-09-22 00:22:42 -04:00
Steve Daulton
d996e889a9 Using audacity-fixes WxWidgets
Current recommendation is to use the pre-patched audacity-fixes repository.  Step 2 description updated as it concerns downloading only.
2017-08-16 09:42:06 +01: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
Paul Licameli
770b3b52ef TrackPanel no longer implements the selection tool or MIDI stretch...
This one's big!

Also restores the effect of ctrl-click on label track.

Also adds ESC key handling for the Stretch.
2017-06-15 08:54:59 -04:00
Paul Licameli
efdb9889b1 TrackPanel no longer implements label keystrokes, drags, text selection...
... also implemented ESC key for those drags

... temporarily loses the special CTRL click handling
2017-06-15 08:54:58 -04:00
Paul Licameli
bbfa574790 Move track resizing code out of TrackPanel.cpp, though it still...
... cooperates more closely with TrackPanel than the other UIHandle subclasses
do.
2017-06-15 08:54:58 -04:00
Paul Licameli
703abe87bc TrackPanel no longer implements track selection click or rearrange drag...
... also implement ESC key for the drag
2017-06-15 08:54:57 -04:00
Paul Licameli
8ef5f696d8 Define BackgoundCell, move some things into it 2017-06-15 08:21:41 -04:00
Paul Licameli
c3f5fea5fc TrackPanel still draws Miminize and Close, but no longer handles...
clicks on them...

... also implemented ESC key for those drags
2017-06-15 08:21:36 -04:00
Paul Licameli
a569476e79 TrackPanel still draws Gain and Pan, but no longer handles clicks on them...
... also implemented ESC key for those drags
2017-06-15 08:21:35 -04:00
Paul Licameli
5ee73f944d TrackPanel still draws Mute and Solo, but no longer handles clicks on them...
... also implemented ESC key for those drags
2017-06-15 08:21:34 -04:00
Paul Licameli
c6e7e5d99b Define a base class that will be useful for several track control sliders 2017-06-15 08:21:34 -04:00
Paul Licameli
d28b8f072b Define a base class that will be useful for several track control buttons 2017-06-15 08:21:33 -04:00
Paul Licameli
43968c4ac9 TrackPanel no longer implements clip joining or cutline expansion/deletion...
... also implement ESC key for these and added status bar message for
mouse-over
2017-06-15 08:21:30 -04:00
Paul Licameli
2496b0d7bc TrackPanel no longer implements the envelope tool...
... also implement ESC key for it
2017-06-15 08:21:02 -04:00
Paul Licameli
251976d93d TrackPanel no longer implements the time shift tool...
... also implement ESC key for it
2017-06-15 08:21:01 -04:00
Paul Licameli
f1f254f974 TrackPanel no longer implements the draw tool...
... also implement ESC key for it
2017-06-15 08:21:00 -04:00
Paul Licameli
85c03bb3b3 TrackPanel no longer implements the zoom tool...
... Also changed the behavior of drawing of dashed lines: make them
disappear when they approach close enough that right-up will zoom out,
not in.
2017-06-15 08:20:59 -04:00
Paul Licameli
cba51e1bf8 Define class PopupMenuTable to make it easy to attach and detach handlers...
... to the parent TrackPanel window
2017-06-15 08:20:59 -04:00
Paul Licameli
14d45eda33 Define and use the UIHandle and TrackPanelCell protocols, but...
...no actions reimplemented to them yet.

Later commits will move special cases one at a time from TrackPanel, preserving
all click and drag capabilities at each step.  With a few exceptions, but those
lost abilities are restored in yet later commits.  (Ctrl+Click on the Label
track being one.)
2017-06-15 08:20:56 -04:00