4PointCutting: Cleaned up some code, added some error messages
This commit is contained in:
		
							parent
							
								
									8c100ef186
								
							
						
					
					
						commit
						41572c4f84
					
				| @ -63,23 +63,6 @@ function select_dst_track_only() | ||||
| end | ||||
| 
 | ||||
| -- START HERE vvvvvvvvvvvvvvvvvvvvvvvvvv | ||||
| -- Store cursor position, time selection, selected tracks, selected items | ||||
| stored_cursorPos = reaper.GetCursorPosition() | ||||
| stored_timeSelStart, stored_timeSelEnd = reaper.GetSet_LoopTimeRange(false, true, 0, 1, false) | ||||
| for i = 0, reaper.CountSelectedTracks(0)-1 do | ||||
|     stored_sel_tracks[i+1] = reaper.GetSelectedTrack(0, i) | ||||
| end | ||||
| for i = 0, reaper.CountSelectedMediaItems(0)-1 do | ||||
|     stored_sel_items[i+1] = reaper.GetSelectedMediaItem(0, i) | ||||
| end | ||||
| if reaper.CountSelectedMediaItems(0) > 0 then | ||||
|     reaper.Main_OnCommand(40289, 0) -- Unselect all items | ||||
| end | ||||
| if reaper.CountSelectedTracks(0) > 0then | ||||
|     reaper.Main_OnCommand(40297, 0) -- Unselect all tracks | ||||
| end | ||||
| select_src_tracks() | ||||
| 
 | ||||
| -- run through all markers and get position of the 4 points | ||||
| local nof_markers = 0 | ||||
| _, nof_markers, _ = reaper.CountProjectMarkers(0) | ||||
| @ -121,6 +104,19 @@ end | ||||
| 
 | ||||
| -- Do stuff before actual edits... | ||||
| reaper.Undo_BeginBlock() | ||||
| -- Store cursor position, time selection, selected tracks, selected items | ||||
| stored_cursorPos = reaper.GetCursorPosition() | ||||
| stored_timeSelStart, stored_timeSelEnd = reaper.GetSet_LoopTimeRange(false, true, 0, 1, false) | ||||
| for i = 0, reaper.CountSelectedTracks(0)-1 do | ||||
|     stored_sel_tracks[i+1] = reaper.GetSelectedTrack(0, i) | ||||
| end | ||||
| for i = 0, reaper.CountSelectedMediaItems(0)-1 do | ||||
|     stored_sel_items[i+1] = reaper.GetSelectedMediaItem(0, i) | ||||
| end | ||||
| -- unselect items and tracks, select source tracks | ||||
| reaper.Main_OnCommand(40289, 0) -- Unselect all items | ||||
| reaper.Main_OnCommand(40297, 0) -- Unselect all tracks | ||||
| select_src_tracks() | ||||
| 
 | ||||
| -- Set Source Time selection and Copy Items | ||||
| reaper.GetSet_LoopTimeRange(true, false, mark_srcin_pos, mark_srcout_pos, false) | ||||
|  | ||||
| @ -18,4 +18,7 @@ local retval | ||||
| retval, track_str = reaper.GetProjExtState(0, '4PointCut', 'dst_track') | ||||
| if retval > 0 then -- variable exists in rpp | ||||
|     reaper.SetOnlyTrackSelected(reaper.BR_GetMediaTrackByGUID(0, track_str)) | ||||
| else | ||||
|     reaper.ClearConsole() | ||||
|     msg('Destination track not specified, using first track as default!') | ||||
| end | ||||
| @ -28,4 +28,7 @@ if retval > 0 then -- variable exists in rpp | ||||
|     for _, track in ipairs(tracks) do | ||||
|         reaper.SetTrackSelected(track, true) | ||||
|     end | ||||
| else | ||||
|     reaper.ClearConsole() | ||||
|     msg('Source tracks not specified, using all tracks as default!') | ||||
| end | ||||
| @ -16,4 +16,7 @@ end | ||||
| if reaper.CountSelectedTracks(0) > 0 then | ||||
|     local first_sel_track = reaper.GetTrackGUID(reaper.GetSelectedTrack(0, 0)) | ||||
|     reaper.SetProjExtState(0, '4PointCut', 'dst_track', first_sel_track) | ||||
| else | ||||
|     reaper.ClearConsole() | ||||
|     msg('No track selected!') | ||||
| end | ||||
| @ -12,7 +12,11 @@ function msg(m) | ||||
| end | ||||
| 
 | ||||
| -- START HERE vvvvvvv | ||||
| 
 | ||||
| if reaper.CountSelectedTracks(0) <= 0 then | ||||
|     reaper.ClearConsole() | ||||
|     msg('No track selected!') | ||||
|     return | ||||
| end | ||||
| -- get list of selected tracks and make string of GUIDs | ||||
| local sel_tracks = '' | ||||
| for i = 0, reaper.CountSelectedTracks(0)-1 do | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user