![]() ![]() virtually unlimited number of filters - works on any number of channels - very low latency. RT-safety is a valid reason to reject the pull request in my eyes, but implementing an atomic way to check if the job can be added requires getting rid of the m_queue check, and I don't know if I dare burn my hands on that (is that an English idiom? :P). View, compare, and download lmms vst plugin at SourceForge. ![]() I love indulging in this kind of reasoning every once in a while Yeah, I noticed. And if you can see any flaw in my reasoning, please point it out. If you own the copyright to this book and it is. Before merging, I need to fix indentation and add some code for loading/saving window states. This content was uploaded by our users and we assume good faith they have the permission to share this book. I'll see if I can read up on that, it's an interesting subject :P. Support FX Mixer for sample tracks and add controls to sample track window by PhysSong Pull Request 3866 LMMS/lmms GitHub Continuation from grejppi's original work 3632. However, I don't know if gcc guarantees the order of value retrieval in a comparison, especially when optimization is enabled. ![]() There is no moment in time where m_itemsDone is equal to m_queueSize and a job still gets added. This, in turn, means that as long as the value of m_itemsDone is retrieved before that of m_queueSize, this comparison will never go wrong. It still crashes a lot in Linux and a bit less in Ubuntu so keep saving your work. That means that m_queueSize is always increased, if at all, before the m_itemsDone increase that would make the condition true. UPDATE: The Beta version of LMMS (1.2.0) already contains Vestige in it so it’s going to be much easier to use VSTs. Grepping the code showed me that new jobs are only added from within jobs that are already being run. However, m_queueSize may be increased by adding new jobs. Now, m_itemsDone is only incremented after a job is actually done (with fetchAndAddOrdered( 1 ) ), so it shouldn't be possible for it to become greather than or equal to the amount of jobs in the queue before all those jobs are actually done. That can only happen if either m_itemsDone tests too large or m_queueSize tests too small. stops waiting) while there are still jobs being done. As far as I understand that part now, the only way in which this comparison would cause problems is if it returns false (i.e. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |