Commit Graph

275 Commits

Author SHA1 Message Date
Paul Licameli f6609e5ffb Move class CellularPanel into its own files 2018-08-05 14:02:55 -04:00
Paul-Licameli af62506175 Update pointer to our wxWidgets custom branch in build texts 2018-06-19 22:50:34 -04:00
Paul Licameli 58fa401faf Don't disable accessibility in Mac build of wxWidgets for Audacity 2018-06-19 09:26:00 -04:00
Steve Daulton ae908a9bc4 Update Mac Build.txt (fixes bug 1878)
wxWidgets must be cloned with --recurse-submodules.
2018-05-24 13:20:53 +01:00
Steve Daulton 6d2bd8a2f7
Added: where to get wxWidgets and Xcode 2018-05-01 10:48:22 +01:00
James Crook 5e8ba1085b
Fix path to script. (Thanks Cliff) 2018-04-16 18:45:32 +01:00
James Crook cef8976e8f Update mac build instructions.
- We're now on wx 3.1.1 and OSX 10.7+
2018-04-16 10:08:57 +01:00
Paul Licameli fc473ba500 Mac: script to build wx 3.1.1 & change xcodeproj to use 10.7 minimum 2018-04-14 13:46:56 -04:00
James Crook e3a2167b7b Mac: Build wx3.1.1 libs for Audacity.
Sets the i386 option and installs where XCode will fetch it from.
2018-04-13 10:11:30 +01:00
James Crook c0e1c82be9 Add missing files to Mac build.
Also moved the constructor into the .cpp file, so that wxWindow is a fully defined class.
2018-04-04 14:14:59 +01:00
Steve Daulton 2a8cec8bbb Fix Mac build 2018-03-21 02:03:24 +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 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
Paul Licameli c1babb3bb3 Revert "Make FFmpeg header files browseable in Xcode project"
This reverts commit 6f66ee5651.
2018-01-26 19:18:03 -05:00
Paul Licameli 6f66ee5651 Make FFmpeg header files browseable in Xcode project 2018-01-26 19:08:04 -05:00
Pokechu22 60ea8a662b Update mac icons 2018-01-25 16:30:16 -05:00
Pokechu22 b6255d4fa1 Update DMG background 2018-01-24 14:56:08 -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 fa7f1a455b Correct self-names for the two Chinese locales 2018-01-03 19:33:04 -05:00
Paul Licameli e051de0b68 Abandon the drag-and-drop of plug ins for now. 2018-01-03 18:43:06 -05:00
Paul Licameli b8df8e753b macOs magic to allow drag and drop of .ny file onto Audacity program icon 2018-01-03 03:26:34 -05:00
Paul Licameli a1530c36a8 Rewrite "Interface preferences displays self-names of languages" ...
See original attempt at commit 7ec5fd79df

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 08fba266b3 Bug1767: High Sierra: dbl-click 2 file icons, should get 1 app icon 2017-11-04 21:00:01 -04:00
Paul Licameli c2f82181fc Update special case copying of wxstd.mo for Mac build 2017-10-13 13:12:31 -04:00
Paul Licameli a2a08e8520 Fix extraneous copies of three .mo files in mac build 2017-10-10 16:24:34 -04:00
Paul Licameli 10e75a4bcf Fix missing Portuguese and Chinese, Simplified in Mac preferences 2017-09-25 03:08:24 -04:00
Paul Licameli b1d9be00e4 Added eu_ES (Basque (Spain)) to supported languages 2017-09-22 00:22:42 -04:00
Paul Licameli 75d557463d Use -c (check) option in msgfmt when generating .mo files 2017-09-13 15:09:06 -04:00
Paul Licameli ac558ce700 Copying of Audacity.sh not an intall-only step, for debug convenience 2017-07-27 13:56:27 -04:00
Paul Licameli 8b32eea8bb Bug290 (load LAME, FFmpeg from correct place): original fix again...
... That is, put a little shell script in the application bundle, and invoke
it (in Release, though not Debug where it interferes with Xcode debugging)

See commit 07661c186f

The shell nulls the environment variable DYLD_LIBRARY_PATH and then executes
the main program.

This is needed because changes to DYLD_LIBRARY_PATH during the main program's
run fail to affect the loading of dynamic libraries afterward.

We need null in DYLD_LIBRARY_PATH to make absolute paths to libraries take
priority.

More info:

Documentation of workings of the macOS dynamic loader
https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryUsageGuidelines.html

The same problem and solution is discussed here
https://stackoverflow.com/questions/6713692/problems-with-using-setenv-and-then-making-the-dlopen-call

It is claimed there that Firefox did the same trick with a shell, which I do
not observe in my version, but GIMP 2.8.16 does this, as I can see by examining
package contents

Also note the mention in this commit's comments (where the script was removed
because bug543's fix left it unused), that the script also used to
interfere with signing.  I hope that there will be a way around that.

98186b9317
2017-07-27 13:39:22 -04:00
Steve Daulton 32f3ccd08e Update file name
The current OS for Mac is macOS
2017-07-27 16:06:21 +01:00
Paul Licameli 4108b5abe0 XCode build: Remove ~1500 noisy warnings (unknown compiler options) 2017-07-11 14:54:12 -04:00
Paul Licameli e3ea42ff7e Force error on Mac when return value is missing...
... What commit 776e4dfdab was supposed to do,
but the setting was changed in the expat library only, not Audacity.

This should prevent foolish mistakes like that fixed in the previous commit!
2017-07-11 00:00: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
Paul Licameli 776e4dfdab Mismatched return values will cause compiler errors in Xcode build 2017-07-04 06:29:53 -04:00
Paul Licameli bc281fa7b4 Fix one of the patches to wxWidgets source for Mac...
... an inline function in a header was declared to return bool, but returned
nothing.  Now its type is void.

This function's undefined return value was not used anywhere.
2017-07-04 06:25:35 -04:00
Paul Licameli 8349888460 Permute the list of source files in XCode project 2017-06-25 16:16:26 -04:00
Paul Licameli f79a4c3c4f Revert "XCode project won't forgive missing return values"
This reverts commit a2192b3734.
2017-06-25 16:00:48 -04:00
Paul Licameli a2192b3734 XCode project won't forgive missing return values 2017-06-25 15:32:12 -04: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