Faits: Faits: A. Par jugement du 16 décembre 2003, le Tribunal correctionnel de l'arrondissement de l'Est vaudois a notamment condamné X._, ressortissant macédonien né en 1967, pour infraction grave et contravention à la LStup, tentative de recel, complicité de tentative de vol, infraction à la LSEE et violation grave des règles de la circulation routière, à la peine de 7 ans de réclusion. Il a déclaré cette peine complémentaire à deux autres, prononcées, respectivement, le 12 novembre 1998 et le 16 novembre 2000 par le Juge d'instruction de l'arrondissement de l'Est vaudois. Il a en outre ordonné l'expulsion de l'accusé du territoire suisse pour une durée de 15 ans. Statuant le 12 juillet 2004 sur le recours en nullité et en réforme interjeté par le condamné contre ce jugement, la Cour de cassation pénale du Tribunal cantonal vaudois l'a partiellement admis et a réduit la peine privative de liberté à 6 ans et 9 mois de réclusion. Pour le surplus, elle a écarté le recours et confirmé le jugement qui lui était déféré. Statuant le 12 juillet 2004 sur le recours en nullité et en réforme interjeté par le condamné contre ce jugement, la Cour de cassation pénale du Tribunal cantonal vaudois l'a partiellement admis et a réduit la peine privative de liberté à 6 ans et 9 mois de réclusion. Pour le surplus, elle a écarté le recours et confirmé le jugement qui lui était déféré. B. Cet arrêt retient, en résumé, ce qui suit. B.a De l'été 1998 au 23 avril 2000, date de son arrestation, X._ a commis de nombreuses infractions à la LStup. Il a notamment mis directement sur le marché 130,6 g de cocaïne pure, s'est livré au courtage d'environ 500 g de cette drogue et, en échange de commissions en nature et en argent, a conduit à Berne un toxicomane désireux de se procurer de la cocaïne. Il a également participé à la réception de 7 kg d'héroïne et de 700 g de cocaïne importés du Kosovo par le dénommé Y._, obtenant en contrepartie une somme de 5000 fr. et 22 g de cocaïne. Sur requête de Y._, il a en outre transporté une partie de cette drogue, soit 3 kg d'héroïne et 700 g de cocaïne, de l'appartement où elle se trouvait, à Bösingen, dans le canton de Fribourg, jusqu'au domicile d'un trafiquant installé à Villeneuve. X._ a par ailleurs été pressenti par Y._ et son état-major pour faire la mule, moyennant une commission de 2500 à 3000 fr. par kilo. C'est ainsi qu'il a acquis un véhicule de marque Chrysler Voyager, avec lequel il s'est rendu dans les Balkans en vue d'importer en Suisse entre 15 et 20 kg d'héroïne. Aucune importation effective n'a toutefois pu être établie. X._ a encore cherché à vendre 2 kg d'héroïne qu'il détenait. De plus, pendant quatre ou cinq jours, il s'est substitué, dans le rôle de vendeur, à un trafiquant dénommé Z._. A ce titre, il a notamment cédé 30 à 40 g d'héroïne et entreposé 600 g de cocaïne que celui-ci lui avait confiés. Enfin, l'accusé a mis en relation deux importants trafiquants de drogue, B._ et D._, avec le grossiste Y._, opération qui a permis aux deux premiers nommés d'acheter 100 à 200 g d'héroïne. Il a également servi d'intermédiaire dans le paiement de cette transaction et a conduit B._ et D._ à Lucerne, où ceux-ci entendaient se procurer de l'héroïne. Grâce aux activités susmentionnées, X._ a réalisé un bénéfice net de l'ordre de 17'000 francs et a perçu une commission de 5'000 francs. Il a par ailleurs consommé plus d'une centaine de grammes de cocaïne, qu'il a prélevée sur les diverses quantités mentionnées ci-dessus. B.b A deux reprises, X._ a enfreint la LCR, commettant un excès de vitesse et conduisant sous l'emprise de la cocaïne. Il s'est également rendu coupable d'infraction à la LSEE, pour avoir importé des Balkans de faux permis de séjour suisses et en avoir cédé deux, notamment en extinction d'une dette de 1'000 francs. Enfin, l'accusé s'est rendu coupable de tentative de recel, pour avoir aidé un camarade à négocier des cartes de crédit volées, ainsi que de complicité de tentative de vol, pour avoir prêté assistance à des cambriolages qui ont échoué. Enfin, l'accusé s'est rendu coupable de tentative de recel, pour avoir aidé un camarade à négocier des cartes de crédit volées, ainsi que de complicité de tentative de vol, pour avoir prêté assistance à des cambriolages qui ont échoué. C. Dans son recours cantonal, X._ s'est notamment plaint d'une violation de l'art. 411 let. g CPP/VD, reprochant aux premiers juges d'avoir aggravé la peine au motif qu'il avait agi en qualité d'affilié à une bande formée pour se livrer au trafic de stupéfiants, alors que l'accusation n'avait pas été aggravée sur ce point conformément à l'art. 353 CPP/VD. La cour cantonale a admis le bien-fondé de ce grief. Elle a toutefois estimé qu'il ne se justifiait pas d'annuler le jugement attaqué, mais de rectifier l'état de fait retenu, en ce sens que l'accusé ne s'était pas livré à un trafic de stupéfiants en qualité d'affilié à une bande, et d'en tirer les conséquences au stade de la fixation de la peine, en réduisant la quotité de celle-ci. A cet égard, observant que l'élément retenu à tort n'avait joué qu'un rôle très relatif dans la fixation de la peine et ne pouvait donc entraîner qu'une diminution très relative de celle-ci, elle a considéré qu'il se justifiait d'opérer une réduction de 3 mois de la sanction infligée, qu'elle a dès lors fixée à 6 ans et 9 mois de réclusion. Pour le surplus, la cour cantonale a écarté aussi bien les autres moyens de nullité que les moyens de réforme du recourant. Elle a notamment dénié une violation par les premiers juges de l'art. 19 LStup ainsi que des art. 13, 63 et 55 CP. Pour le surplus, la cour cantonale a écarté aussi bien les autres moyens de nullité que les moyens de réforme du recourant. Elle a notamment dénié une violation par les premiers juges de l'art. 19 LStup ainsi que des art. 13, 63 et 55 CP. D. X._ forme un recours de droit public et un pourvoi en nullité au Tribunal fédéral. Dans le premier, il se plaint d'une violation de son droit d'être entendu et d'une application arbitraire du droit cantonal de procédure. Dans le second, il invoque une violation de l'art. 19 ch. 1 al. 4 et de l'art. 19 ch. 1 al. 3 et 6 LStup ainsi qu'une violation des art. 13, 63 et 55 CP. Il conclut à l'annulation de l'arrêt attaqué, en sollicitant l'assistance judiciaire.