3D Movie Maker është portuar në Linux

3D Movie Maker është portuar në Linux

Zhvilluesit e projektit 3DMMEx arriti në lançimin e klasikes Microsoft 3D Movie Maker në Linux pa Wine dhe makina virtuale. Rreth punës së kryer foli Ben Stone, autori i portit origjinal 3DMMEx. Sipas tij, projekti arriti një prag të rëndësishëm: tani programa mund të ndërtohet dhe të ekzekutohet në Linux, duke e bërë 3DMMEx degën e parë të njohur të 3D Movie Maker, që funksionon jashtë Windows. Publikimi rreth portimit është datuar 9 Maj 2026.

Microsoft 3D Movie Maker — njĂ« program fĂ«mijĂ«sh i vitit 1995 pĂ«r krijimin e animacioneve tĂ« thjeshta tre-dimensionale: pĂ«rdoruesi zgjidhte skenat, vendoste personazhet dhe objektet, caktonte veprime pĂ«r to, shtonte replika, zĂ« dhe muzikĂ«. PĂ«r njĂ« kohĂ« tĂ« gjatĂ«, projekti mbeti njĂ« artefakt historik i mbyllur i epokĂ«s Windows 95, por nĂ« maj 2022, Microsoft hapi kodin burimor tĂ« 3D Movie Maker nĂ«n licencĂ«n MIT. Depoja zyrtare e Microsoft Ă«shtĂ« e disponueshme nĂ« GitHub; nĂ« pĂ«rshkrim theksohet qartĂ« se ky Ă«shtĂ« kodi burimor i projektit origjinal tĂ« vitit 1995, publikuar si software me burim tĂ« hapur nĂ«n licencĂ«n MIT.

Hapja e burimeve u bë pikënisje për disa përpjekje për të rikthyer programin. Fillimisht u shfaq projekti 3DMMForever, i angazhuar në modernizimin e përmbledhjes dhe përgatitjen për kompilimin me mjete moderne. Më vonë, kur puna mbi të ngadalësoi, Ben Stone krijoi një degë 3DMMEx. Qëllimi i projektit është të ruajë përvojën e klasike të punës me 3D Movie Maker, por të shtojë disa përmirësime të vogla dhe të bëjë kodin të transferueshëm në sistemet moderne.

Transferimi nuk ishte një thjesht rikompilim i kodit të vjetër. Burimet e 3D Movie Maker ishin shkruar për një dialekt të vjetër C++, Microsoft Visual C++, Win32 API dhe modelin 32-bit të memories. Për më tepër, në bibliotekat e brendshme ishin përdorur varësitë statike, assembleri i integruar x86, supozimet e vjetra për madhësinë e treguesve dhe lidhja me nën-sistemat specifike të Windows.

