John Emmas
a81ad91294
Add/remove source(s) in our MSVC project (gtk2_ardour)
2019-10-19 16:05:42 +01:00
7e10eec3c2
Use conf.fatal for fatal configuration errors
2019-10-19 02:22:59 +02:00
84efcb2534
Fix Python3 incompatible syntax
2019-10-19 02:22:59 +02:00
a1d5499f40
Fix typo
2019-10-19 02:22:59 +02:00
699a47cc65
Fix typo in bc363f1258
2019-10-19 02:15:13 +02:00
bc363f1258
Special case "Virtual Keyboard" to be available as external input
2019-10-18 23:40:40 +02:00
c4d7870c68
Allow to translate "Virtual Keyboard"
...
reserved_io_names[] already uses a translatable string for this.
2019-10-18 23:40:23 +02:00
19e4f47b4b
Cont'd work on Virtual-keyboard
...
* allow gtk_pianokeyboard to respond to y-axis click position
and include MIDI velocity with note-on signal
* add configuration settings to virual-keyboard
min/max velocity, keyboard-layout
* add a CC7 controller knob
2019-10-18 22:56:46 +02:00
148a9682be
Remove redundant port-owner check
...
Ports owned by Ardour are already filtered out by
PortManager::get_known_midi_ports() ->
PortManager::fill_midi_port_info_locked()
This change is in preparation for allowing to expose Ardour's
"Virtual MIDI Keyboard" keyboard (which is owned by Ardour).
2019-10-18 22:56:46 +02:00
f0d2327af0
Use AsyncMIDIPort API
2019-10-18 22:56:46 +02:00
eade673771
Expose virtual-keyboard port as async-port
2019-10-18 22:56:46 +02:00
0d86819a2b
fix two thinkos with startup sequence
...
1) audio/MIDI setup was being shown unnecessarily
2) could crash if entire startup sequence passed without any dialogs being necessary
2019-10-18 00:07:31 -06:00
ebb89ba805
Super basic Virtual-Keyboard UI
2019-10-18 03:50:52 +02:00
f961fd4687
Add Virtual-Keyboard MIDI port
2019-10-18 03:42:41 +02:00
f4ebb5995d
NO-OP: indent, tabs/whitespace fixes
2019-10-18 03:41:45 +02:00
b4cbee724e
Fix a rare EventList race-condition/crash
...
The GUI thread may modify fade-in/out while the butler-thread
reads audio.
e.g. select a Range and click delete.
---
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_pthread.dylib 0x00007fffd45924fc pthread_mutex_lock + 0
1 libglib-2.0.0.dylib 0x00000001085a9d2a g_mutex_lock + 26
2 libevoral.dylib 0x0000000107fd0a49 PBD::Signal0<void, PBD::OptionalLastValue<void> >::operator()() + 57
3 libevoral.dylib 0x0000000107fd486d Evoral::ControlList::clear() + 253
4 libardour.dylib 0x00000001072ef9a5 ARDOUR::AudioRegion::set_fade_out(ARDOUR::FadeShape, long long) + 309
5 libardour.dylib 0x00000001072f19ea ARDOUR::AudioRegion::recompute_at_end() + 122
6 libpbd.dylib 0x00000001082993ff PBD::Stateful::resume_property_changes() + 191
7 libardour.dylib 0x00000001076476af ARDOUR::Playlist::cut(long long, long long, bool) + 575
8 libardour.dylib 0x0000000107646b5b ARDOUR::Playlist::cut_copy(boost::shared_ptr<ARDOUR::Playlist> (ARDOUR::Playlist::*)(long long, long long, bool), std::__1::list<ARDOUR::AudioRange, std::__1::allocator<ARDOUR::AudioRange> >&, bool) + 187
9 libardour.dylib 0x0000000107647461 ARDOUR::Playlist::cut(std::__1::list<ARDOUR::AudioRange, std::__1::allocator<ARDOUR::AudioRange> >&, bool) + 33
10 Ardour.bin 0x00000001065f0fa0 RouteTimeAxisView::cut_copy_clear(Selection&, Editing::CutCopyOp) + 592
11 Ardour.bin 0x0000000106118a94 Editor::cut_copy_ranges(Editing::CutCopyOp) + 164
12 Ardour.bin 0x0000000106116053 Editor::cut_copy(Editing::CutCopyOp) + 1587
Thread 20 Crashed:
0 libardour.dylib 0x00000001072f4b19 ARDOUR::AudioRegion::body_range() const + 89
1 libardour.dylib 0x00000001072bd318 ARDOUR::AudioPlaylist::read(float*, float*, float*, long long, long long, unsigned int) + 1176
2 libardour.dylib 0x00000001072ac236 ARDOUR::AudioDiskstream::read(float*, float*, float*, long long&, long long, int, bool) + 854
3 libardour.dylib 0x00000001072abbb8 ARDOUR::AudioDiskstream::overwrite_existing_buffers() + 392
4 libardour.dylib 0x00000001077ef36a ARDOUR::Session::non_realtime_overwrite(int, bool&) + 186
5 libardour.dylib 0x00000001077ed7f0 ARDOUR::Session::butler_transport_work() + 1696
6 libardour.dylib 0x0000000107323425 ARDOUR::Butler::thread_work() + 149
7 libardour.dylib 0x000000010732334f ARDOUR::Butler::_thread_work(void*) + 95
2019-10-18 01:41:18 +02:00
88f9aaff7d
Add API to safely query timestamp of first/last control event
...
Direct calls to back()->when or front()->when are not safe
when the list is concurrently modified, or empty.
2019-10-18 01:37:56 +02:00
3ff1541825
Fix export w/o session-range (typo in 468731c14b
)
2019-10-15 23:17:48 +02:00
6da5f96cf6
NO-OP: whitespace
2019-10-15 22:47:57 +02:00
4bf079810f
Fix crash for range-export and cleanup code
...
ExportTimespanSelectorMultiple has one extra column at the start:
"selected". There are a total of 6 columns (0..5).
However ExportTimespanSelectorSingle lacks that column.
Selection is not needed and there are only 5 columns.
This lead to a copy/paste off-by one issue for
set_sort_column() w/ range_view.get_column(5) == NULL
when exporting ranges with a single range
2019-10-15 22:45:28 +02:00
9fa7e919a7
Improve multi-channel instrument listing
2019-10-15 16:02:47 +02:00
4eef9c20b8
Remve unused header includes
2019-10-15 15:30:33 +02:00
7f4af33305
Use less-or-equal for configurable I/O chancount
2019-10-15 15:29:18 +02:00
32a97d242e
Fix typos in AU channel-count calc
2019-10-15 15:24:50 +02:00
7030ab064f
Show max # of output for re-configurable I/O plugins
2019-10-15 14:52:40 +02:00
bcd1391bf7
API to count max multi-channel plugin outputs
2019-10-15 14:48:32 +02:00
cbb116026d
Fix/amend previous commit
2019-10-15 14:20:52 +02:00
59d074bcfd
Disambiguate instrument plugin names:
...
* use cached ambiguity information from backend
* combine extra info in single bracket
2019-10-15 14:09:02 +02:00
0b377fc393
Detect plugin-name ambiguities
2019-10-15 14:04:26 +02:00
7e5120e7c9
NO-OP: indent, comments and consistency
2019-10-15 12:26:14 +02:00
7fb259ece2
Fix fan-out channel-assignment
2019-10-13 23:12:38 +02:00
d8198acede
Show (# outs) in instrument-selector menu when the instrument is multi-out.
2019-10-13 13:27:07 -05:00
52eea55988
Remove unused API declaration (removed in 789f08891b
)
2019-10-13 04:12:02 +02:00
c0866f54f3
Prototype categorized preset browser
2019-10-13 04:10:16 +02:00
ee51188617
remove Session::AudioMidiSetupRequired signal (no longer necessary)
2019-10-12 12:45:27 -06:00
44445ea309
remove Session::AudioMidiSetupRequired signal (no longer necessary)
2019-10-12 12:45:18 -06:00
bfb998ca0a
remove Session::AudioMidiSetupRequired signal (no longer necessary)
2019-10-12 12:45:13 -06:00
b490115d5f
reintroduce code that can automatically connect to JACK under the right conditions
2019-10-12 12:10:10 -06:00
e6901dca30
interface range generated by internal_to_interface() may not span 0..1, so remove asserts
2019-10-11 17:09:39 -06:00
5163393c11
add missing case
2019-10-11 17:03:50 -06:00
74454d1859
do not accidentally re-create splash
2019-10-11 14:44:30 -06:00
54acf6af6a
enforce singleton nature of Splash a little more rigorously, and slightly rationalize it's use
2019-10-11 14:29:55 -06:00
da2d6312c4
call parent ::on_response()
2019-10-11 13:53:48 -06:00
789f08891b
remove responsibility for starting AudioEngine from Session
2019-10-11 10:25:32 -06:00
1c672e5191
Theme-ing: Use sensible names instead of color 1..N
...
Colors are assigned one of 6 major groups:
*Alert colors: Typically mute/solo/feedback/selections etc ... these should follow Ardour convention, only the saturation should change with themes.
*BG colors (empty spaces...)
*Contrast colors: Should contrast nicely against BG. Typically clocks, markers, panners and such.
*Black/White/Grays: you can expect these to work with "any" BG. Good for borders, separators, etc.
*Meter colors: Typically green->yellow->red or similar. Should follow Ardour conventions.
*Widget colors: slight variations of the BG color. This is where the creative choices are made.
NOTE to theme-ers: Widgets should choose one of the colors based on FUNCTION. If you want a red widget, choose "widget red", not "alert red" or "meter color9"
2019-10-11 10:32:47 -05:00
2981092d64
Add/rename source(s) in our MSVC project (gtk2_ardour)
2019-10-11 11:19:24 +01:00
89cab5802a
goto preferred over reentrancy
2019-10-10 21:47:17 -06:00
aa2ea11a47
fix error in startup sequence when command line argument is given and pre-release dialog is shown
2019-10-10 21:37:50 -06:00
aaecba2116
move pre-release dialog into StartupFSM (and enlarge font sizing)
2019-10-10 21:24:52 -06:00
b3f2ed46b1
center all(?) early-startup dialogs
2019-10-10 19:54:33 -06:00