Thomas Harte 
							
						 
					 
					
						
						
							
						
						9ca6a1031c 
					 
					
						
						
							
							Adds an 'about' box and a hypothetical 'New' file option.  
						
						
						
						
					 
					
						2020-06-16 23:15:47 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						17bb3dce26 
					 
					
						
						
							
							Makes a firmer attempt at enforcing safe shutdown.  
						
						
						
						
					 
					
						2020-06-16 22:33:50 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						902b33d25d 
					 
					
						
						
							
							Makes more failing attempts at a clean shutdown.  
						
						
						
						
					 
					
						2020-06-15 00:00:44 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						ac732e2e7b 
					 
					
						
						
							
							Attempts to ensure clean shutdown.  
						
						
						
						
					 
					
						2020-06-14 23:38:44 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						d08ffd6c8b 
					 
					
						
						
							
							Makes sure the timer really, really is on a different thread.  
						
						... 
						
						
						
						Thereby allows me substantially to reduce audio latency. 
						
						
					 
					
						2020-06-14 23:22:00 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						79833deeaf 
					 
					
						
						
							
							With some attempt at vsync prediction, seeks to smooth audio/video output.  
						
						... 
						
						
						
						There's plenty more work to do here, but hopefully it takes the issue immediately off the table. 
						
						
					 
					
						2020-06-14 19:26:56 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						405e9e7c68 
					 
					
						
						
							
							Shunts audio into its own QThread.  
						
						... 
						
						
						
						For the record, this was the first means I found of attempting that which actually seemed to work. A plain QThread, with something `connect`ed to its `started` signal didn't seem to work (perhaps `connect` is smart at thread confinement?), `moveToThread` didn't work on the audio output after the fact, etc. 
						
						
					 
					
						2020-06-10 22:14:54 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						d9f02aecdf 
					 
					
						
						
							
							Adds an additional buffer. To reduce latency. No, really.  
						
						... 
						
						
						
						Specifically: there's no way to guarantee no overbuffering due to the startup race, other than having QAudioOutput obtain data by pull rather than push. But if it's pulling then that implies an extra buffer. And since the sizes it may pull are not explicit, there's guesswork involved there.
So: no extra buffer => uncontrollable risk of over-buffering. Extra buffer => a controllable risk of over-buffering. 
						
						
					 
					
						2020-06-09 00:01:22 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						bcb23d9a15 
					 
					
						
						
							
							Attempt to reduce audio latency. Unsuccessfully.  
						
						
						
						
					 
					
						2020-06-08 21:30:35 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						d027450502 
					 
					
						
						
							
							Consolidates timer/thread ownership for the timer.  
						
						
						
						
					 
					
						2020-06-07 00:31:46 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						63ad1290f4 
					 
					
						
						
							
							Actually, QIODevice is listed as reentrant. So no need to forward audio.  
						
						... 
						
						
						
						That said, latency is still absurd for some reason. 
						
						
					 
					
						2020-06-06 23:47:57 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						7c7cb61d2f 
					 
					
						
						
							
							Corrects missing audio, at the cost of frame rate.  
						
						... 
						
						
						
						I'm now spinning on the ability of QAudioOutput to accept additional data. 
						
						
					 
					
						2020-06-06 22:35:50 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						68b165e244 
					 
					
						
						
							
							QIODevice isn't guaranteed thread safe, so use of it is now thread confined.  
						
						
						
						
					 
					
						2020-06-06 21:14:04 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						fe1b6812f1 
					 
					
						
						
							
							Fixes processing cap and attempts full-rate video output.  
						
						... 
						
						
						
						Audio now seems to be present, though hugely stuttered. 
						
						
					 
					
						2020-06-06 19:47:35 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						378ff39e5e 
					 
					
						
						
							
							Makes an unsuccessful attempt at producing audio.  
						
						... 
						
						
						
						On the plus side, it does seem successfully to sniff out an appropriate audio format and to communicate mono/stereo onward. 
						
						
					 
					
						2020-06-06 19:19:01 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						e47cb91223 
					 
					
						
						
							
							Pushes rudimentary keyboard input.  
						
						
						
						
					 
					
						2020-06-05 23:06:28 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						d62fb16a58 
					 
					
						
						
							
							Adds an eventFilter, in order to steal keypresses.  
						
						
						
						
					 
					
						2020-06-05 22:11:17 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						fdc234ed3b 
					 
					
						
						
							
							Advances to having a selected machine actually run.  
						
						... 
						
						
						
						Albeit, invisibly. 
						
						
					 
					
						2020-06-03 23:39:16 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						e2ceb77501 
					 
					
						
						
							
							Attempts to start updating a started machine.  
						
						... 
						
						
						
						No real progress on graphics output though. 
						
						
					 
					
						2020-06-03 00:21:37 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						11c28357a1 
					 
					
						
						
							
							Implements a basic ROM installation loop.  
						
						... 
						
						
						
						Albeit that I need to figure out how layouts work to keep that request view at least centred. 
						
						
					 
					
						2020-06-02 23:35:01 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						ba2a0600dc 
					 
					
						
						
							
							Adds a basic Qt ROM fetcher and attempt to create a machine.  
						
						
						
						
					 
					
						2020-06-01 23:14:57 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						ab53165b34 
					 
					
						
						
							
							Adds note on implementation obstacle.  
						
						
						
						
					 
					
						2020-06-01 22:08:21 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						a30723c3d4 
					 
					
						
						
							
							Cleans up a little and ensures a safe exit of the timer thread.  
						
						
						
						
					 
					
						2020-05-31 23:58:19 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						d64b4fbc26 
					 
					
						
						
							
							Adds a Qt timer class. Precision seems to be 'acceptable'.  
						
						
						
						
					 
					
						2020-05-31 23:39:08 -04:00 
						 
				 
			
				
					
						
							
							
								Thomas Harte 
							
						 
					 
					
						
						
							
						
						267006782f 
					 
					
						
						
							
							Starts to add Qt target; resolves many build warnings.  
						
						
						
						
					 
					
						2020-05-30 00:37:06 -04:00