Skip to content

Conversation

Houston4444
Copy link
Contributor

This is a way to resolve the problem i mention here: http://tracker.ardour.org/view.php?id=6826

It concerns selection of equivalents regions with key modifiers (on linux, Ctrl and Shift).
I saw in code that the behaviour is quite weird (maybe because of an old behaviour), if you press Ctrl + click, it select all equivalent regions only if tracks are selected. But there is no interest, because it deselect the tracks !!!

So after a long reflexion, I've done this:
if you click on a region with Primary key, it will add/remove to selection:

  • Only the clicked region if there is no selected region or if selection contains isolated equivalent region(s)
  • All equivalent regions in the other case

if you click on a region with Tertiary key, it will apply selection to:

  • only the clicked region if selection contains isolated equivalent region(s)
  • All equivalent regions in the other case

Note that a region with no equivalent is not considered as isolated region.

this way, naturally, if user want to select isolated regions, he starts his selection with Primary Key, else he starts his selection with no modifier key, and it does what user wants (I think).

x42 and others added 30 commits November 6, 2020 18:00
Apple's pthread does not implement barriers
(this option will be needed when 32-bit Ardour is running in 64-bit Windows)
This ensures compatibility with upcoming jack > 1.9.16,
current jack 1.9.16, as well as older versions.
This fixes an bug introduced in 7c37a18
-There's no 'printf' (!)
-New: Use LuaDialog to tell error cases instead of printing help to the log window.
This can happen if the buffers have different sizes.
This fixes crashes that bisected to 7c37a18, but it is not the root
cause; it just happened to make things worse.
We were previously dropping MIDI data silently
This uses an atomic counter and spins only on the writer side, which
preserves realtime behavior on the reader side. The spinning yields (by
using the same Boost function from Boost spinlocks) to be
scheduler-friendly.

Fixing this bug also lets us be able to confidently drop garbage early
in the writer if appropriate, so do that and avoid keeping dead wood if
possible.

This reverts commit f95439a:
"add spinlock to RCU manager to protect concurrent reader() and update() calls"
This resolves error: invalid use of 'unary *' on pointer to member
error: 'volatile gint RCUManager<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<ARDOUR::Port>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<ARDOUR::Port> > > > >::active_reads' is protected
This potentially breaks various assumptions (e.g. no resampling,
fixed buffersize) when the stream is moved to a different device.
Then again it's pulseaudio, which is unsuitable for pro-audio to
begin with.
The file linked from the bug report has a meter-change
in the middle of a bar. Ardour maps this back to the previous
bar, which already has a meter-change. Session load fails with
  "Multiple meter definitions found at 473"

The tempo-map of the file ends like this:
```
  Meter 11/32 @227040 (beat 473)
  Meter 4 / 4 @227680 (beat 483.666667)
```
This would later trigger an assert() in MidiRingBuffer<T>::read
when reading the status-byte, and cause undefined behavior down
in optimized builds.

It is unsure if this can happen, but it may explain
https://marcan.st/paste/LHDXNQ9x.txt
…hether to call non_realtime_locate(), and update butler seek count at end
pauldavisthefirst and others added 25 commits January 18, 2021 16:07
See comments in code for more information
This is mainly relevant when the button is placed inside a
Gtk::SizeGroup.
The warning "samples per period does not match." never triggered.
Previously not being able to set the requested buffersize was a
fatal error.

This adds support for soundcards that only support msec.
e.g. recent HDA Intel via SOF (Sound Open Firmware)
All lines are shown, all lines are numbered, all have same visual density
Explicit libardour/fftw3f is needed for thread-safe-planner
Note: Previously only the GUI dialog to rename playlists
performed the test to check for unique playlist names.
Combine Maser and Monitor to reuse code

Started adding query functionality

	Added query functionality to all touchosc fixed commands
Allow blocking strip commands for master or monitor
Also prefer `const_iterator`, following
```
iterator boost::unordered_map::erase(const_iterator position);
```
@Houston4444
Copy link
Contributor Author

Howw, sorry. I (or git) just made a big git error, including a lot of undesired commits.

@Houston4444 Houston4444 closed this Feb 1, 2021
@Houston4444 Houston4444 deleted the equivalent_region_selection branch February 1, 2021 10:46
@Houston4444 Houston4444 restored the equivalent_region_selection branch February 1, 2021 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.