Commit Graph

115 Commits

Author SHA1 Message Date
James Crook ce9938787c Use alpha or released or local manual for "help on selection".
Previously this was hard coded to use the online alphamanual.
Some other help-on-errors paths were hardcoded to use the online manual, and did not use local help even if available, so these were changed too.

Also two naming changes in the code:
ShowHelpDialog() became ShowHelp() because it typically shows the help in your browser, only showing the help in a dialog under certain circumstances.
The helpURL parameter became helpPage since it is usually a page name that is then elaborated into a url.
The Link() function became InnerLink().

Some careful http -> https changes made too.
2017-08-25 13:59:16 +01:00
James Crook aee0c4cbc6 Fix for broken build (::None)
None clashed with something else under linux, probably a macro expansion.
2017-08-03 17:25:12 +01:00
Paul Licameli 5d48e96942 Where FileSelector was used, default to Documents not cwd; save prefs 2017-08-03 08:02:33 -04:00
Paul Licameli 53b9869268 Remove naked malloc (or similar) and free in: FFmpeg 2017-03-17 17:52:51 -04:00
Paul Licameli 5036583549 Fewer inclusions of AudacityApp.h 2017-03-17 17:52:24 -04:00
Paul Licameli f993f1eadf Regularize casts as (int), so they are easier to find and review 2016-09-20 08:42:11 -04:00
Paul Licameli fd2e36e0c8 Remove some naked new amd delete in: FFmpeg 2016-08-08 07:51:24 -04:00
Paul Licameli 84c0337aba Fix TAB key navigation on Mac for all dialogs (not only for panels) 2016-07-10 17:12:27 -04:00
Paul Licameli 24df87bb4c Fix resource leaks in the usage of the FFMPEG library with RAII objects...
... This includes failure paths in the initialization if import.  Those
resources would have been reclaimed before program exit, but not as soon as
they should have been.

... This also includes certain leaks that would happen every time a file is
successfully imported or exported.  We never used avformat_free_context or
av_dict_free as we should have!

... There were also AVPacket objects repeatedly reinitialized without proper
cleanups in between.  That might have leaked memory too.
2016-04-13 20:31:54 -04:00
Paul Licameli 316ed3afc2 Fix another memory leak in FFmpeg import. 2016-04-13 00:22:39 -04:00
Paul Licameli f00144e9a5 Sweep for filename copying: various 2016-04-10 22:26:28 -04:00
Paul Licameli 7c0073dd77 Unreported bug: memory and file handle leak when importing custom mpeg...
I could see this on windows:

Import a file such as .aiff format, while "Files of type:"
reads "FFmpeg-compatible files".
Leave Audacity running.
Attempt to delete the file in Windows Exploerer.
Get a message from Windows that the file is in use by Audacity and cannot be
deleted.
2016-04-09 00:21:38 -04:00
Paul Licameli 7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli 9bf098c7d9 Sweep unnecessary wxString copies: rest 2016-02-23 02:15:56 -05:00
Paul Licameli dbaa811577 Stack-allocate where possible! ...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli 7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
James Crook c865d0204e Path to FFmpeg installation was a 404.
I've changed the path, a '_' to a ':'.  May perhaps need to do more to have path right in manual too.
2015-09-02 20:09:40 +01:00
Paul Licameli 9c483e2e86 Add (redundant) #include "Experimental.h" in all .cpp files using the symbols 2015-08-31 17:56:10 -04:00
David Bailes f458df1c7b Changes to a number of dialogs so that the NVDA screen reader can read the titles. Missed these in my last patch. The accessibility name of the dialog is set to the title. 2015-05-18 13:57:05 +01:00
lllucius 51d69fc34b Partial fix for bug #807
The value in audacity.cfg is now prepended to the PATH
variable instead of appending it, so that directory
should be searched first.

It doesn't do fallback searches if the first attempt
fails.
2014-12-28 10:12:43 +00:00
lllucius@gmail.com 40ec0eda12 Fix for bug #787
But, it made another issue visible...several exporters
fail silently and the user may thing the export was
successful when it was not.

