Commit graph

9508 commits

Author SHA1 Message Date
Robin Gareus
31732462c7 migrate ArdourButton Icon rendering to Gtkmm2ext.
part one: add new API
2015-05-24 21:44:27 +02:00
Len Ovens
fb649f43ea fix for MCP panner width - closes #6341 2015-05-24 17:56:40 +02:00
nick_m
e8a0b1c514 Swap default snap modifiers (non-OSX) to avoid potential upgrade pain.
- Disable snap now defaults to alt
	- Snap absolute now defaults to alt-windows
2015-05-24 05:50:31 +10:00
nick_m
a14c7ff066 Merge branch 'relative_snap'
- Many changes to the "User Interaction" pane wrt key modifiers.
      - Snap is now relative by default (override to absolute with the
        "Snap to absolute using:" modifier).
      - Midi notes now obey both snap modifiers (disable snap and absolute snap)
      - Timefx drag now selects the primary region (less user confusion).
      - Includes MIDI event id fix.
2015-05-24 04:15:32 +10:00
nick_m
92b69a17da Make Evoral::Event ids unique always.
- probably fixes a lot of cases where note ids are assumed to be
	  unique (they weren't for copies and some others).
	- wrong branch, but it needs testing.
2015-05-24 01:53:34 +10:00
nick_m
119c644dc0 Document snap_delta modifier mask. 2015-05-23 23:41:26 +10:00
Robin Gareus
e44e0b2c9a LV2: delete existing preset before replacing it 2015-05-22 18:25:07 +02:00
David Robillard
18b54e6a85 Fix deleting and re-saving LV2 presets. 2015-05-22 00:24:37 -04:00
nick_m
5d176eefa6 Make the prefs less squashed looking, add another entry for OSX modifiers.
- Defaults are probably still wrong, but at least they are actual
	keys.
2015-05-21 23:47:32 +10:00
nick_m
186736043c Move ui-centric modifiers into ArdourKeyboard, set some bad defaults.
- Also makes "Mod4" Appear as "Windows" and adds new combination
	"Alt-Windows" to the dropdown.
	- Attempt to set a pair of default snap modifiers (without
	knowing what it actually is for OSX)
	- Copy modifier now saves
	- Snap modifier modifier problem still remains.
2015-05-21 05:32:23 +10:00
nick_m
ae0759ae88 Allow all drag -related modifiers to be set, re-instate "jump after trim"
- Copy modifier still doesn't save
	- Testers please edit the Extra section of ~/.ardourN/config to allow
	defaults to "take"
	- Note that the current defaults overlap.
	- warning - absolute snap modifier has no default and will be always
	"on" unless you set it!
2015-05-21 01:30:57 +10:00
Ben Loftis
c2ee36abc6 try to improve the ill-conceived fade_range action 2015-05-19 14:19:59 -05:00
nick_m
66221d1dea Add more modifier preferences.
Note that no defaults are set - go to prefs->user interaction to
	ensure that nothing is set to "no modifer"

	also - the copy modifier doesn't actually save its state yet.
2015-05-20 04:00:04 +10:00
Robin Gareus
d7a9c11315 fix x-fade display access beyond array boundaries 2015-05-19 19:28:22 +02:00
nick_m
0d8a331bca Remove some debugging. 2015-05-19 03:29:22 +10:00
nick_m
dc50730059 Revert to old Lock mode (still called Lock).
Also make midi notes obey the snap delta modifire
2015-05-19 03:27:50 +10:00
Robin Gareus
8287bdad1b take buffers for Split/Match into account fixes #6334 2015-05-18 16:14:07 +02:00
nick_m
aac167a19f "Lock" mode is now "Constrained", make snap absolute modifier configurable.
- user can abs/rel modifier key in prefs->user interaction
	  suggested for linux - absolute->alt ignore snap->alt-shift
	- Constrained mode works the same as button 2 drag (initial move
	  sets constraint axis).
2015-05-18 06:25:36 +10:00
nick_m
c8303c8b7e Revert incorrect region_length() definition. 2015-05-16 04:50:37 +10:00
nick_m
68a8330afc Relative snap 2015-05-16 04:15:52 +10:00
Paul Davis
e73b4e6f55 fix cleanup (code is self-evident). From Yevgeny @ waves 2015-05-14 07:01:01 -04:00
David Robillard
4d2d693190 Fix stuck notes on save during MIDI playback. 2015-05-12 20:10:23 -04:00
nick_m
13f34f3922 Layering - the return of "later is higher".
Currently we don't do anything special on layering prefs change
    (relayer only occurs when each playlist is first edited). The idea here is
    that "undo" is still available to restore previous layering in case of any
    surprises.
2015-05-10 03:15:50 +10:00
Paul Davis
f082e45298 extend save-as API to allow for new empty sessions based on current 2015-05-07 22:35:35 -04:00
Paul Davis
0038820f47 copy contents of analysis, plugins, automation and externals folders during save-as 2015-05-07 17:10:14 -04:00
Paul Davis
e902029b26 fix Session::rename() 2015-05-07 12:06:49 -04:00
Paul Davis
31acba8305 debugging rename/save-as 2015-05-05 21:30:00 -04:00
Robin Gareus
fbea6c2542 API to reset plugin parameters to default 2015-05-04 20:35:23 +02:00
Robin Gareus
54fe093371 add signal for automation state changes per plugin 2015-05-04 20:35:14 +02:00
Robin Gareus
59067d3568 clear port-list before query.
fixes crash in PortManager::silence_outputs()
2015-05-04 02:06:59 +02:00
Robin Gareus
9ec3085d71 fix thinko in 2e4428b
perspective of Ardour: signal sinks are outputs
2015-05-04 00:29:15 +02:00
Robin Gareus
aee658ef96 no more noise during startup. 2015-05-03 23:17:15 +02:00
Robin Gareus
2e4428bc97 add an API to silence buffers (without session) 2015-05-03 23:06:21 +02:00
Robin Gareus
56cc3e2407 fix portengin get_ports() flags API
require all flags to be present (same as jack)
2015-05-03 22:34:52 +02:00
Christopher Arndt
a9bc95a911 Fix mixed spaces/tabs in wscripts 2015-05-03 19:52:38 +02:00
Nils Philippsen
1e5c5e6bdf don't install static library libsmf.a 2015-05-03 19:50:36 +02:00
Robin Gareus
198c4d1d88 gfx-card & performance testing 2015-05-02 04:54:59 +02:00
Robin Gareus
8f333acb80 log(0) - who would have guessed.
marginal improvement on x86_64 for zero, 5-10% for tiny numbers;
100% time improvement (half the time) on i686 with zero.

#/bin/sh
g++ -x c++ -O3 -ffast-math -o /tmp/a.out - << EOF

#include <stdio.h>
#include <stdlib.h>
#include <cmath>
#include <limits>

static inline float accurate_coefficient_to_dB (float coeff) {                                                                                                                                                                               
#if 1 // try me
  if (coeff < 1e-15) return  -std::numeric_limits<float>::infinity();
#endif
  return 20.0f * log10f (coeff);
}

int main (int argc, char **argv) {
  long long int i;
  float f = 0;
  if (argc  < 3) return -1;
  long long int end = atoll (argv[1]);
  for (i = 0; i < end; ++i) {
    f += accurate_coefficient_to_dB (atof (argv[2]));
  }
  printf ("%f\n",f);
  return 0;
}
EOF

time /tmp/a.out 100000000000 0.0
time /tmp/a.out 100000000000 0.0
time /tmp/a.out 100000000000 0.0
2015-05-02 04:19:54 +02:00
Robin Gareus
ce259edbcd professionalize peak-meters
The peak meter needs to withstand various test-signals
without visual jitter (in particular 1kHz sine) regardless
of settings (period-size, sample-rate, custom fall-off).

This needs to be done in sync (and not by a random non-rt
‘smoothing’ thread).

On the downside this voids the ‘visual smoothing’ particularly 
with large buffersizes - but then again exactly this “always 
fall-off no matter what [the next real data will be]” is the
problem.

One the upside, there’s one less high-frequency (100Hz) thread
(Yay!) PS. it probably never worked on windows, anyway.

Only peak-meters are affected by his change.
K-meters, IEC I/II and VU were never visually smoothed.
2015-05-02 03:46:49 +02:00
Robin Gareus
2f432c3be7 dummy: ignore first cycle timing. 2015-05-01 15:58:17 +02:00
Robin Gareus
d0dca7daf0 constrain initial custom meter positions.
The processor-box GUI only allows to move the
custom meter position between trim and main_out/panner.

Previously an initial switch from In -> custom or Out -> Custom
left the meter at a position that can otherwise not be reached
by manually repositioning the custom meter.
2015-05-01 14:45:45 +02:00
Robin Gareus
840b871245 don’t count silent [x]runs if there’s no session. 2015-04-30 22:55:42 +02:00
Robin Gareus
2b294f0b43 add a sanity check 2015-04-30 21:15:35 +02:00
John Emmas
a3209b9b91 Correctly dereference 'fxbuf' when building with MSVC 2015-04-30 18:17:24 +01:00
John Emmas
fe3aafec1c When testing for x86 / x64 architecture, don't forget the symbols that MSVC can understand 2015-04-30 18:17:23 +01:00
Robin Gareus
ae38128f88 session: add signal to indicate batch updates
…to tell the UI to not redraw.
2015-04-30 17:58:33 +02:00
Robin Gareus
49ffcd0d9d clamp DSP load displsy 100% & relax LPF. 2015-04-30 02:00:50 +02:00
Robin Gareus
e3cd57ecb6 DSP load calculation: favor peak over average. 2015-04-29 21:27:37 +02:00
Paul Davis
729bc00f13 no need to close a file that will not be removed (and has no name) 2015-04-29 15:01:33 -04:00
Robin Gareus
89f5e22896 fix double precision abs value computation 2015-04-29 19:56:35 +02:00