James Crook 
							
						 
					 
					
						
						
							
						
						ebfca79b92 
					 
					
						
						
							
							Update Russian Translation by Alexander Gvaramiya  
						
						 
						
						
						
						
					 
					
						2017-03-22 17:47:23 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Crook 
							
						 
					 
					
						
						
							
						
						1dce83006f 
					 
					
						
						
							
							Record on same track is now the default.  
						
						 
						
						... 
						
						
						
						Record new track is now accessed by SHIFT+R and is so named in the menu and tool tip. 
						
						
					 
					
						2017-03-22 16:42:40 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Bailes 
							
						 
					 
					
						
						
							
						
						5f6a013a87 
					 
					
						
						
							
							Fix windows build  
						
						 
						
						... 
						
						
						
						Paul should check this fix. 
						
						
					 
					
						2017-03-22 11:33:10 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						5aefa783c8 
					 
					
						
						
							
							More of the exception safety project...  
						
						 
						
						... 
						
						
						
						... Specifying non-throwing in some places wehre WaveTracks are read;
on failure, substitute zeroes instead and continue.
What remains is to rewrite operations in classes Sequence, WaveClip, and
WaveTrack with appropriate exception-safety guarantees; and then, to enable
new throw statements. 
						
						
					 
					
						2017-03-21 21:09:25 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						1b00c87c03 
					 
					
						
						
							
							Where reading a WaveTrack, specify whether to allow exceptions...  
						
						 
						
						... 
						
						
						
						... by default, yes; as in effects or export or other editing.
But no, for mere display operations, or playback, or sample hit test.  In such
cases, substitute zeroes for unavailable data.
By stipulating no-throw in such places, there are fewer places that require
scrutiny for exception-safety.
The default exception handling would also be undesirable, because we don't want
such operations to cause repeated error dialogs. 
						
						
					 
					
						2017-03-21 20:59:43 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						38b8e57e4e 
					 
					
						
						
							
							Specify whether to throw on bad read in Mixer and WaveTrackCache...  
						
						 
						
						... 
						
						
						
						... Do throw when exporting or mixing-and-rendering; don't if playing back or
drawing a spectrogram, but then just use zeroes. 
						
						
					 
					
						2017-03-21 17:23:35 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						987b038fd8 
					 
					
						
						
							
							Exception safety in overrides of WriteSummary  
						
						 
						
						
						
						
					 
					
						2017-03-21 17:23:35 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						39b8d99a56 
					 
					
						
						
							
							WaveTrack::Get, WaveClip::GetSamples take a mayThrow=true argument...  
						
						 
						
						... 
						
						
						
						... and pass non-default in all needed places.
Don't throw, don't put up error dialogs, in drawing or hit-test code. 
						
						
					 
					
						2017-03-21 17:23:34 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						834a141cee 
					 
					
						
						
							
							More of the exception safety project, no new throws yet  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:21:49 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						98d1468a01 
					 
					
						
						
							
							BlockFile::ReadData overrides: on failure, pad with 0s or throw...  
						
						 
						
						... 
						
						
						
						... as the mayThrow argument directs. 
						
						
					 
					
						2017-03-21 14:19:03 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						70d9e4bdc7 
					 
					
						
						
							
							GetMinMax, GetRMS functions take a mayThrow argument, return numbers  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:19:02 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						dcac8788ff 
					 
					
						
						
							
							Safeties where block file read/write exceptions need to propagate...  
						
						 
						
						... 
						
						
						
						... I think this covers all places.  Really.