Will be hitting that next.
2014-12-06 11:23:44 +00:00
RichardAsh1981@gmail.com fd53865f1c Add header include needed when FFmpeg support is enabled 2014-06-26 19:40:35 +00:00
RichardAsh1981@gmail.com d974754340 use HelpSystem for links to the manual in existing code 2014-06-25 10:12:19 +00:00
benjamin.drung@gmail.com b8a464709d FFmpeg: Fall back to guessing avutil and avcodec filenames
When the avutil_version and avcodec_version symbols are not found, fall back to
guess the filenames of avutil and avcodec (as done in r13195 and previously).
2014-06-18 22:24:17 +00:00
benjamin.drung@gmail.com cb39b48274 FFmpeg: Get non-monolithic libav* filenames from libavformat.
The non-monolithic libavformat is linked against libavcodec and libavutil.
Instead of (falsely) guessing the filenames of libavcodec and libavutil, get the
files that the libavformat library is linked against. This fixes wrong filename
guesses and avoids run-time issues by using incompatible libavcodec/libavutil
version with libavformat.
2014-06-10 21:34:15 +00:00
benjamin.drung@gmail.com caf557a614 FFmpeg: Modify FFMPEG_INITALT to support loading from a different alternative library.
av_frame_alloc/av_frame_free are defined in avutil, but the deprecated
alternative functions avcodec_alloc_frame/avcodec_free_frame are defined in
avcodec instead. FFMPEG_INITALT needs to be enhanced to support different
library names.
2014-06-10 21:18:50 +00:00
benjamin.drung@gmail.com 149fcafc1c Replace tabs by spaces. 2014-06-05 22:04:22 +00:00
benjamin.drung@gmail.com d921c4969b Fix dynamic FFmpeg import.
The symbols av_dict_get, av_dict_set, and av_get_bytes_per_sample are defined in
libavutil, but not in libavformat or libavcodec.
2014-06-03 20:16:55 +00:00
benjamin.drung@gmail.com f36e961bb1 Remove unused FFmpeg function declarations. 2014-05-31 14:26:24 +00:00
benjamin.drung@gmail.com 4d4580a042 FFmpeg: Replace long deprecated functions by current ones. 2014-05-31 14:01:57 +00:00
benjamin.drung@gmail.com 3416b2a8c1 Drop compatibility for FFmpeg < 1.2 and libav < 0.8.
Dropping support for unsupported upstream FFmpeg/libav versions makes our code
simpler by removing preprocessor conditionals.
2014-05-31 13:23:00 +00:00
benjamin.drung@gmail.com 33b9e9336f FFmpeg: Replace deprecated av_close_input_file by avformat_close_input. 2014-05-29 15:50:47 +00:00
benjamin.drung@gmail.com b556d83c54 Fix indentation (to multiple of three) and remove trailing spaces. 2014-05-27 22:06:58 +00:00
benjamin.drung@gmail.com 16f834f0c3 FFmpeg: raise log level to info
Log level info is the default in FFmpeg and its quite hidden anyway so users
should not see it anyway unless they look/search for it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-27 21:47:29 +00:00
benjamin.drung@gmail.com 463da8e816 Add support for libav 9. 2014-05-23 20:43:08 +00:00
benjamin.drung@gmail.com 7a47f6fedd Prefer newer av_get_bits_per_sample_fmt over av_get_bits_per_sample_format. 2014-05-23 20:37:54 +00:00
benjamin.drung@gmail.com 48240202ca planar s16&flt export support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-23 20:37:27 +00:00
benjamin.drung@gmail.com 6ac83ae299 remove unneeded probing code, ffmpeg does that already so no need to duplicate it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-23 20:32:14 +00:00
benjamin.drung@gmail.com 60fe57463e remove urlprotocol use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-23 20:31:34 +00:00
benjamin.drung@gmail.com 373b8fa049 Fix audio size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-23 20:28:24 +00:00
benjamin.drung@gmail.com 5ae8679e3c fix random fixed buffer size and add quick and simple planar import support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-23 20:27:54 +00:00
benjamin.drung@gmail.com f8be1f9668 Make audacity build with ffmpeg HEAD
This still depends on internal API
And is missing planar Audio support, so not all formats work
also the fixed size audio buffer has to be removed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-23 20:25:50 +00:00
james.k.crook@gmail.com 30e6a3dec4 Removed some per-file memory allocation debugging that is not needed (and generates warnings) now that we do it from AudacityHeaders.h 2014-01-13 21:21:14 +00:00
v.audacity 53e0aca508 Fix unused parameter bug reported by Ed Musgrove. 2013-11-16 03:37:46 +00:00
martynshaw99 4f5de6d5e3 Quiet a bunch of 'unreferenced formal parameter' warnings on Windows.
The remaining ones are 'formal parameter's referenced by other platforms.
2013-09-25 22:57:54 +00:00
james.k.crook@gmail.com dba81b3f1c Cleanup: Fixed lots of trivial MSVC warnings. 2013-08-25 21:51:26 +00:00
v.audacity e8714acce7 Gale's patch for [Audacity-quality] "Help buttons in dialogues WAS Re: Nyquist Generate Prompt" thread 2013-05-19 00:22:26 +00:00
v.audacity f0112b57df Benjamin Drung's disable-dynamic-ffmpeg-v3.patch for bug 233 2012-08-29 21:31:11 +00:00
v.audacity e749dc7db9 Benjamin Drung's use-newer-ffmpeg-function-name.patch for bug 233 2012-08-29 21:29:21 +00:00
v.audacity ebb4f530bb Apparently, wxConfigBase::Write() does not update values for next access on all platforms unless Flush() method is called. Added many calls to wxConfigBase::Flush() to make sure the Rad() calls get the right values. 2012-08-02 06:03:19 +00:00
v.audacity 8bdcc670fe Fix a couple of compiler warnings. 2012-07-16 23:32:54 +00:00
mchinen 816b58bc08 integrate OD FFmpeg to work with multiple formats, including wav
also move streamContext to ffmpeg.h to allow for refactoring of import code
2012-06-01 06:11:07 +00:00
lllucius b7406f91e3 Tying up another loose end...moving the Audacity libraries
to /Library/Application Support/audacity/libs to circumvent
Apple's propensity for thinking your system belongs to them.

