ailurux
							
						 
						
							 
							
							
							
								
							
								1d2153f69d 
								
							
								 
							
						 
						
							
							
								
								Clean up + use 8 bytes for uint64_t  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								a169e60cac 
								
							
								 
							
						 
						
							
							
								
								Add additional cache file for playlist table of contents  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								4c2bcbfb56 
								
							
								 
							
						 
						
							
							
								
								Support a minor version in the SAMD firmware  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								222465d31b 
								
							
								 
							
						 
						
							
							
								
								Run the Lua GC a little more aggresively  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								3490cceb6b 
								
							
								 
							
						 
						
							
							
								
								Added listened indicator for audiobooks and podcasts  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								de351a5b89 
								
							
								 
							
						 
						
							
							
								
								Empty the buffer when we seek mp3 files  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								faddb229fc 
								
							
								 
							
						 
						
							
							
								
								Record play_count in TrackData, incrementing it when tracks finish  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								5e43b42218 
								
							
								 
							
						 
						
							
							
								
								Adds audiobook index to available indexes  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								94ccd405e3 
								
							
								 
							
						 
						
							
							
								
								Retry SD card mounting a few times when talking to the card fails  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								e91580c75b 
								
							
								 
							
						 
						
							
							
								
								Implement VBR seeking based off TOC  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								eba2ffc260 
								
							
								 
							
						 
						
							
							
								
								Improve seeking for constant bitrate mp3  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								2ac2629c48 
								
							
								 
							
						 
						
							
							
								
								Don't try to configure the dac if there is no dac  
							
							 
							
							... 
							
							
 
							
							Fixes  #106  
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								b95cd34520 
								
							
								 
							
						 
						
							
							
								
								Make the 'Podcasts' index just a list by title  
							
							 
							
							... 
							
							
 
							
							Podcasts aren't tagged consistently enough for other groupings to make
sense, at least until we implement RSS parsing 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								ade5e4bc08 
								
							
								 
							
						 
						
							
							
								
								Encode and decode MediaType in TrackData  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								ea9c7a0498 
								
							
								 
							
						 
						
							
							
								
								Include leading slash in media type paths  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								57af3e64c8 
								
							
								 
							
						 
						
							
							
								
								Introduce a MediaType for each track and index  
							
							 
							
							... 
							
							
 
							
							Initially set based on filepath, or by genre if the filepath doesn't
match one of our presets 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								e96dcde085 
								
							
								 
							
						 
						
							
							
								
								Fix commented issues  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								c479d699d0 
								
							
								 
							
						 
						
							
							
								
								Implements seeking to saved position for tracks  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								7d1266404d 
								
							
								 
							
						 
						
							
							
								
								Move SPI ISR back to CPU0  
							
							 
							
							... 
							
							
 
							
							See if this does anything for the itermittent spi acquire hangs 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								c4ec089a90 
								
							
								 
							
						 
						
							
							
								
								Added lua methods to access track data  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								f58679983e 
								
							
								 
							
						 
						
							
							
								
								Save positions over 5 minutes, every minute  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								a174d76aa1 
								
							
								 
							
						 
						
							
							
								
								Mount the SD card asynchronously when it becomes available  
							
							 
							
							... 
							
							
 
							
							Previously we were doing it synchronously, which led to some odd looking
livelock stacktraces... we still don't have a consistent repro, but this
at least makes the stack when we mount a lot more predictable 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								d4bad11130 
								
							
								 
							
						 
						
							
							
								
								WIP: Fixed errors, cleanup  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								4353779810 
								
							
								 
							
						 
						
							
							
								
								WIP: Add last_position field to track data and start on implementation  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								d8b9e65e68 
								
							
								 
							
						 
						
							
							
								
								Clean up some tts logging and descriptions  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								c51709f99f 
								
							
								 
							
						 
						
							
							
								
								Pause and unpause the current audio output in response to TTS  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								542ebc6531 
								
							
								 
							
						 
						
							
							
								
								Play TTS files in response to TTS prompts, but it's legible now  
							
							 
							
							... 
							
							
 
							
							- input files are upsamples and padded to stereo before playback
 - any in-progress playback is cancelled before playing a new file 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								1f5ce24389 
								
							
								 
							
						 
						
							
							
								
								Rename set_style to set_subject  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								50d6efada5 
								
							
								 
							
						 
						
							
							
								
								Use '/sd' instead of '/sdcard' for accessing the sd card  
							
							 
							
							... 
							
							
 
							
							it's cleaner 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								d0b739c66e 
								
							
								 
							
						 
						
							
							
								
								Play basic wav files in response to tts prompts  
							
							 
							
							... 
							
							
 
							
							It's currently quite limited (no stereo or sample rate conversion,