The results of a very thorough examination of lots of code! 
						
						
					 
					
						2017-03-21 14:17:13 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						1552ff188f 
					 
					
						
						
							
							When opening a file into a new project, delete the project on failure  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:28 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						2626f6cd5b 
					 
					
						
						
							
							Exception safety in: subclasses of ImportFileHandle  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:27 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						ed6f2ea80f 
					 
					
						
						
							
							Exception safety in: locking of BlockFile for read  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:27 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						f5fe9281e4 
					 
					
						
						
							
							Strong safety guarantee for removing file dependencies  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:26 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						7159966eb4 
					 
					
						
						
							
							Comment that cache-filling should be no-fail (we don't use it anyway)  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:26 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						54c1b0c955 
					 
					
						
						
							
							Exception safety in: opening and saving of projects  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:25 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						4d4cd91d91 
					 
					
						
						
							
							Hoist, and delay, the saving of import tag while opening the file...  
						
						 
						
						... 
						
						
						
						... so that AudacityProject::AudacityProject no longer has a path in the
static call graph that reaches block file write operations that might throw.
So it is easier to prove that other functions, calling that, don't throw.
Also delay the possibly thowing save of the import until after certain other
steps in the file opening procedure. 
						
						
					 
					
						2017-03-21 14:11:25 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						22a12c6852 
					 
					
						
						
							
							Exception safety in: some effects and generators...  
						
						 
						
						... 
						
						
						
						... Those that directly call WaveTrack functions in their Process() routines,
which might throw exceptions for disk space exhaustion. 
						
						
					 
					
						2017-03-21 14:11:25 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						1fad6292a2 
					 
					
						
						
							
							Exception safety in: overrides of ShowInterface  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:24 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						79c3bef2ce 
					 
					
						
						
							
							Exception safety in: general effect performing functions  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:24 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						2cbdd1cc43 
					 
					
						
						
							
							Exception safety in: ControlToolBar & Ruler functions...  
						
						 
						
						... 
						
						
						
						... because SetupCutPreviewTracks has a small chance of throwing for want
of disk space.
StopStream however is considered nonthrowing. 
						
						
					 
					
						2017-03-21 14:11:23 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						0bb6a3d971 
					 
					
						
						
							
							Exception safety in: importing functions...  
						
						 
						
						... 
						
						
						
						... Side effects on preferences may persist even after errors. 
						
						
					 
					
						2017-03-21 14:11:23 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						0c8bedc59a 
					 
					
						
						
							
							Exception safety in: subclasses of ExportPlugin; and more error checking  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:22 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						48459404a5 
					 
					
						
						
							
							Exception safety in: general exporting routines  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:22 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						464828d88f 
					 
					
						
						
							
							Exception safety in: batch processing  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:21 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						abbe9276f0 
					 
					
						
						
							
							Exception safety in: CommandManager  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:21 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						40aa70a255 
					 
					
						
						
							
							Exception safety for Edit toolbar button presses  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:21 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						664974d3ff 
					 
					
						
						
							
							Exception safety in: ondemand  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:20 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						195732f074 
					 
					
						
						
							
							Exception safety in: BatchCommands  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:20 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						1a90b7d942 
					 
					
						
						
							
							TimerRecordDialog:  comment why nothing need be done for exceptions  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:20 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						63e44e2b6b 
					 
					
						
						
							
							Rearrange a few things in time shift button up...  
						
						 
						
						... 
						
						
						
						... to reclaim some memory earlier, before possible throws 
						
						
					 
					
						2017-03-21 14:11:19 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						68c726918b 
					 
					
						
						
							
							If exception in cut/copy, leave clipboard clear (no partial results)  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:19 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						41f1ebfb5d 
					 
					
						
						
							
							Commit resampling of tracks to undo history one track at a time  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:18 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						82dd7545c9 
					 
					
						
						
							
							Reviewed uses of release(); prefer Destroy_ptr to hold window objects  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:18 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						7927fe065f 
					 
					
						
						
							
							Fix move constructors and assignments of AudacityException classes  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:17 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						e9a4fc8354 
					 
					
						
						
							
							fix the XML writer -- don't throw if target path did not previously exist.  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:11:17 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						d812b7f8a4 
					 
					
						
						
							
							Merge branch 'master' into HEAD  
						
						 
						
						
						
						
					 
					
						2017-03-21 14:10:27 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						12e3d1d2e2 
					 
					
						
						
							
							Small correction to parsing of LOF file  
						
						 
						
						
						
						
					 
					
						2017-03-21 11:21:25 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Crook 
							
						 
					 
					
						
						
							
						
						5e3a4fa29d 
					 
					
						
						
							
							Name Record Beside menu option correctly.  
						
						 
						
						
						
						
					 
					
						2017-03-21 13:31:33 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						715758d869 
					 
					
						
						
							
							Small improvements in Sequence and BlockFile  
						
						 
						
						
						
						
					 
					
						2017-03-20 17:59:50 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						52fd607b42 
					 
					
						
						
							
							Sequence::AppendBlock and Sequence::Blockify  are static  
						
						 
						
						
						
						
					 
					
						2017-03-20 17:49:03 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						2677796b0c 
					 
					
						
						
							
							Zero and return false for all failures to read block file summary...  
						
						 
						
						... 
						
						
						
						... Though in the only place where these summaries are used, which is
Sequence::GetWaveDisplay, we ignore the correctly reported error code anyway.
Also RAII in management of relevant memory buffers and mutexes. 
						
						
					 
					
						2017-03-20 17:49:03 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Paul Licameli 
							
						 
					 
					
						
						
							
						
						7b7ad75a49 
					 
					
						
						
							
							Remove Sequence::CopyWrite and needless file reads in Sequence::Set  
						
						 
						
						
						
						
					 
					
						2017-03-20 17:49:03 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Crook 
							
						 
					 
					
						
						
							
						
						c6b4e2fffe 
					 
					
						
						
							
							Add code to capture menus  
						
						 
						
						... 
						
						
						
						So far, this only walks the menus, printing out their contents to debug. 
						
						
					 
					
						2017-03-20 17:06:29 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Bailes 
							
						 
					 
					
						
						
							
						
						879579475d 
					 
					
						
						
							
							Fix for bug 1611: after select none, temporary in-correctness  
						
						 
						
						... 
						
						
						
						After select none, the timeline and selection times are temporarily not updated.
Fix: AudacityProject::SelectNone refreshes the TrackPanel, so call it after changing the SelectedRegion. 
						
						
					 
					
						2017-03-20 15:06:59 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Bailes 
							
						 
					 
					
						
						
							
						
						ec7fe2dfcc 
					 
					
						
						
							
							Fix for bug 613: menu key deselects track.  
						
						 
						
						... 
						
						
						
						When the menu key is pressed, mouse events are also generated, and one of these was interpreted as a mouse click outside the tracks, which deselected the tracks.
A possible fix would have been to make a change in TrackPanel::HandleTrackSpecificMouseEvent() so that only left clicks outside of tracks would deselect tracks.
However, I decided that a better fix was to modify TrackPanel::OnMouseEvent to ignore the mouse events generated when the menu key is pressed. This should prevent these mouse events from causing bugs in any new code. 
						
						
					 
					
						2017-03-20 13:33:24 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Crook 
							
						 
					 
					
						
						
							
						
						5b9ae95930 
					 
					
						
						
							
							Bug 1610 - Unable to save projects  
						
						 
						
						... 
						
						
						
						We were throwing an exception for attempting to delete a file that was not there. 
						
						
					 
					
						2017-03-20 11:53:39 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Crook 
							
						 
					 
					
						
						
							
						
						8f71aa67df 
					 
					
						
						
							
							Allow same command more than once in the menus.  
						
						 
						
						... 
						
						
						
						Pause appears in both Record and Play, and we want the P shortcut to work. 
						
						
					 
					
						2017-03-19 19:32:35 +00:00