I have sent the new installers to Gale and expect they will
go to Buanzo's site fairly soon.
2012-03-25 05:16:46 +00:00
mchinen 682759d965 Bug 467 (P3) fix - Audacity fails to build with latest FFmpeg/libav. Main patch by Leland Lucius with modification from Benjamin Drung. 2012-01-21 08:01:32 +00:00
lllucius f50be91900 Bug #176 - Support newer versions of FFmpeg.
Also includes Benjamin's ffmpeg-configure-v2.patch.
2011-04-02 02:10:50 +00:00
lllucius f88b7f67ab Fix bug #141 and correct monolithic test. 2011-03-06 20:30:10 +00:00
lllucius 07661c186f Fixes detection problems on Mac and possibly Windows (Bug #290)
This should fix the detection problems on the Mac and may even help with issues
on Windows and Linux.

On any of the platforms, the main issue is the search path for libraries and
how absolute path names are handled.  The Mac seems to be especially
susceptible since there isn't one concrete location where libraries are stored.

Windows handles absolute paths differently and allows runtime updates to the
environment variables (and if push comes to shove, provides the
SetDllDirectory() function), so if problems still exist, they should be easy to
circumvent.

This patch does three things:

1)  It adds a shell script on OSX that takes care of starting Audacity after
reassigning and clearing the DYLD_LIBRARY_PATH environment variable.  This will
allow loading of libraries from their absolute path rather than searching
DYLD_LIBRARY_PATH first.  This script should be transparent to the user, but it
will affect people running Audacity with gdb as they will have to specifically
target Audacity.app/Contents/MacOS/Audacity instead of the Audacity.app bundle.
 Not big deal really.  If ppl no enough to use gdb from the command line, they
should be able to figure it out.

2)  It corrects detection of a monolithic FFmpeg library.  This is one where
avformat, avcodec, and avutil have all been linked into one large library.  The
main issue here was that under OSX and Linux, looking for symbols that should
reside in avutil and avcodec, would always succeed since dlsym() on these
platforms not only scans the requested library, but any dependent libraries as
well.  And when avformat was loaded, it would pull in it's dependent libraries
as well.

Another issue here was the if it was determined that the library was not
monolithic, the library was never unloaded, so those dependent libraries may
have come from the wrong location since they would have been loaded via the
normal search paths and not by absolute path name.

3)  It adds a method to FileNames which returns the full path name of a loaded
module that contains an address.  In the case of FFmpeg, it is used to verify
that a routine from a specific library is actually being used from that library
or not.  It is also used to show (in Help->Show log) the directory from which a
library was actually loaded.
2011-02-23 01:41:40 +00:00
richardash1981 2a7c7de30d Commit a warnings removal patch from Benjamin Drung to correct a string of minor misdemeanors. 2011-02-07 20:24:04 +00:00
v.audacity d83682f262 For FFmpeg wxLog* messages:
Returned some of them to wxLogMessage from wxLogDebug.

Made paths displayed consistently with '%s'. Changed some wordings for grammar and clarity.

Var renames for clarity. Moved some declarations closer to their usage.

Commented out the places where sys error logging was suppressed. There was no explanation why they were suppressed.
2010-08-17 23:14:21 +00:00
v.audacity 0ae919f656 Make better discrimination of wxLogMessage, wxLogDebug, and wxLogError usage so user doesn't see lots of irrelevant info in log window, only messages and errors they should need to see. For example, user doesn't need to see every step of loading FFmpeg in release build, only errors, if they occur.
Comment out in FreqWindow.cpp the wxLog* stuff that can just be done with breakpoints ("Starting FreqWindow::Plot()" et al).
2010-08-10 05:13:28 +00:00
richardash1981 8cd645f0a2 Add a patch by Al Diamond to fix a crash in ufile_fopen_input(), signed off by me. 2010-03-28 20:23:47 +00:00
BusinessmanProgrammerSteve e47e9692b6 I think this is the right way to printf a wxString. Hard to tell.
Everything else gives me weird warnings.
2010-03-19 23:08:36 +00:00
BusinessmanProgrammerSteve 4cdbbce01f Add ODDecodeFFmpegTask to Unix makefile, fix some errors and warnings 2010-03-19 21:41:44 +00:00
mchinen b07f23d6de added on-demand support for non-seeking loading of FFmpeg files. This feature is not on, controlled by ifdefs via the #define EXPERIMENTAL_OD_FFMPEG in Experimental.h 2010-03-19 14:57:10 +00:00
ra e74978ba77 Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches 2010-01-23 19:44:49 +00:00