summaryrefslogtreecommitdiffstats
path: root/src/engine/sync/synccontrol.h
AgeCommit message (Collapse)Author
2020-05-04Move Beats et al. to mixxx namespaceJavier Vilarroig
2020-04-26master sync: doc updatesOwen Williams
2020-04-21get rid of setMasterBaseBpm()Daniel Schürmann
2020-04-21removed the use of file_bpm form the engine, streamline update order.Daniel Schürmann
Depending on the event different slots of bpmconro and synccontrol where called in different order. This leads to various hard to tack issues because the cal heriarchy is unclear when reading signal slot connections. Now bpmconrol is always updated before synccontrol and we onbly look to Beats. Loading a track and changing beats are treated the same.
2020-04-21SyncControl: treat a changed beat grid like a changed trackDaniel Schürmann
2020-02-20fix EngineSyncTest.HalfDoubleBpmTestDaniel Schürmann
2019-12-20rename notifySyncModeChanged to setSyncMode and stream line code when ↵Daniel Schürmann
becomming a master
2019-11-15Merge pull request #1765 from daschuer/rate_ratioUwe Klotz
Rate ratio
2019-11-10Add missing override to fix clang's -Winconsistent-missing-override warningsJan Holthuis
2019-01-20Merge remote-tracking branch 'upstream/master' into rate_ratioDaniel Schürmann
Conflicts: src/engine/controls/ratecontrol.cpp src/engine/controls/ratecontrol.h src/engine/sync/synccontrol.cpp src/test/enginesynctest.cpp
2019-01-12Merge remote-tracking branch 'upstream/2.2'Daniel Schürmann
Conflicts: CHANGELOG.md LICENSE build/wix/LICENSE.rtf src/defs_version.h src/engine/controls/ratecontrol.cpp
2019-01-10Merge remote-tracking branch 'upstream/master' into rate_ratioDaniel Schürmann
Conflicts: src/engine/controls/bpmcontrol.cpp src/engine/controls/keycontrol.cpp src/engine/sync/synccontrol.cpp src/widget/wnumberrate.cpp
2019-01-06move EngineControls to their own folderBe
2018-12-23ignore bpm changes caused by changing beat gridDaniel Schürmann
2018-12-16Merge remote-tracking branch 'upstream/master' into rate_ratioDaniel Schürmann
Conflicts: src/engine/bpmcontrol.cpp src/engine/ratecontrol.cpp src/engine/ratecontrol.h
2018-11-28removed unused pOldTrack from trackLoaded functionDaniel Schürmann
2018-09-14SyncControl use "rate_ratio"Daniel Schürmann
2018-07-23Used the new rate_ratio control to set the rateDaniel Schürmann
2018-06-01Restore quantize dependency of sync_enable lost in a previous commitDaniel Schürmann
2017-10-31Removed unused EngineControl::getTrigger() and added some missing override ↵Daniel Schürmann
keywords
2016-04-27Replace use of "slave" with "proxy" or "follower" everywhere.RJ Ryan
2016-03-06Replace trackUnloaded() with void trackLoaded(TrackPointer pNewTrack, ↵Daniel Schürmann
TrackPointer pOldTrack); This hepls to streamline the code in the consumer slots
2016-02-17fix code duplication in SyncControlDaniel Schürmann
2016-01-24Use UserSettings (typedef) instead of ConfigObject.RJ Ryan
This will allow us to experiment with different implementations for structured user preferences. It will also reduce repeated typing of template arguments and better represent the purpose of the object.
2015-09-11Improve commentsDaniel Schürmann
2015-09-08prefer deleting ControlObjectSlave by the Qt object tree, since this ↵Daniel Schürmann
gurantees that the object is deleted by the right thread.
2015-02-26Misc fixes.RJ Ryan
2014-12-03BeatMap: Fix bpm and sync behavior with beatmaps.Owen Williams
YOUR BPM INDICATOR IS LYING TO YOU. Since a beatmap doesn't have a constant bpm, using the "file_bpm" value for sync and slider display is misleading. This commit introduces a new ControlObject, "local_bpm", which represents the average bpm value around the closest 8 beat span. It's still a fairly noisy value, so it may require tuning. This local_bpm value is used to display the visual_bpm, so now you can watch the bpm of your crazy track change over time. Also it's used for master sync, so you can watch the pitch slider of your track wobble around as it tries to stay in sync. TESTED=existing tests pass, and some new tests for the bpm averaging function.
2014-11-23Master Sync: if only one playing sync deck, reset user offset and reinit ↵Owen Williams
master beat distance. This should help prevent user offsets from accumulating over the course of a set, which is really annoying and makes master sync feel bad. There's a chance that the master beat distance could be incorrectly tweaked, which would be user-visible as tracks that were in sync suddenly offset by a small amount. I will do some on-decks testing to make sure this isn't happening.
2014-11-07Use QString instead of char* in ConstructorMax Linke
This should replace all appearances of `const char*` with a `QString` in all classes contained in src/engine. This thing felt like fighting against a hydra -.-
2014-09-11Change some names and add comments to make things clearerOwen Williams
2014-09-09More x2 /2 cleanupOwen Williams
2014-09-09Clean up the diffOwen Williams
2014-09-09Wrap up sync master param setting into one convenience function where possible.Owen Williams
2014-09-08Fix a problem with beat percentage calculation being offOwen Williams
2014-09-08I think things are working ok now?Owen Williams
2014-09-08Working out the kinksOwen Williams
2014-09-07Double/Half master sync mostly works!Owen Williams
2014-09-07Initial work for getting bpm x2 /2 workingOwen Williams
2014-08-20Fix explicit master not updating beat_distance.Owen Williams
Rename beat distance setting funcs to be clearer. Remove anonymous namespace, which breaks FRIEND_TEST
2014-08-13Fix phase syncingOwen Williams
2014-08-12Move beat_distance calculation after buffer processing to keep them in sync.Owen Williams
Otherwise, during syncs, some beat_distances are pre-processing and others are post-processing. This leads to misaligned phase syncs.
2014-03-25Make sync_mode a 3-state toggle button.RJ Ryan
2013-12-27Make programatically-triggered phase syncing happen inside enginebuffer to ↵Owen Williams
prevent off-by-one-buffer misalignment.
2013-12-27Try to sync phase when enabling sync followerOwen Williams
2013-12-27Add set-phase-on-sync-enable. Fails because internal buffer is always ↵Owen Williams
marching forward
2013-12-23Prevent another party stopperOwen Williams
* If track is loaded or unloaded on explicit master, hand off.
2013-12-23Prevent some master sync party-stoppers:Owen Williams
* Deck passthrough activates -> sync disables * Track ejected -> if master, sync disables, otherwise no change. * Beatgrid on track cleared or becomes empty (0BPM) -> if quantize enabled, disable it (that's all we can do from bpmcontrol)
2013-12-14Make vinyl control and follower mode mutually exclusive.Owen Williams
2013-12-13Some scratching changes.RJ Ryan
* Move follower rate over-ride to late in RateControl so that is_scratching is properly updated and the PositionScratchController is updated. This unbreaks scratching of followers. * Add notifyScratching method to SyncableListener for Syncables to report when they start and stop scratching. * For non-explicit master mode, allow scratching any deck to affect all decks by temporarily making the scratching deck master.