A.- Dès 1989, M._ a fait l'objet d'investigations de la part de la Police de sûreté vaudoise dans le cadre d'une enquête pénale dirigée contre lui à raison de diverses infractions contre le patrimoine qu'il aurait commises au préjudice de K._ et de tiers dans le cadre de la gestion des sociétés T._ SA et R._ SA dont il était l'administrateur. Il était également soupçonné d'avoir commis dans le canton de Lucerne différents vols entre les mois de février et octobre 1990. Par jugement du Tribunal correctionnel d'Avenches, du 28 novembre 1997, réformé selon un arrêt de la Cour de cassation pénale du canton de Vaud du 22 juin 1998, M._ a été acquitté des chefs d'accusation relatifs à tous les faits instruits dès 1989 par les autorités vaudoises et condamné à douze mois d'emprisonnement, sous déduction de 303 jours de détention préventive, pour les vols perpétrés dans le canton de Lucerne. Il a formé en temps utile un recours de droit public et un pourvoi en nullité auprès de la Cour de cassation pénale du Tribunal fédéral contre l'arrêt de la Cour de cassation pénale du 22 juin 1998. B.- Par acte du 1er août 1998, M._ a saisi le Tribunal d'accusation du Tribunal cantonal du canton de Vaud (ci-après, le Tribunal d'accusation) d'une requête en allocation d'une indemnité équitable fondée sur les art. 67 et 163a du Code de procédure pénale vaudois (CPP vaud. ), qui tienne compte du préjudice subi en relation avec sa détention injustifiée et avec le séquestre ordonné sur divers objets personnels dans le cadre de la procédure pénale. Il demandait en outre l'ouverture d'une enquête disciplinaire et pénale à l'encontre de plusieurs fonctionnaires et magistrats vaudois qu'il tenait pour responsables de la prolongation de son incarcération. Le 10 août 1998, le Tribunal d'accusation a suspendu l'examen de la requête jusqu'à droit connu sur la procédure de recours pendante devant le Tribunal fédéral; il précisait qu'au surplus, et pour autant qu'elle concernait les autorités judiciaires vaudoises, la demande était incompréhensible et qu'il n'y serait pas donné suite. Par arrêts du 5 février 1999, la Cour de cassation pénale du Tribunal fédéral a rejeté le pourvoi en nullité et le recours de droit public formé par M._ contre l'arrêt de la Cour de cassation pénale du 22 juin 1998. Le 16 mars 1999, ce dernier a demandé à être entendu personnellement à l'audience du tribunal, avec l'assistance d'un interprète de langue maternelle allemande, en vue de préciser l'objet de sa requête. Il a par ailleurs sollicité l'audition de Me Muriel Epard, qui fut son avocate d'office du 29 janvier 1991 au 18 juin 1997. C.- Par arrêt du 29 juillet 1999, le Tribunal d'accusation a rejeté la demande d'indemnité pour détention injustifiée au motif que le requérant avait été condamné pour vol à douze mois d'emprisonnement et que la détention préventive subie était inférieure à celle de la peine prononcée à son encontre. D.- Agissant par la voie du recours de droit public, M._ demande au Tribunal fédéral d'annuler cet arrêt et de renvoyer la cause à l'autorité cantonale pour nouvelle décision dans le sens des considérants. Il voit une violation de son droit d'être entendu, garanti par l'art. 4 aCst. , et de l'art. 6 § 1 et 3 CEDH, dans le fait que le Tribunal d'accusation a statué sans l'avoir préalablement entendu à son audience et sans avoir procédé à l'audition de Me Muriel Epard en qualité de témoin, malgré les requêtes formulées en ce sens. Il lui reproche également d'avoir commis un déni de justice en ne se prononçant que sur une partie de sa requête. Il requiert l'assistance judiciaire. Le Tribunal d'accusation se réfère à son arrêt. Le Ministère public du canton de Vaud n'a pas déposé d'observations.