ÇfarĂ« duhej tĂ« bĂ«hej

  • TĂ« zĂ«vendĂ«sohej shtresa Win32 me SDL. 3D Movie Maker pĂ«rdor njĂ« kornizĂ« aplikacioni tĂ« brendshme Kauai, e cila fillimisht abstenoi njĂ« pjesĂ« tĂ« funksioneve sistemore, por nĂ« praktikĂ«, pĂ«rsĂ«ri mbĂ«shtetej nĂ« Win32. NĂ« 3DMMEx, implementimi i ndĂ«rfaqes grafike u transferua nĂ« SDL2. Kjo lejoi zĂ«vendĂ«simin e nĂ«ndĂ«r-sistemit tĂ« dritareve, trajtimin e inputit dhe vizatimin, duke ruajtur arkitekturĂ«n e vjetĂ«r tĂ« aplikacionit.

  • Rikthej vizatimin dhe inputin. Disa disa operacione, tĂ« cilat nĂ« Win32 kryhen me njĂ« thirrje, nĂ« SDL duhet tĂ« implementoheshin manualisht. PĂ«r shembull, pĂ«r punĂ«n me fonte nĂ« Windows janĂ« pĂ«rdorur funksione tĂ« gatshme pĂ«r enumerimin dhe krijimin e fonteve, ndĂ«rsa nĂ« versionin e portuar, ky logjik duhet tĂ« shkruhej ndaras pĂ«r platforma. Po ashtu, sistemi i kombinimeve tĂ« çelĂ«save u realizua nga e para, pasi implementimi i vjetĂ«r pĂ«r Windows nuk mund tĂ« pĂ«rdorej drejtpĂ«rdrejt nĂ« Linux.

  • NxjerrĂ« assemblin e ndĂ«rtuar. NĂ« Kauai dhe komponentĂ«t e lidhur u pĂ«rdor assemblin e optimizuar manualisht pĂ«r x86, pĂ«rfshirĂ« nĂ« funksionet e kopjimit tĂ« memories, pĂ«rpunimit tĂ« imazheve dhe kompresimit tĂ« tĂ« dhĂ«nave. PĂ«r qĂ«llime portimi, kĂ«to pjesĂ« u zĂ«vendĂ«suan me varianta nĂ« C/C++. Sipas autorit, kjo jo vetĂ«m qĂ« e thjeshtoi ndĂ«rtimin jashtĂ« Windows, por nĂ« disa raste madje pĂ«rmirĂ«soi performancĂ«n pĂ«r shkak tĂ« implementimeve moderne tĂ« memcpy dhe memmove nĂ« bibliotekĂ«n standarde C.

  • TĂ« kuptojmĂ« me bibliotekat statike. 3D Movie Maker kishte dy varĂ«si tĂ« rĂ«ndĂ«sishme tĂ« jashtme: BRender dhe AudioMan. BRender — njĂ« motor 3D nga Argonaut Software, i pĂ«rdorur pĂ«r grafikĂ«. Kodi i tij burimor gjithashtu Ă«shtĂ« hapur, por ndante shumĂ« x86-assembler. PĂ«r 3DMMEx pĂ«rdoret njĂ« variant, ku pjesĂ«t e assemblerit janĂ« zĂ«vendĂ«suar me kod tĂ« bartshĂ«m.

  • ZĂ«vendĂ«so AudioMan pĂ«r Linux. Biblioteka AudioMan ishte pĂ«rgjegjĂ«s jo vetĂ«m pĂ«r riprodhimin e zĂ«rit, por edhe pĂ«r importimin dhe regjistrimin e tingujve brenda aplikacionit. Duke qĂ«nĂ« se ishte ngushtĂ«sisht e lidhur me zĂ«rin e Windows dhe ndĂ«rfaqet COM, zhvilluesit nuk e transferuan atĂ« drejtpĂ«rdrejt. PĂ«r sistemet jo-Windows u shtua njĂ« moduli i ri pĂ«r riprodhimin dhe regjistrimin e zĂ«rit bazuar nĂ« miniaudio.

  • Shtoni mbĂ«shtetje pĂ«r MIDI dhe video-insert. PĂ«r portimin nĂ« Linux janĂ« integruar FluidSynth pĂ«r riprodhimin e MIDI dhe GStreamer pĂ«r shfaqjen e videove. Gjithashtu, duhej tĂ« zgjidheshin problemet tipike pĂ«r kalimin e programeve tĂ« vjetra Windows nĂ« mjedisin POSIX: ndjeshmĂ«ria e emrave tĂ« skedarĂ«ve ndaj rastit, shenjat e prapme nĂ« rrugĂ«, funksionet platformĂ« pĂ«r operimin me skedarĂ«t dhe detaje tĂ« tjera, tĂ« cilat sĂ« bashku prishin nisjen e aplikacionit.

  • PĂ«rgatitni kodin pĂ«r sisteme 64-bit. NjĂ« pjesĂ« e madhe e kodit tĂ« vjetĂ«r supozonte njĂ« ambient 32-bit. GjatĂ« transferit u identifikuan vende ku treguesit ishin konvertuar nĂ« numra 32-bit, dhe strukturat qĂ« ruheshin nĂ« disk varetin nga madhĂ«sia e treguesit. PĂ«r tĂ« ruajtur kompatibilitetin me skedarĂ«t e projekteve 3D Movie Maker, kodi u pasurua me kontroll tĂ« madhĂ«sive tĂ« strukturave dhe logjikĂ« tĂ« veçantĂ« serializimi.

  • PĂ«rmirĂ«soni debugimin dhe testimin. NjĂ« pjesĂ« e testeve tĂ« brendshme Kauai janĂ« transferuar nĂ« Google Test, dhe nĂ« kod u shtuan kontrollime tĂ« tjera dhe regjistrat e ekzekutimit tĂ« skenarĂ«ve tĂ« ndĂ«rfaqes. Kjo Ă«shtĂ« e rĂ«ndĂ«sishme sepse njĂ« pjesĂ« e madhe e logjikĂ«s sĂ« 3D Movie Maker jeton jo nĂ« kodin e zakonshĂ«m C++, por nĂ« skenaret e veta tĂ« aplikacionit.

Tani në repository 3DMMEx është shpallur mbështetje për Linux, grafikë dhe input përmes SDL2, ndërtim me Visual Studio 2022, Clang dhe GCC, ndërtimet 64-bit për x64 dhe ARM64, zëvendësimi i assembler-it të integruar me C++ të portueshëm, testime modulare, përmirësimi i punës me miun, kombinime të reja të tastierës dhe import më cilësor të zërit. Për ndërtimin në Linux nevojiten CMake, Ninja, GCC dhe bibliotekat zhvillimore SDL2, SDL2_ttf, GStreamer, GTK3, iconv dhe Fontconfig.

Aktualisht, versioni për Linux duhet të ndërtohet nga burimet. Autorit planifikon të përgatisë ndërtimet binare të gatshme më vonë për distribucionet popullore. Megjithatë, porti vetë është funksional: sipas Ben Stone, të gjitha funksionalitetet e 3DMMEx punojnë në versionin SDL/Linux, megjithëse ka ende probleme me përpunimin e mausit kur tërhiqen aktorët në skenë. Po ashtu, mes drejtimeve të mundshme të ardhshme përmenden kaluarja në macOS dhe një variant përmes Emscripten për të funksionuar në shfletues.

Kështu, hapja e burimeve të Microsoft në 2022 gradualisht çoi jo vetëm në ruajtjen e programit të vjetër në një format arkivor, por në një transferim të plotë në platformat moderne. 3D Movie Maker tani mund të konsiderohet jo vetëm si një ekspozitë e muzeut të epokës Windows 95, por edhe si një shembull se si publikimi i kodit nën një licencë të lirë mund të lejojë, pas dekadash, rikthimin në jetë të një aplikacioni të braktisur për një kohë të gjatë.

Burimi: linux.org.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster