summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_audio_import.cc
AgeCommit message (Collapse)Author
2020-04-17do not reset import status to cancel for every path imported before ↵Paul Davis
starting; fixes failure of cancel to stop import
2020-03-25remove a few cerr outputs and change a couple to use cout, since they are ↵Paul Davis
not errors
2020-03-17remove destructive/tape mode tracksPaul Davis
2020-02-25Clear import-status shared-ptr<> after useRobin Gareus
Previously "Sequence files" set import_status.track and never reset() the shared pointer. This resulted in various follow up issues.
2020-02-24Always set the natural position timestamp when importing audio files.Todd Naugle
If the file has a timestamp, it should be set in the region during import. This keeps the BWF timestamp from being lost and allows the region context menu item "Move to original Position" to work. It does not affect where the region will be positioned during import. That still follows the import dialog menu selection (playhead, session start, etc). It just maintains data that the user can decided to use if needed. This change also allows files to be imported to the source list and then later placed on the timeline in the correct timestamped position.
2019-12-14First batch of MessageDialog replacementsRobin Gareus
2019-12-06UI limitations for mp3 importRobin Gareus
2019-08-03Update GPL boilerplate and (C)Robin Gareus
Copyright-holder and year information is extracted from git log. git history begins in 2005. So (C) from 1998..2005 is lost. Also some (C) assignment of commits where the committer didn't use --author.
2019-04-08NO-OP: whitespace, indentRobin Gareus
2017-10-30Fix importing tempo-maps for non-integer pulsed time-signaturesRobin Gareus
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-07-22Remove redundant beat arg from TempoMap::add_meternick_m
BBT time should be enough to determine the beat.
2017-07-17Move more Gtkmm2ext widgets into libwidgetRobin Gareus
2017-07-01NO-OP whitespace (updated GH PR #357)Thomas Brand
2017-02-27probable fix for importing tempo maps that use non-quarter note pulse.nick_m
- actually i'm not certain that this is correct, but it works ok Beethoven's fifth.
2017-02-27complete changes to tempo type.nick_m
- this implements in the intention behind the previous commit. a tempo mark is constant until its end has been changed by a shift-drag on the next marker.
2017-02-08use centralized SMF tempo method in both places where we show itPaul Davis
2017-01-20GUI follow up for new-MIDI-track API changeRobin Gareus
2017-01-06allow importing tempo maps at selected position.nick_m
2017-01-05allow import of Beethoven's fifth.nick_m
- more popular tunes to follow.
2017-01-05fix import of multiple time signatures.nick_m
2016-12-19add frame parameter for Meter ctor and TempoMap::replace_meter(). allow for ↵nick_m
various failures.
2016-12-16initial attempt at importing SMF tempo maps during MIDI import.Paul Davis
Still with debug output
2016-12-16add arguments (unusued) to control whether or not SMF tempo map is used ↵Paul Davis
during import
2016-12-14GUI changes to allow user to specify how/if to use SMF track/instrument ↵Paul Davis
names during import
2016-12-14temporary default value for ImportStatus.midi_track_name_sourcePaul Davis
2016-10-05GUI support for type-0/1 SMF import (display channel/track count)Robin Gareus
This needs further work: Type-1 SMF are always "One [Ardour] track per [MIDI] track" Only type-0 SMF have the option "One [Ardour] track per [MIDI] channel" and "One [Ardour] track per [MIDI] file" This is ambiguous with multi-channel audio or multiple selection, mixed audio+midi and worse with mixed type0/1 .mid selection. This calls for a dedicated dropdown to select MIDI Import Disposition for type-0 SMF.
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-05-31manually fix rebase/merge issues caused by addition of plugin presets to ↵Paul Davis
methods which add a new track/bus
2016-05-31first vaguely working version using PresentationInfoPaul Davis
remote control ID and "order keys" have been removed.
2016-05-21fix import-thread SNAFURobin Gareus
* pressing Esc or WM close button did not cancel import thread * proper Abort does not wait for import thread either It was possible to launch a 2nd (and Nth) import thread, all sharing the Editor's ImportStatus data-structure, all having the same registered thread-name and same thread-pool name. Plenty of room for crashes.
2016-03-28use strict i/o preference during importRobin Gareus
2015-10-09Fix wrong 'Import to Region List' default on first call. -fixes #6631André Nusser
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-08-06Added PT .ptf session audio import functionalityDamien Zammit
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-03-15Session import dialog is no longer a transient for the editor.nick_m
2014-12-24Add instrument selector to import dialog.David Robillard
Idea here is for importing large multi-track MIDI files to be immediately listenable upon play without tediously adding a ton of instrument plugins manually.
2014-12-20Fix various cursor problems.David Robillard
Add a new scoped cursor system that makes it much harder to screw up and end up with stick cursors and so on.
2014-12-10tracked down another remaining SessionHandleRefRobin Gareus
import_status.sources kept references to the most recently imported ARDOUR::SndFileSource “all new sources” from Session::import_files()
2014-11-14add abort() to non-reached codeRobin Gareus
This cleans up a lot of false-positives in static analysis and also helps compilers to optimize code paths in general. (tagging the fatal stingstream operator as ‘noreturn’ is far less trivial)
2014-09-13*t*racks not *c*hannels (amend 009ced9640)Robin Gareus
2014-09-13fix crash when importing midi files with >1 midi-channel -- fixes #5965Robin Gareus
2014-07-01Merge branch 'ripple-mode-cc' into cairocanvasColin Fletcher
Fix up merge conflicts in gtk2_ardour/editor_mouse.cc gtk2_ardour/editor_ops.cc Also fix up compile errors.
2014-07-01merge with master.Paul Davis
Manually resolved conflicts in import.cc and session.cc
2014-06-25move utility functions into a dedicated namespaceRobin Gareus
2014-06-19use new canvas cursor API to manage cursors while embedding audioPaul Davis
2014-06-02substantive changes to the logic and safety for naming of (audio/MIDI) ↵Paul Davis
sources, especially when created via import
2014-05-29back port 6576105 from cairocanvas as fix for data loss/file deletionPaul Davis
2014-05-29fix data loss/file deletion caused by mistaken used of ↵Paul Davis
Session::source_by_path() to check if an AUDIO filesource with a given path already exists. ::source_by_path() was written for MIDI files only. I fixed the call and renamed the two similar functions (one for audio and one for MIDI) to make it more clear.
2014-05-07Ripple mode: basic implementationColin Fletcher
Add a value for Ripple to EditMode enum. Add Ripple edit mode to edit mode dropdown, by adding it to the Editor::build_edit_mode_menu() helper function, and remove the old code that added items to the (now unused) Editor::edit_mode_strings. Add the regions that should be affected by the drag to RegionDrag::_views so that the drag carries them along automatically. Use a copy of the RegionList in Playlist::core_ripple(), since bad things happen when iterating over regions and they get moved around in the list. Handle rippling in removal of regions from playlist. When dragging in ripple mode, exclude all regions that lie before the original start position of the selected regions being dragged from rippling: this is what Mixbus does. Make editor dragging respect snap-to settings, by using the existing compute_x_delta() function, which did almost the right thing. Move setting of _last_frame_position out of that function so all ripple-dragged regions can move. Ripple when dragging from region list: even though Mixbus doesn't do this, it seems like a good idea. Prevent multi-track selection being dragged across tracks, by making RegionMotionDrag::y_movement_allowed() virtual, and overriding it in RegionRippleDrag to forbid dragging of selections containing regions on more than one track to dofferent tracks in ripple mode. Remember which TimeAxisView a ripple-mode drag that's allowed cross-track drags started from, so that the effect of rippling regions after any region that's dragged off that track can be undone.