13
0
Commit Graph

950 Commits

Author SHA1 Message Date
ce693248dc minor optimization tweak for metering
git-svn-id: svn://localhost/ardour2/branches/3.0@3814 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-27 06:52:27 +00:00
a09bc7ef13 robustify MidiModel::unmarshal_note()
git-svn-id: svn://localhost/ardour2/branches/3.0@3813 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-27 06:51:23 +00:00
5e7abcecc4 Remove duplicate and always NULL Session peak functions.
git-svn-id: svn://localhost/ardour2/branches/3.0@3811 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-26 19:26:17 +00:00
Sakari Bergen
6f4daaae0a Improved ExportProfileManager error handling, and added some missing (?) initialization
git-svn-id: svn://localhost/ardour2/branches/3.0@3807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-26 12:33:16 +00:00
Sakari Bergen
572fa80aa7 Add Import from session -functionality
git-svn-id: svn://localhost/ardour2/branches/3.0@3805 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-26 08:29:30 +00:00
95d82d7a16 An actual tempo line cache (not quite perfect when scrolling left, but miles ahead of the previous one didn't really help at all).
Tempo line updating done immediately/directly rather than in an idle handler.
Looking for feedback how this works for other people, performance wise...
Feel-wise, the obvious lag between scrolling and tempo lines being drawn is now gone.


git-svn-id: svn://localhost/ardour2/branches/3.0@3799 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 22:23:39 +00:00
1bee7c3f93 Make PBD::SearchPath less silly/boilerplatey.
Remove unnecessary copy in find_matching_files_in_search_path.


git-svn-id: svn://localhost/ardour2/branches/3.0@3797 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 15:55:34 +00:00
22dc575e4c Fix merge regression: use TempoLines class instead of same built in to editor.
git-svn-id: svn://localhost/ardour2/branches/3.0@3795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 14:36:26 +00:00
ffaf827d93 Eliminate a ton of unnecessary complete redrawing in MIDI stream views:
Only resize vertically (don't reaload model) on range changes.
Keep track of range in model while loading (writing to model), rather than double display MIDI regions to find out.
Don't go crazy and chew CPU blinking around and doing nothing on initial show of MIDI track context menu.
Change radio 'full range' and 'contents range' menu items to non-radio actions that just set the range appropriately.
Fix crashes on some esoteric case of control data I can't figure out, but fixed anyway, so I guess it all worked out well in the end for everybody.


git-svn-id: svn://localhost/ardour2/branches/3.0@3794 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 02:40:29 +00:00
Sampo Savolainen
234d56a8c4 Fixed overflow issue. Code originally meant to truncate the 64 bit integer did not work as assembler doesn't "cast" variables like C does. get_cycles() was passing the memory address of a 32 bit unsigned int to the x86 call which required 64 bits of storage space. The extra 32 bits corrupted whatever was on the stack next to the variable.
git-svn-id: svn://localhost/ardour2/branches/3.0@3793 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-22 20:44:46 +00:00
9aad7b5727 Speed up MIDI import (and non-cached cases of ControlList::eval) by a factor of roughly eleventy billion.
git-svn-id: svn://localhost/ardour2/branches/3.0@3790 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-22 17:47:21 +00:00
a23d6cd50c Fix loading midi controller data.
git-svn-id: svn://localhost/ardour2/branches/3.0@3788 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-22 16:59:32 +00:00
a2d2f738cb Move event specific ringbuffer stuff to evoral.
Sane event type interface between evoral and libardour (no more shared magic numbers).
Cleanup Evoral::Sequence iterator, fix bugs, probably introduce new ones.
Move MIDI specific event functions to Evoral::MIDIEvent (is-a Evoral::Event).


git-svn-id: svn://localhost/ardour2/branches/3.0@3785 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-22 16:28:02 +00:00
a43d53e3b9 - Call channel pressure channel pressure, not aftertouch (that's key specific).
- Add context menu items to add a bender or pressure automation track to a MIDI track.
- Now just need to figure out creation of program change events and you can create
  everything MIDI ardour understands from the GUI...


git-svn-id: svn://localhost/ardour2/branches/3.0@3782 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-21 18:08:18 +00:00
ca12fe9733 Fix CC interpolation (i.e. output a maximum reslution stream of CC for a line segment).
git-svn-id: svn://localhost/ardour2/branches/3.0@3781 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-21 17:11:11 +00:00
e14187aadd Display recorded controller data (fix show all/existing automation).
git-svn-id: svn://localhost/ardour2/branches/3.0@3779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-21 16:17:02 +00:00
Sakari Bergen
eec19ca7af * Added filename extension definitions for export presets and format profiles
* Export Preset widget doesn't allow overwriting existing presets 
* Some error detection for export preset loading
* Moved some serialization code away from ExportProfileManager to respective classes


git-svn-id: svn://localhost/ardour2/branches/3.0@3778 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-20 22:06:02 +00:00
79f59951e3 Fix precedence error.
git-svn-id: svn://localhost/ardour2/branches/3.0@3777 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-20 19:02:58 +00:00
Sakari Bergen
bc6c3ca9d5 Remove ogg and flac compile flags from libs/ardour and gtk2_ardour. This removes the FLAC/assert.h problem.
git-svn-id: svn://localhost/ardour2/branches/3.0@3774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-20 17:30:24 +00:00
27dd248369 Fix sigc building.
git-svn-id: svn://localhost/ardour2/branches/3.0@3773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-20 15:49:48 +00:00
7aea02083a Restore visible CC/etc automation tracks on session load.
Fix CC/channel mismatch when creating a new CC track.
Always display CC with 1-based numbering (like channel).


git-svn-id: svn://localhost/ardour2/branches/3.0@3763 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 17:24:52 +00:00
Sakari Bergen
68f04adec1 * Added PBD::UUID
* uuid headers are needed for building!
* Export presets and format profiles use UUID
* Moved ExportPreset class away from ExportProfileManager
* Workaround for Gtk::NoteBook bug in ExportMainDialog


git-svn-id: svn://localhost/ardour2/branches/3.0@3762 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 16:56:01 +00:00
fa4bca989b Fix paul's spacey tabs mucking up everything :)
git-svn-id: svn://localhost/ardour2/branches/3.0@3761 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 14:55:46 +00:00
6f8cd63450 chris goddard's region list patch; port 2.X marker drag/move changes to 3.0; compilation fixes-post-evoral
git-svn-id: svn://localhost/ardour2/branches/3.0@3760 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 14:38:46 +00:00
60f588f21d Fix parameter range stuff and automation time axis height (somewhat...).
Create a new AutomationLine when an AutomationRegionView without a line is clicked.


git-svn-id: svn://localhost/ardour2/branches/3.0@3757 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 06:30:49 +00:00
2539b8fc18 Fix crash on recording MIDI CC.
git-svn-id: svn://localhost/ardour2/branches/3.0@3756 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 01:46:15 +00:00
d8ade6d305 Tidy.
git-svn-id: svn://localhost/ardour2/branches/3.0@3755 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 01:16:44 +00:00
d357eca668 Factor out sequencing related things into an independant new library: "evoral".
Anything related to the storage of events/values over a range of time lives in evoral.
This includes MidiModel (Evoral::Sequence) and automation data (AutomationList (Evoral::ControlList),
	Automatable (Evoral::ControlSet), etc).
libs/evoral synced with http://svn.drobilla.net/lad/trunk/evoral r1511.


git-svn-id: svn://localhost/ardour2/branches/3.0@3754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 00:47:49 +00:00
d1536050b6 Fix SYSLIBS=1
git-svn-id: svn://localhost/ardour2/branches/3.0@3752 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-18 14:09:45 +00:00
Sakari Bergen
2ab85f4b66 Fix bugs in BroadcastInfo, and use it in SndfileSource
git-svn-id: svn://localhost/ardour2/branches/3.0@3747 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 20:34:31 +00:00
Nick Mainsbridge
006a181cd0 remove duplicate/wrong includes in last commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@3745 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 19:18:08 +00:00
Nick Mainsbridge
dca4543c13 Fix track height, partial merge of recent 2.0 updates (speed up track resizing, fix disappearing automation controls), rework layers and groups on canvas.
git-svn-id: svn://localhost/ardour2/branches/3.0@3744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 19:04:16 +00:00
Sakari Bergen
e6ea887276 gcc-4.3 include fixes
git-svn-id: svn://localhost/ardour2/branches/3.0@3743 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 16:35:05 +00:00
Sakari Bergen
5d104f8138 Yet another file missing from me
git-svn-id: svn://localhost/ardour2/branches/3.0@3741 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 13:25:32 +00:00
f2b007195c new files from sakari, missed last time
git-svn-id: svn://localhost/ardour2/branches/3.0@3740 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 12:58:33 +00:00
8876b57b0f build fixes for external libsndfile, plus make ogg & FLAC required libs now
git-svn-id: svn://localhost/ardour2/branches/3.0@3737 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 11:26:31 +00:00
1c299d5a5c merge Sakari's (sbergen) branch back into 3.0, removing libsndfile and adding taglib
git-svn-id: svn://localhost/ardour2/branches/3.0@3736 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 08:44:51 +00:00
8e9a83dfdc Don't dump immediate events.
git-svn-id: svn://localhost/ardour2/branches/3.0@3731 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-15 01:31:51 +00:00
cb19d9cb1e More gracefully handle type mismatch errors when doing playlist things (just ignore regions with the wrong type for this playlist).
git-svn-id: svn://localhost/ardour2/branches/3.0@3726 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-14 19:01:08 +00:00
b0424889b3 make tracks visible again
git-svn-id: svn://localhost/ardour2/branches/3.0@3719 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-12 09:01:52 +00:00
efc5d1678e remove bogus files
git-svn-id: svn://localhost/ardour2/branches/3.0@3714 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 21:36:50 +00:00
7da75446b8 add (copy of 2.0-ongoing) rubberband to 3.0
git-svn-id: svn://localhost/ardour2/branches/3.0@3713 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 21:35:32 +00:00
c86210a9d5 merge 2.0-ongoing into 3.0 @ 3581 - 3710
git-svn-id: svn://localhost/ardour2/branches/3.0@3712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 21:27:39 +00:00
68e943265e merge from 2.0-ongoing @ 3581
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 15:03:30 +00:00
Sakari Bergen
e4372df05b Patched libsndfile to work with FLAC >= 1.1.4
Patch derived from http://www.linuxfromscratch.org/patches/downloads/libsndfile/libsndfile-1.0.17-flac-1.patch


git-svn-id: svn://localhost/ardour2/branches/3.0@3706 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-21 11:48:28 +00:00
23e205fdd1 Fix panning to mono.
git-svn-id: svn://localhost/ardour2/branches/3.0@3688 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-12 18:05:08 +00:00
Hans Baier
025f7a1c69 * enabled moving averages again... plays much nicer in a realtime setup
* disabled excessive tracing

git-svn-id: svn://localhost/ardour2/branches/3.0@3668 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-07 04:03:17 +00:00
Hans Baier
1d015715a5 * I probably better should consult the nominal frame rate to calculate ppqn intervals
git-svn-id: svn://localhost/ardour2/branches/3.0@3666 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 23:47:21 +00:00
Hans Baier
0d077ee676 * I dont know whether this works, but I'll commit it anyway
git-svn-id: svn://localhost/ardour2/branches/3.0@3665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 23:35:15 +00:00
Hans Baier
ce38b9cfc5 * forgot to remove those lines
git-svn-id: svn://localhost/ardour2/branches/3.0@3664 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 23:03:02 +00:00
Hans Baier
e5dc9734eb * removed rolling speed average from MIDIClockSlave, ardour seems to keep time now
git-svn-id: svn://localhost/ardour2/branches/3.0@3663 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 22:57:45 +00:00
Hans Baier
8164a0992d * fixed JACK_MidiPort to get the events into the slave
git-svn-id: svn://localhost/ardour2/branches/3.0@3662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 22:22:35 +00:00
Hans Baier
6954080ce1 * forgot to add the midi clock slave cc file
git-svn-id: svn://localhost/ardour2/branches/3.0@3653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-05 00:14:03 +00:00
Hans Baier
ed990de604 * first implementation of MIDI Clock Slave support
git-svn-id: svn://localhost/ardour2/branches/3.0@3652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-04 22:37:24 +00:00
Sampo Savolainen
44fd104ada Fixes to get legacy 2.x sends working.
git-svn-id: svn://localhost/ardour2/branches/3.0@3624 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-07-16 19:49:19 +00:00
Jesse Chappell
01f18f325f fixed pitchbend byte ordering
git-svn-id: svn://localhost/ardour2/branches/3.0@3608 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-07-15 04:08:49 +00:00
Sampo Savolainen
29401241e3 Fix audio recording. Better fix needed though.
git-svn-id: svn://localhost/ardour2/branches/3.0@3605 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-07-14 18:57:14 +00:00
Doug McLain
b8c0a076dd Another gcc4.3 include
git-svn-id: svn://localhost/ardour2/branches/3.0@3485 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-22 23:29:18 +00:00
0a8e5093c3 still do cycle_start() & cycle_end() calls when freewheeling
git-svn-id: svn://localhost/ardour2/branches/3.0@3440 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-03 12:14:59 +00:00
Doug McLain
9a37f4a7be remove autostools generated files
git-svn-id: svn://localhost/ardour2/branches/3.0@3439 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-03 01:42:30 +00:00
Doug McLain
668553d5de final gcc 4.3 changes
git-svn-id: svn://localhost/ardour2/branches/3.0@3438 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 23:57:29 +00:00
Doug McLain
b49ae6eaf3 Add sigc 2.2.2
git-svn-id: svn://localhost/ardour2/branches/3.0@3437 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 21:54:56 +00:00
Doug McLain
176835be8d remove sigc 2.0.18, again. Come on baby...
git-svn-id: svn://localhost/ardour2/branches/3.0@3436 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 21:48:31 +00:00
449aab3c46 rollback to 3428, before the mysterious removal of libs/* at 3431/3432
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 21:41:35 +00:00
Doug McLain
9c0d7d72d7 remove empty sigc++2 directory
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 05:02:28 +00:00
Doug McLain
b8cb2f204e Remove sigc 2.0.18
git-svn-id: svn://localhost/ardour2/branches/3.0@3430 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-01 22:50:02 +00:00
Sampo Savolainen
4898bfb981 Translations from Petter, now in the correct branch. Now only for €19.99.
git-svn-id: svn://localhost/ardour2/branches/3.0@3428 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-01 15:13:52 +00:00
Sampo Savolainen
4b77442d06 Updated translations from Petter
git-svn-id: svn://localhost/ardour2/branches/3.0@3415 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-26 14:31:06 +00:00
Hans Baier
911c5717bc * splitted midi++/event.h in header and implementation
* added to_string(), to_xml() and from_xml() to MIDI::Event
* added partial support for midnam-Patchfiles (http://www.sonosphere.com/dtds/MIDINameDocument.dtd): midnam_patch.h/.cc
* added validation support to xml++.cc/.h
* added XMLNode::add_property(const char *name, const long value)
* added test to pbd/tests/xpath.cc


git-svn-id: svn://localhost/ardour2/branches/3.0@3412 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-25 23:35:23 +00:00
Sakari Bergen
5c60257b4a Changed Byte to uint8_t in some files (left out from drobilla's previous commit)
git-svn-id: svn://localhost/ardour2/branches/3.0@3411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-24 16:07:33 +00:00
7ffed4e61c Remove pointless Byte typedef that didn't really match any other typedef in ardour anyway.
git-svn-id: svn://localhost/ardour2/branches/3.0@3409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23 19:32:16 +00:00
Hans Baier
4aa9d17ab1 * added midnam test file for xpath
* added to_string() to MIDI::Event
* added XMLNode::attribute_value for attribute nodes
* debugging output in MidiModel (incorrect rendering of Pitchbender events: Notes lost
* added xpath tests for midnam files


git-svn-id: svn://localhost/ardour2/branches/3.0@3406 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23 10:36:51 +00:00
Hans Baier
5e856e94ac * fixed: wrong conversion from double for pitch bender in MidiModel::control_to_midi_event
git-svn-id: svn://localhost/ardour2/branches/3.0@3404 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23 02:43:09 +00:00
Hans Baier
8c743c2c0c *fix the bugfix: Input and Output Ports exchanged in Track/Bus inspector
*increased buffer sizes to get rid of overruns (PitchBender still doesnt work though....)


git-svn-id: svn://localhost/ardour2/branches/3.0@3403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23 02:13:31 +00:00
Hans Baier
1401a52764 * changed return type for pbd/xml++ xpath support to use boost::shared_ptr
git-svn-id: svn://localhost/ardour2/branches/3.0@3402 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23 00:52:25 +00:00
f32938f38e Fix rounding errors in region/source length calculuation in import (regions appearing slightly too short).
git-svn-id: svn://localhost/ardour2/branches/3.0@3396 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 21:46:44 +00:00
54bec37b5a Fix corrupt MIDI file writing when meta events are present (fixes missing first note issue on some imported files).
Reduce number of buffer allocations on MIDI read/write.


git-svn-id: svn://localhost/ardour2/branches/3.0@3395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 21:36:27 +00:00
fdebcfb838 Fix source/region length on MIDI import.
git-svn-id: svn://localhost/ardour2/branches/3.0@3391 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 20:00:54 +00:00
f360ef94da Arbitrarily increase MIDI process buffer size to avoid overruns with very dense data.
git-svn-id: svn://localhost/ardour2/branches/3.0@3389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 16:44:22 +00:00
Hans Baier
8a97a89f3e * added more tests and profiling for pbd/xml++ xpath support
git-svn-id: svn://localhost/ardour2/branches/3.0@3387 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 16:02:05 +00:00
Hans Baier
376263d925 * added XPath support to pbd/xml++
git-svn-id: svn://localhost/ardour2/branches/3.0@3384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 12:06:20 +00:00
975d410930 Fix MIDI selection/tool issues (issue #0002415 and other bugs).
Fix selection preservation across MIDI model editing commands (for both note moving and resizing).
Fix selection breakage introduced by old selection preservation stuff (fix zombie selection).


git-svn-id: svn://localhost/ardour2/branches/3.0@3381 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 01:02:04 +00:00
Hans Baier
7a9b4a0aa2 * bugfix: Inputs and Outputs swapped in the Track/Bus Inspector
* bugfix: control_to_midi_event has no effect
* typo (track/bus inspector)


git-svn-id: svn://localhost/ardour2/branches/3.0@3379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 23:01:40 +00:00
96384d65a6 More petty clean ups of MIDI stuff.
Use more complete header I had laying around for MIDI controller names / depollute Automatable.


git-svn-id: svn://localhost/ardour2/branches/3.0@3378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 18:07:31 +00:00
Hans Baier
23c6936f43 * Made the MIDI standard names show up for controllers instead of just controller numbers
git-svn-id: svn://localhost/ardour2/branches/3.0@3376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 09:26:49 +00:00
873d884fb2 Separate audio and MIDI disk buffer size (and track read ahead) parameters.
Clean up and remove more unused stuff from MidiDiskstream.
Remove false assumptions that MIDI ring buffer space (bytes) corresponds to disk I/O chunk length (frames).


git-svn-id: svn://localhost/ardour2/branches/3.0@3375 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 07:45:45 +00:00
e9d9f8d8cc Clean up MidiDiskstream code, more closely match audio diskstream.
git-svn-id: svn://localhost/ardour2/branches/3.0@3374 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 05:05:26 +00:00
d9228151ae Don't read inactive tracks in Diskstream (merge oops, now matches 2.0).
Change soundtouch pkg-config name back to to "soundtouch-1.0" (Debian switched to this, I think fedora uses it too?).


git-svn-id: svn://localhost/ardour2/branches/3.0@3373 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21 04:23:23 +00:00
Hans Baier
415131ef53 * fix out of range MIDI event detection
git-svn-id: svn://localhost/ardour2/branches/3.0@3366 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 23:50:29 +00:00
7666a4a5ff Don't create tracks for empty MIDI channels on import (i.e. make import look clean and sensible).
Remove no longer useful debugging output.


git-svn-id: svn://localhost/ardour2/branches/3.0@3365 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 22:40:35 +00:00
415f80dc9f Fix out of range MIDI event error detection (duuuhhhhh).
git-svn-id: svn://localhost/ardour2/branches/3.0@3364 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 22:00:14 +00:00
Hans Baier
0c25b2aa8e * Fixed crash on closing MIDI automation tracks, because ARDOUR::Parameter::operator< violated strict weak ordering,
which is necessary for std::set to work correctly
* few small style guide corrections


git-svn-id: svn://localhost/ardour2/branches/3.0@3363 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 20:54:24 +00:00
cb94baf6f4 Fix invalid error message during MIDI recording (or files with stuck notes).
Handle stuck notes more gracefully in the view (probably should show up as a diamond though?).


git-svn-id: svn://localhost/ardour2/branches/3.0@3359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 03:11:28 +00:00
f53baec2e4 Tidy up MIDI debugging output.
git-svn-id: svn://localhost/ardour2/branches/3.0@3358 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 02:50:19 +00:00
722b85e828 Fix crash on out of range MIDI events (though this shouldn't be possible at all....).
git-svn-id: svn://localhost/ardour2/branches/3.0@3357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 02:35:37 +00:00
504a3d765f Re-comment-out MIDI iteration debug prints (oops).
git-svn-id: svn://localhost/ardour2/branches/3.0@3353 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-15 06:00:22 +00:00
e43da352cc Fix silly bugs introduced in previous commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@3352 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-15 05:53:25 +00:00
05801cc3d6 Eliminate excessive allocation (for every event) during MidiModel iteration.
git-svn-id: svn://localhost/ardour2/branches/3.0@3351 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-15 05:00:28 +00:00
Hans Baier
a65044d097 * formatting
* fixed corruption bugs due to allocation hell of MidiModel::const_iterator::_event: Changed it into boost::shared_ptr
* fixed  MidiModel::const_iterator bugs: 
	-First note on lost, if an automation event comes first
	-corrupt MidiEvent compared to automation event if there are no notes in the region
* (hopefully) fixed possible race condition 
* fixed range check in MidiDiskstream::set_state for channel mask
* treating notes with duration 0 more gently in MidiRegionView (warning instead of assertion)


git-svn-id: svn://localhost/ardour2/branches/3.0@3345 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-13 18:40:10 +00:00
a25be81b5d Fix event allocation issues with MidiModel iteration.
git-svn-id: svn://localhost/ardour2/branches/3.0@3342 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-13 00:15:26 +00:00
bded96269f Remove junk from MidiModel::write_to
git-svn-id: svn://localhost/ardour2/branches/3.0@3341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 23:34:35 +00:00
Hans Baier
6fb1ab3157 * added files in patch for ardour-3.0 to compile on OS X thanks to Sakari Bergen
git-svn-id: svn://localhost/ardour2/branches/3.0@3339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 11:49:03 +00:00
Hans Baier
636f2184a5 * applied patch for ardour-3.0 to compile on OS X thanks to Sakari Bergen
git-svn-id: svn://localhost/ardour2/branches/3.0@3338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 11:46:53 +00:00
Hans Baier
277bfa35d5 * Quick Fix: assertion converted into warning in MidiModel::write_to
git-svn-id: svn://localhost/ardour2/branches/3.0@3337 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 11:42:41 +00:00
Hans Baier
d467245152 * fixed various event size bugs
git-svn-id: svn://localhost/ardour2/branches/3.0@3336 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 10:03:53 +00:00
8ca72c4eca Fix various MIDI corruption bugs.
Re-enable MIDI CC controller bars and other immediate output (hans commented out, tsk tsk).
Write channel mode as textual enumeration instead of magic number.
Better atomic (almost) channel mode switching on MIDI ring buffer (was a possible, if unlikely, source of corruption).
Handle some cases of broken MIDI, and oversized events, more gracefully.


git-svn-id: svn://localhost/ardour2/branches/3.0@3335 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 02:40:48 +00:00
Hans Baier
a76e2128ef * disabled some debugging output
* fixed (my) bugs in MidiRingBuffer: aborted reading on corrupted events and event does not match channel mask


git-svn-id: svn://localhost/ardour2/branches/3.0@3333 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-11 21:03:27 +00:00
Hans Baier
ddaaff4483 * Added a couple of guards to prevent MIDI::Events with NULL buffers to enter into ring buffers
git-svn-id: svn://localhost/ardour2/branches/3.0@3332 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-11 20:23:17 +00:00
Hans Baier
7fd65ed78d * fixed bug: MIDI automations could not be restored from XML (NullAutomationType)
git-svn-id: svn://localhost/ardour2/branches/3.0@3331 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-10 01:25:38 +00:00
Hans Baier
4e745fc17c * formatting/style guide
* bugfix: midi_util.h only considered channel events up to E0, but had to be EF
* bugfix: parameter.h operator == should also compare channel (drobilla, correct me if I am wrong)
* added some assert() guards


git-svn-id: svn://localhost/ardour2/branches/3.0@3330 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-09 16:10:36 +00:00
Hans Baier
8d44391f4b * adjusted formatting a bit to style guide
* fixed: velocity value left on canvas
* fixed: end-of-track problem still showed up sometimes
* enabled heaps of debugging output in order to debug MidiModel corruption 


git-svn-id: svn://localhost/ardour2/branches/3.0@3329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-09 11:28:14 +00:00
Hans Baier
f651190162 * fixed some valgrind issues (uninitialized instance vars)
* Added preliminary support for program changes flags from automation lists


git-svn-id: svn://localhost/ardour2/branches/3.0@3327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-08 09:53:19 +00:00
Hans Baier
a42913736a * fixed crash bug in MidiModel::const_iterator::operator=: copied iterator from other which becomes invalid because
the container the iterator points into is destroyed
* fixed conditional jump from uninitialised value in CanvasNote


git-svn-id: svn://localhost/ardour2/branches/3.0@3326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 22:54:06 +00:00
Hans Baier
c415c44b9c * fixed crash bug in MidiModel::const_iterator::operator++
git-svn-id: svn://localhost/ardour2/branches/3.0@3325 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 21:31:49 +00:00
Hans Baier
98e653714e * enabled some debugging output :|
git-svn-id: svn://localhost/ardour2/branches/3.0@3321 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 10:49:16 +00:00
Hans Baier
8c0e27928a * bugfix: SMFSource: track footer at beginning of track not overwritten
git-svn-id: svn://localhost/ardour2/branches/3.0@3320 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 09:38:23 +00:00
Hans Baier
8557d0c69f * bugfix: SMFSource: track footer overwrote the last MIDI event
git-svn-id: svn://localhost/ardour2/branches/3.0@3319 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 09:15:45 +00:00
Hans Baier
cb88f8cce9 * fixed end of track at beginning-problem when writing MIDI files (also the EOT event was written multiple times)
git-svn-id: svn://localhost/ardour2/branches/3.0@3317 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-06 05:17:51 +00:00
e55e3fde7c Comment out excessive terminal output.
Write all events (not just notes) to SMF file from MidiModel
	(just use iterator instead of hand-hacked MidiModel::write_to).
Various MIDI bug fixes.


git-svn-id: svn://localhost/ardour2/branches/3.0@3312 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-03 21:55:43 +00:00
d2465f311f Fix midi_model.cc formatting.
Clear controller data (not just note data) in MidiModel::clear.


git-svn-id: svn://localhost/ardour2/branches/3.0@3311 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-03 18:14:35 +00:00
a7ec072ce4 Typo.
git-svn-id: svn://localhost/ardour2/branches/3.0@3310 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-03 07:26:16 +00:00
Hans Baier
b0d49651a7 * MidiModel::const_iterator::operator++: added AUTOMATION type
* automatable.cc/parameter.cc: Added friendly names for the new Midi parameter types
* fixed a failed assertion problem (note on channel != note off channel), but have no idea how :)
* changed lots of whitespace :|


git-svn-id: svn://localhost/ardour2/branches/3.0@3309 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-03 06:37:22 +00:00
fb1fbf71af Fix range problems for pitch wheel controller.
git-svn-id: svn://localhost/ardour2/branches/3.0@3308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 21:34:00 +00:00
ab2af5d185 Fix several crashes on MIDI recording.
Fix MIDI CC iterator infinite looping.
Only allocate Text widget for MIDI events if necessary.


git-svn-id: svn://localhost/ardour2/branches/3.0@3307 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 20:57:27 +00:00
Hans Baier
0e394fb66b * removed old implementation for Program Changes from MidiModel
* Added Automation based implementation for Program Changes, Pitch Bender and Channel Aftertouch

git-svn-id: svn://localhost/ardour2/branches/3.0@3304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 19:09:32 +00:00
da45f489dd Fixes for GCC 4.3.
git-svn-id: svn://localhost/ardour2/branches/3.0@3303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 18:35:05 +00:00
Hans Baier
38eb5f4539 * renamed canvas-midi-event.* into canvas-note-event.*
* make MidiModel keep track of its CanvasProgramChange instances

git-svn-id: svn://localhost/ardour2/branches/3.0@3297 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 21:58:05 +00:00
Hans Baier
d3cc2981b0 * added new defaults for program change ui gtk2_ardour/ardour3_ui_default.conf
* reverted involuntarily committed changes

git-svn-id: svn://localhost/ardour2/branches/3.0@3296 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 12:51:10 +00:00
Hans Baier
c0d467f461 * added defaults for program change ui gtk2_ardour/ardour3_ui_default.conf
git-svn-id: svn://localhost/ardour2/branches/3.0@3295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 12:38:46 +00:00
Hans Baier
58e569c9e1 * Renamed CanvasMidiEvent into CanvasNoteEvent
* changed MidiModel::write_to to include note off handling *and* time sorting

git-svn-id: svn://localhost/ardour2/branches/3.0@3294 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 08:37:53 +00:00
Hans Baier
6d319e2132 * first prototype of program changes UI show up correctly (see http://www.flickr.com/photos/24012642@N02/2451596190/)
git-svn-id: svn://localhost/ardour2/branches/3.0@3293 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 07:28:24 +00:00
Hans Baier
f41f334be6 * forgot to commit this last time
git-svn-id: svn://localhost/ardour2/branches/3.0@3291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-26 09:07:32 +00:00
Hans Baier
0fc3087d7d * recording/playing/saving/loading program changes basically seems to work now
git-svn-id: svn://localhost/ardour2/branches/3.0@3288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-26 00:12:54 +00:00
Hans Baier
d9de6f2c4c * preliminary impl for PGM Change support in MidiModel
git-svn-id: svn://localhost/ardour2/branches/3.0@3283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-24 15:04:56 +00:00
Hans Baier
f91006d8d2 * added methods for pich bender/pgm change/aftertouch to MidiEvent
git-svn-id: svn://localhost/ardour2/branches/3.0@3282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-23 02:27:27 +00:00
Hans Baier
53f3b407bb * refactored MidiControlIterator to improve readability of code
* commented out crashing section (control iterator stuff in MidiModel::const_iterator::operator++)
* added midi_panic() on no_roll in midi tracks so that all notes stop when pressing stop
* mark midi model edited on all changes so that recorded tracks get saved


git-svn-id: svn://localhost/ardour2/branches/3.0@3281 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-23 02:15:57 +00:00
Hans Baier
b81fd9415e * disabled some debugging output
* make record buttons appear in MIDI mixer strips

git-svn-id: svn://localhost/ardour2/branches/3.0@3280 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-22 22:39:45 +00:00
Hans Baier
c72bf18bf4 * persisting/restoring track channel settings works now
git-svn-id: svn://localhost/ardour2/branches/3.0@3276 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-21 15:10:13 +00:00
Hans Baier
9c4cc26d77 *fixed bug: channel mask not set in MidiRingBuffer
git-svn-id: svn://localhost/ardour2/branches/3.0@3274 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-21 10:21:10 +00:00
Hans Baier
f31abc5eaf * UI fixes for track channel selection
* implemented 'forcing midi events into a single channel'
* see http://www.flickr.com/photos/24012642@N02/2430165889/

git-svn-id: svn://localhost/ardour2/branches/3.0@3273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-21 09:39:05 +00:00
Hans Baier
85c223da0d * first prototype for track based channel selection works
git-svn-id: svn://localhost/ardour2/branches/3.0@3267 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-19 02:11:11 +00:00
Hans Baier
0c66131fea * bugfix in midi editing: adding notes impossible after delete
git-svn-id: svn://localhost/ardour2/branches/3.0@3255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-16 02:30:37 +00:00
Hans Baier
c4bdcb82af * fixed bug: crash because of invalidated iterator while removing midi notes from model
git-svn-id: svn://localhost/ardour2/branches/3.0@3253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-15 23:00:06 +00:00
2656e0a43b (3.0) fix compile error related to Controllable/shared_ptr confusion post-merge
git-svn-id: svn://localhost/ardour2/branches/3.0@3251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-12 14:02:00 +00:00
Hans Baier
aae8262a36 * persistent undo for MIDI edits works now
* fixed bug: dragging of notes beyond left region bounds made it disappear (unsigned int wrap around)

git-svn-id: svn://localhost/ardour2/branches/3.0@3249 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-11 15:49:52 +00:00
cb41314642 merge 3.0 from 2.0-ongoing@3243
git-svn-id: svn://localhost/ardour2/branches/3.0@3248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-11 14:06:50 +00:00
Hans Baier
9aa8af5a28 * refactored (un)marshalling of DeltaCommand into cleaner code using sigc
git-svn-id: svn://localhost/ardour2/branches/3.0@3245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-10 07:30:10 +00:00
Hans Baier
1a0044b35d * implemented persistent undo for MidiModel::DeltaCommand. Deserializing works, but weirdly has no effect when undo/redo is applied in the editor
git-svn-id: svn://localhost/ardour2/branches/3.0@3240 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-09 15:33:01 +00:00
Hans Baier
f39606f985 * fixed bug: MIDI region did not sound if its position was less than its start offset
git-svn-id: svn://localhost/ardour2/branches/3.0@3239 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-08 23:57:59 +00:00
Hans Baier
a606a83d2e * bugfix from http://tracker.ardour.org/view.php?id=2155 thanks to kristian: fix glibmm include issues with newer glib
git-svn-id: svn://localhost/ardour2/branches/3.0@3222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-07 16:32:14 +00:00