Commit Graph

546 Commits

Author SHA1 Message Date
Jonathan Moore Liles 801c1c484c Don't drop frames when buffer crosses loop boundaries. 2008-05-31 20:15:32 -05:00
Jonathan Moore Liles e8ea8724ce First approximation of looping regions at playback. 2008-05-31 20:15:32 -05:00
Jonathan Moore Liles dbe80ad8e6 Begin to support region loop points. 2008-05-31 20:15:32 -05:00
Jonathan Moore Liles e48c429fd6 Fix zoom-dependent error in snap code. 2008-05-31 20:15:01 -05:00
Jonathan Moore Liles 54fe22e2d4 Make 'fit' zoom action reset the viewport position. 2008-05-31 20:14:55 -05:00
Jonathan Moore Liles d248786085 Clean up menu code. Assure valid callbacks. 2008-05-30 18:48:44 -05:00
Jonathan Moore Liles f0cfdd01c8 Make the sequence focus color more obvious. 2008-05-30 10:21:39 -05:00
Jonathan Moore Liles a004e4a193 Always show control points when control sequence is focused. 2008-05-30 10:15:12 -05:00
Jonathan Moore Liles f048c4ccaa Fix misdraw while scrolling. 2008-05-29 23:17:41 -05:00
Jonathan Moore Liles f5c15e3941 Delay slow-sync rebuffer until absolutely necessary. 2008-05-29 23:11:56 -05:00
Jonathan Moore Liles f0a973d652 Cleanup menu generation. 2008-05-29 22:34:42 -05:00
Jonathan Moore Liles c98016d5e4 Move Track context menu over to the same system that Sequence and Audio_Region use. 2008-05-29 22:28:56 -05:00
Jonathan Moore Liles 4bb22f2506 Move keyboard bindings for timeline. 2008-05-29 21:28:26 -05:00
Jonathan Moore Liles fd9497f044 Implement move playhead by beat. 2008-05-29 17:45:04 -05:00
Jonathan Moore Liles 0acc95509e Clean up display of annotation regions. 2008-05-29 16:54:10 -05:00
Jonathan Moore Liles 3d3998cccb Always draw region boxes with horizontal shading. 2008-05-29 16:54:03 -05:00
Jonathan Moore Liles b17623720e Change the way project length is calculated. 2008-05-29 16:10:49 -05:00
Jonathan Moore Liles 5543edf8ec Fit zoom when opening project. 2008-05-29 15:46:17 -05:00
Jonathan Moore Liles 7b03a7fb4d Lock open project. 2008-05-29 15:45:59 -05:00
Jonathan Moore Liles edb665ebc3 Handle keypress events properly for the selection. 2008-05-29 13:01:10 -05:00
Jonathan Moore Liles 4163d0230b Draw crossfades properly even when zoomed way in. 2008-05-29 11:38:06 -05:00
Jonathan Moore Liles ea8c35d0fe Rewrite Audio_Region context menu. Use the menu for handling region specific shortcuts. 2008-05-29 01:11:35 -05:00
Jonathan Moore Liles 43e561982b Work on timeline menu actions. 2008-05-28 20:31:06 -05:00
Jonathan Moore Liles 8a3a38b2a0 Properly clear pushed and belowmouse at sequence widget destruction time. 2008-05-28 01:13:23 -05:00
Jonathan Moore Liles 6330fde479 Fix format for HMS clock. 2008-05-28 00:20:45 -05:00
Jonathan Moore Liles 5fb04e863b Add next/prev widget bindings for sequences. 2008-05-28 00:19:14 -05:00
Jonathan Moore Liles 60a6c29197 Clean up build. 2008-05-27 23:21:01 -05:00
Jonathan Moore Liles dc7d769cf7 Fix order of disk stream thread destruction. 2008-05-27 21:44:57 -05:00
Jonathan Moore Liles 54f0fd2fd9 Fix uninitialized members found by valgrind. 2008-05-27 19:38:45 -05:00
Jonathan Moore Liles 2c502795ab Remove dead code. 2008-05-27 19:37:42 -05:00
Jonathan Moore Liles 455dc11dc8 Fix order of track destruction. 2008-05-27 19:37:41 -05:00
Jonathan Moore Liles c8eb82d124 Make timeline 'length' dynamic. 2008-05-27 18:47:47 -05:00
Jonathan Moore Liles b4e2a6b4b6 makefile: improve git integration 2008-05-27 16:27:19 -05:00
Jonathan Moore Liles 9dedd7b837 Don't let timeline scrollbar eat Home and End. 2008-05-26 22:57:54 -05:00
Jonathan Moore Liles 622a4a68dc Make sequence jumping and duplication work for all sequence widgets. 2008-05-26 22:49:27 -05:00
Jonathan Moore Liles 424b1b9b8f Clean up keyboard focus navigation. 2008-05-26 22:32:35 -05:00
Jonathan Moore Liles 035474e17c Clean up a number of focus/event handling problems. 2008-05-26 19:29:05 -05:00
Jonathan Moore Liles 331078c3b2 Move Engine portion of Control_Sequence into Engine/. 2008-05-26 14:39:50 -05:00
Jonathan Moore Liles 2fe8d7b401 Move Fl_Menu_Settings into FL/. Add makefile rules to rebuild dependencies. 2008-05-26 13:14:55 -05:00
Jonathan Moore Liles 318144baed Clean up comments. 2008-05-26 10:16:19 -05:00
Jonathan Moore Liles 4c45197003 Fix order of destruction for sequences. 2008-05-26 01:20:49 -05:00
Jonathan Moore Liles 3717eb12c3 Avoid deadlock. 2008-05-26 00:46:49 -05:00
Jonathan Moore Liles 3ef7b52ebc Get rid of duplicate :color field. 2008-05-26 00:46:37 -05:00
Jonathan Moore Liles 53876092f4 Permit removing tracks while the transport is rolling, since it doesn't hurt anymore. 2008-05-25 23:19:13 -05:00
Jonathan Moore Liles b20156053e Add appropriate locking. Make control sequences removable. 2008-05-25 23:08:25 -05:00
Jonathan Moore Liles 03465d82b0 Add color choice to region popup menu. 2008-05-25 22:40:38 -05:00
Jonathan Moore Liles ebc059ac31 Don't bother rebuffering if the transport isn't rolling. 2008-05-25 21:51:55 -05:00
Jonathan Moore Liles 0e1ac2563d Overhaul timeline event handling. 2008-05-25 21:51:36 -05:00
Jonathan Moore Liles 0525433a41 Improve about dialog. 2008-05-25 19:03:43 -05:00
Jonathan Moore Liles d521c2af23 Cleanup debug header. 2008-05-25 17:34:26 -05:00
Jonathan Moore Liles c210a65a00 Shutdown IO threads before destroying Disk_Stream. 2008-05-25 17:27:24 -05:00
Jonathan Moore Liles d2afffbb7c Don't trash memory with timeline menu stuff. 2008-05-25 15:48:37 -05:00
Jonathan Moore Liles 9b38190211 Add locking. Don't call handle_widget_change often while dragging. 2008-05-25 14:11:28 -05:00
Jonathan Moore Liles 9f567c6966 TLE: clean up menubar. 2008-05-25 13:45:20 -05:00
Jonathan Moore Liles 0d40ca5b6b build: use git to generate lists of sources for makefile. 2008-05-25 09:39:29 -05:00
Jonathan Moore Liles 26b9f2cf6b Move more timeline keybindings into menu. 2008-05-25 01:18:30 -05:00
Jonathan Moore Liles 06a0518463 Rearrange menus. Keep timeline menu in timeline class and share it with popup menu. 2008-05-25 01:14:17 -05:00
Jonathan Moore Liles 3d40848e52 TLE: Rename menu items. 2008-05-24 23:31:41 -05:00
Jonathan Moore Liles ba430eb236 Add 't' key on timeline to add a tempo point using the current range as the beat length. 2008-05-24 22:27:23 -05:00
Jonathan Moore Liles 734e3b555b Cleanup. 2008-05-23 18:48:44 -05:00
Jonathan Moore Liles 1616465e39 Overhaul capture finalization. 2008-05-22 21:23:41 -05:00
Jonathan Moore Liles 232d23915a Mipmap peak building actually happens in the UI thread, not the IO thread.
Therefore, it is always necessary to fork when mipmapping peaks after capture.
2008-05-22 18:12:51 -05:00
Jonathan Moore Liles 33c646109f Adapt other classes to the new handle_widget_change() method. 2008-05-22 17:02:39 -05:00
Jonathan Moore Liles 8eb4cb8735 Cleanup. 2008-05-22 15:58:36 -05:00
Jonathan Moore Liles c79d48c663 Rebuffer when an audio region is moved. 2008-05-22 15:34:21 -05:00
Jonathan Moore Liles 6c9e2c8c07 Add locking for sequence widget drags. 2008-05-22 14:20:15 -05:00
Jonathan Moore Liles 98507e60bd Add locking for track widget drags. 2008-05-22 14:19:39 -05:00
Jonathan Moore Liles f9fb837c58 Add missing GPL headers. 2008-05-22 11:34:33 -05:00
Jonathan Moore Liles df93c3f8ef Minor build cleanup. 2008-05-22 02:13:27 -05:00
Jonathan Moore Liles bd82f954a8 Move (mostly) all Engine functionality into Engine/ directory. 2008-05-22 02:05:49 -05:00
Jonathan Moore Liles 0840face8f Cleanup. 2008-05-21 22:05:10 -05:00
Jonathan Moore Liles 2a1eac2731 Set visual at startup. 2008-05-21 22:02:38 -05:00
Jonathan Moore Liles 821250d9de Allow the user to use r+drag to set the range. 2008-05-21 21:49:14 -05:00
Jonathan Moore Liles 3938253a5a Change the way cursor caps are drawn. 2008-05-21 21:29:06 -05:00
Jonathan Moore Liles d9a8ec1d13 Minor cleanups. 2008-05-21 19:40:25 -05:00
Jonathan Moore Liles fc6ffee22e Handle missing sources gracefully. 2008-05-20 19:46:02 -05:00
Jonathan Moore Liles 7e72339ea9 configure: always name *_LIBS and *_FLAGS in uppercase. 2008-05-20 16:07:03 -05:00
Jonathan Moore Liles 48d7f61f8a Respond appropriately to changes in JACK buffer size. 2008-05-19 23:30:08 -05:00
Jonathan Moore Liles 97f0283780 Add locking to redraws triggered while recording. 2008-05-19 00:07:42 -05:00
Jonathan Moore Liles 8d385de54c Draw secondary cursors on timeline instead of in the overlay. 2008-05-18 22:45:37 -05:00
Jonathan Moore Liles ef254cfbae Initialize properties in the right order. 2008-05-18 22:45:07 -05:00
Jonathan Moore Liles 11add2dd63 Oops. Don't allow an unselected sequence widget to drag past 0 either. 2008-05-18 22:06:14 -05:00
Jonathan Moore Liles 47dbf6c537 Clear up a load of compiler warnings. 2008-05-18 22:01:09 -05:00
Jonathan Moore Liles 9ef454291a Fix selection issues.
This fixes the bug where some selected wigets would disappear to frame 0.
It also prevents moving any widget behind 0.
2008-05-18 21:40:42 -05:00
Jonathan Moore Liles 06de784661 Minor cleanup. 2008-05-18 21:01:59 -05:00
Jonathan Moore Liles d40bc52a5a Cleanups. Move waveform scaling into Waveform class. 2008-05-18 19:42:27 -05:00
Jonathan Moore Liles 8d7bee3050 Improve about dialog. 2008-05-18 19:31:27 -05:00
Jonathan Moore Liles 3e1a32c8be Cleanup. 2008-05-18 00:09:18 -05:00
Jonathan Moore Liles 117d7cf9f7 Move helper functions out of 'configure' script. 2008-05-17 21:52:57 -05:00
Jonathan Moore Liles 60132b8595 Work on freewheel mode. 2008-05-17 20:45:56 -05:00
Jonathan Moore Liles 5cd2475609 Cleanup build. 2008-05-18 00:15:39 +00:00
Jonathan Moore Liles 2695f9eed5 Add some framework for freewheeling mode. 2008-05-17 16:37:41 -05:00
Jonathan Moore Liles 9261c3fea6 Improve the appearance of message dialogs. 2008-05-17 13:42:50 -05:00
Jonathan Moore Liles f920867579 Build mipmap peaks in capture IO thread, but don't wait on it to finish. May be incorrect. 2008-05-17 11:23:37 -05:00
Jonathan Moore Liles b57acca314 Fork for building peak mipmaps after recording. 2008-05-17 00:35:21 -05:00
Jonathan Moore Liles f4661611a0 Get stop frame right when finalizing regions. 2008-05-17 00:34:42 -05:00
Jonathan Moore Liles 91614d9aa1 Snap trims as well. 2008-05-17 00:14:26 -05:00
Jonathan Moore Liles 4422c354f7 Cleanup open/new behavior. 2008-05-16 23:34:44 -05:00
Jonathan Moore Liles 251d7f9267 Makefile cleanups. 2008-05-16 21:50:33 -05:00
Jonathan Moore Liles 24f935d957 Minor cleanup. 2008-05-16 21:21:44 -05:00
Jonathan Moore Liles 235993b7b3 Fix snap to widget bug. 2008-05-16 21:07:56 -05:00
Jonathan Moore Liles 21e82b64f6 Minor cleanup. 2008-05-16 20:55:43 -05:00
Jonathan Moore Liles 9f3cc2a2e0 Improve tick calculation? 2008-05-16 18:44:18 -05:00
Jonathan Moore Liles 65b6d544ad Don't fail in render_tempomap on the first beat of the first bar. 2008-05-16 18:44:08 -05:00
Jonathan Moore Liles 7075a9a2e1 Clean up make.conf format. 2008-05-16 16:06:15 -05:00
Jonathan Moore Liles ed23544065 Continue improving build system. 2008-05-16 15:52:10 -05:00
Jonathan Moore Liles 8443acf570 Improve the build/configure system. 2008-05-16 14:12:52 -05:00
Jonathan Moore Liles 8af768cb90 Add enabled() predicate to LASH_Client... 2008-05-15 20:01:56 -05:00
Jonathan Moore Liles 558cec0965 Move LASH poll timer into LASH.C. 2008-05-15 19:53:46 -05:00
Jonathan Moore Liles fabbd3e893 Add logos to pixmaps directory and use PNG at runtime rather than
including a huge XPM in the source.
2008-05-15 19:26:51 -05:00
Jonathan Moore Liles 79b16b56c9 Improve LASH support. 2008-05-14 23:23:16 -05:00
Jonathan Moore Liles 28bc3ff1c6 Minor cleanup. 2008-05-14 21:15:02 -05:00
Jonathan Moore Liles 825bb4c3e7 Don't die if render_tempomap() is called with an empty map. 2008-05-14 21:14:56 -05:00
Jonathan Moore Liles 71c75ff48a Continue integrating LASH support. 2008-05-14 20:10:49 -05:00
Jonathan Moore Liles 05ab03fb10 Add LASH_Client interface class. 2008-05-14 19:48:46 -05:00
Jonathan Moore Liles d6e8ec3c4a Make time points reset the beat count. 2008-05-14 18:47:28 -05:00
Jonathan Moore Liles 705482f72f Make time points editable etc.
Fix sorting of tempomap.
2008-05-14 17:36:23 -05:00
Jonathan Moore Liles b3d2cf94a1 Un-unify tempo and time sequences...
Add an update_tempomap() method to Timeline instead, which must be
called every time the time or tempo tracks are edited. This is perhaps as
ugly as the unified map was, but is at least a bit more compatible with
the possibility of moving all the meat of tempomapping into a library.
2008-05-14 16:50:31 -05:00
Jonathan Moore Liles bde6f2c557 Add time signature and tempo info to BBT clock. 2008-05-14 16:31:43 -05:00
Jonathan Moore Liles 577f0bd1d0 Improve tick calculation. 2008-05-14 16:31:42 -05:00
Jonathan Moore Liles 682645f2e1 Add (possibly bogus) timebase callback. 2008-05-14 16:31:42 -05:00
Jonathan Moore Liles b5c5a01fd9 Fix measure line drawing. 2008-05-14 16:31:07 -05:00
Jonathan Moore Liles 558430847c Fix beat and tick calcualtion. 2008-05-14 16:31:06 -05:00
Jonathan Moore Liles 1cd36adce8 Improve tempomap rendering. 2008-05-14 16:31:05 -05:00
Jonathan Moore Liles 4f52567504 Simplify and improve tempomap, measure line drawing and snapping. 2008-05-14 16:31:05 -05:00
Jonathan Moore Liles 974618863b Improve the measure line drawing routine. 2008-05-14 16:30:09 -05:00
Jonathan Moore Liles 62625f35f7 Improve drawing of unified tempomap. 2008-05-14 16:26:23 -05:00
Jonathan Moore Liles 02db2c1251 Include widget y() and h() in event_widget() test. 2008-05-14 16:26:21 -05:00
Jonathan Moore Liles a5a3e737bb Improve BBT clock display. 2008-05-13 16:40:18 -05:00
Jonathan Moore Liles 6dd66f328f Include tick ibn BBT info. 2008-05-13 16:38:13 -05:00
Jonathan Moore Liles 9bb119e0b5 Get BBT info right. 2008-05-13 16:16:14 -05:00
Jonathan Moore Liles d4d5c17e44 Work on actually rendering tempo map into BBT info. 2008-05-13 03:31:25 -05:00
Jonathan Moore Liles 30b4c1bb4b Try to be more accurate in drawing measure lines. 2008-05-12 23:38:36 -05:00
Jonathan Moore Liles 50897c6cd7 Clean up snap behavior. 2008-05-12 23:38:05 -05:00
Jonathan Moore Liles 71c4964174 Don't always draw waveforms inverted! 2008-05-12 22:06:07 -05:00
Jonathan Moore Liles f5db8ac7ad Fix order of Sequence_Point initialization. 2008-05-12 22:02:21 -05:00
Jonathan Moore Liles 8422915e87 Fix uninitialized member. 2008-05-12 22:00:35 -05:00
Jonathan Moore Liles 3e5c760c88 Oops. Fix control sequence playback broken by renmaing. 2008-05-12 21:43:12 -05:00
Jonathan Moore Liles 99795a4f56 Move range trimming math into Range class. 2008-05-12 11:23:55 -05:00
Jonathan Moore Liles f41f23c306 Oops. Fix draw_measure's use of renamed sequence widget properties. 2008-05-12 10:14:35 -05:00
Jonathan Moore Liles 4cb8fbd22d Get rid of cumulative error in Peaks::Streamer 2008-05-11 21:01:51 -05:00
Jonathan Moore Liles 354b3a9fc3 Position tempo point editor window inside the main window. 2008-05-11 20:16:58 -05:00
Jonathan Moore Liles f0704d7f90 Oops. Finalize peak capture in the right place! 2008-05-11 20:09:39 -05:00
Jonathan Moore Liles d7f020ee2e Add mutex to Audio_File objects to prevent read_source_peaks() and IO thread from conflicting. 2008-05-11 19:37:34 -05:00
Jonathan Moore Liles 9b8e7569e7 Make peakfile block scanning more robust. 2008-05-11 18:28:08 -05:00
Jonathan Moore Liles 50fa642321 Fix mipmapping for streamed peaks. 2008-05-11 17:48:19 -05:00
Jonathan Moore Liles 12d65acf25 Add quit message. 2008-05-11 12:19:01 -05:00
Jonathan Moore Liles 17790c13c1 Fix pending peaks timers. 2008-05-11 12:18:51 -05:00
Jonathan Moore Liles f12363340e Clean up Peaks.C 2008-05-11 09:57:53 -05:00
Jonathan Moore Liles d1a2f52352 Support optional mipmapping of peakfiles. Mipmap peaks for new captures. 2008-05-10 20:40:43 -05:00