multiple messages clobber each other, only plays if music is playing),
but we're getting there! 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								dacf3efc45 
								
							
								 
							
						 
						
							
							
								
								Look for music in "/Music", with the root dir as a fallback  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								172d31ec6d 
								
							
								 
							
						 
						
							
							
								
								Ignore comments within playlist files  
							
							 
							
							... 
							
							
 
							
							Includes a general cleanup+restructure of playlist.cpp, and fixing the
tests and benchmarks 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								99a3a904e4 
								
							
								 
							
						 
						
							
							
								
								Handle collation text that includes '\0'  
							
							 
							
							... 
							
							
 
							
							This seems to be tickled by the ogg comment handling changes (possibly libtags doesn't actually handle this case?) 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								e6921dc055 
								
							
								 
							
						 
						
							
							
								
								Use libogg + our own parser for ogg files  
							
							 
							
							... 
							
							
 
							
							This is somewhat faster than relying on libtags to parse these, and also better handles cornercases such as tags that cross physical page boundaries. 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								91eaed4b37 
								
							
								 
							
						 
						
							
							
								
								use snake_case consistently in lua function names  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								96a224c0df 
								
							
								 
							
						 
						
							
							
								
								Lua API improvements and fixes  
							
							 
							
							... 
							
							
 
							
							Co-authored-by: jacqueline <me@jacqueline.id.au> 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								3421bd652c 
								
							
								 
							
						 
						
							
							
								
								When clicking a track in the file browser, play it  
							
							 
							
							... 
							
							
 
							
							Includes adding a `playback.is_playable` for working out whether or not
a particular file is able to be played 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								af7a70450e 
								
							
								 
							
						 
						
							
							
								
								Support adding filepaths to the track queue  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								9145722b08 
								
							
								 
							
						 
						
							
							
								
								Don't show n+1/n when we run out of queue  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								71aafc1711 
								
							
								 
							
						 
						
							
							
								
								Fix random.cpp not being built  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								32869129ff 
								
							
								 
							
						 
						
							
							
								
								clang-format  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								9ec8d6dafc 
								
							
								 
							
						 
						
							
							
								
								Handle the loading state whilst appending many tracks better  
							
							 
							
							... 
							
							
 
							
							1) Update the queue length periodically so that the user can see we're
   working
2) Clear any previous track and display "loading..." instead 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								d3c15bf070 
								
							
								 
							
						 
						
							
							
								
								spello  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								8f4e1ece75 
								
							
								 
							
						 
						
							
							
								
								Some minor cleanup, docs, assertions  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								f253d2ee75 
								
							
								 
							
						 
						
							
							
								
								Timeout when writing output samples throughout the audio pipeline  
							
							 
							
							... 
							
							
 
							
							This allows the audio pipeline to remain responsive even when the drain
buffer has completely filled. This in turn means that you now see the
track info in the 'now playing' screen change if the current track
changes whilst you are paused.
Since I was fucking around a lot in the audio processor anyway, I also
added mono->stereo expansion so that playing mono tracks on Bluetooth no
longer destroys your ears. 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								ef227f8c51 
								
							
								 
							
						 
						
							
							
								
								Move the UI task main loop info iram  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								b1c90278ae 
								
							
								 
							
						 
						
							
							
								
								Delete unused half readme  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								e6c77f17b8 
								
							
								 
							
						 
						
							
							
								
								Switch output mode to headphones when plugged in  
							
							 
							
							
 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								jacqueline
							
						 
						
							 
							
							
							
								
							
								275ade5d13 
								
							
								 
							
						 
						
							
							
								
								Move some hot driver functions into iram  
							
							 
							
							... 
							
							
 
							
							We've got the space for it now!
Also turn SW radio coexistence off whilst we're here; the docs recommend this if you only use Bluetooth(R) 
							
						 
						
							1 year ago  
						
					 
				
					
						
							
							
								 
								ailurux
							
						 
						
							 
							
							
							
								
							
								978429109e 
								
							
								 
							
						 
						
							
							
								
								Fix queue serialisation so that the position is correctly applied  
							
							 
							
							
 
							
						 
						
							1 year ago