Faits: Faits: A. X._, ressortissant guinéen, a été arrêté le 4 avril 2002 avec deux comparses, et placé en détention préventive sous l'inculpation de violation grave de la LStup et blanchissage d'argent. Il lui est en substance reproché d'avoir participé à un trafic portant sur 274 g de cocaïne. Par jugement du 11 décembre 2003, le Tribunal correctionnel de l'arrondissement de la Côte l'a condamné à quatre ans et demi de réclusion et à quinze ans d'expulsion de Suisse. Sur recours du Ministère public, la Cour de cassation pénale du Tribunal cantonal vaudois a, par arrêt du 12 juillet 2004, annulé ce jugement et renvoyé la cause au tribunal, pour nouvelle instruction et nouveau jugement. Alors que la cause devait être jugée par un tribunal élargi, le président du tribunal avait finalement renoncé à une telle composition pour éviter des changements d'avocats et des incidents, à l'approche de l'audience. S'agissant du principal accusé, rien ne justifiait une limitation du pouvoir d'appréciation à propos de la peine. Le jugement a aussi été annulé à l'égard des deux autres coaccusés, dont X._, car ceux-ci pouvaient aussi avoir bénéficié du plafonnement de la peine. Sur recours du Ministère public, la Cour de cassation pénale du Tribunal cantonal vaudois a, par arrêt du 12 juillet 2004, annulé ce jugement et renvoyé la cause au tribunal, pour nouvelle instruction et nouveau jugement. Alors que la cause devait être jugée par un tribunal élargi, le président du tribunal avait finalement renoncé à une telle composition pour éviter des changements d'avocats et des incidents, à l'approche de l'audience. S'agissant du principal accusé, rien ne justifiait une limitation du pouvoir d'appréciation à propos de la peine. Le jugement a aussi été annulé à l'égard des deux autres coaccusés, dont X._, car ceux-ci pouvaient aussi avoir bénéficié du plafonnement de la peine. B. Le 20 août 2004, X._ a demandé sa mise en liberté provisoire au Président de la Cour de cassation. Celui-ci a rejeté la demande le 23 août 2004. Par arrêt du 15 septembre 2004, la Cour de cassation a confirmé cette décision. Il existait un risque de fuite, compte tenu de l'absence d'attaches du recourant avec la Suisse et de la peine de réclusion encourue, dont il était peu probable qu'elle soit inférieure à la peine initialement prononcée. La durée de la détention préventive (deux ans et demi) était également compatible avec la peine encourue. Le principe de célérité ne s'opposait pas au maintien en détention, tant que le principe de la proportionnalité était respecté. Par arrêt du 15 septembre 2004, la Cour de cassation a confirmé cette décision. Il existait un risque de fuite, compte tenu de l'absence d'attaches du recourant avec la Suisse et de la peine de réclusion encourue, dont il était peu probable qu'elle soit inférieure à la peine initialement prononcée. La durée de la détention préventive (deux ans et demi) était également compatible avec la peine encourue. Le principe de célérité ne s'opposait pas au maintien en détention, tant que le principe de la proportionnalité était respecté. C. X._ forme un recours de droit public avec demande d'assistance judiciaire. Il conclut à l'annulation de ce dernier arrêt, ainsi qu'à sa mise en liberté. Le Ministère public propose le rejet du recours, en relevant que la date du nouveau jugement a été fixée au 22 décembre 2004. Le recourant a répliqué.