# Gestire i .ape con Linux [Risolto]

## canduc17

Ciao.

Qualche mese fa avevo installato il mac-port, per convertire i file .ape, grazie ad un ebuild trovato su bugzilla.

Ecco qui il topic in proposito.

Ora ho la necessità di installarlo su un altro pc, ma questo progetto è sparito da sourceforge.net!!!  :Shocked: 

Che fare?

----------

## .:deadhead:.

http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=21858&view=findpost&p=497321

----------

## drizztbsd

Per favore moderatori chiudete il thread.

è illegale chiedere software warez e mac-port certificava una licenza che invece non aveva quindi è considerato warez (e infatti sourceforge l'ha fatto levare)

----------

## .:deadhead:.

 *drizztbsd wrote:*   

> Per favore moderatori chiudete il thread.
> 
> è illegale chiedere software warez e mac-port certificava una licenza che invece non aveva quindi è considerato warez (e infatti sourceforge l'ha fatto levare)

 Esagerato...

Lui ha solo chiesto come poteva fare a gestire files APE su linux, ora che nn c'è + disposizione mac-ports...

----------

## randomaze

 *.:deadhead:. wrote:*   

>  *drizztbsd wrote:*   Per favore moderatori chiudete il thread.
> 
> è illegale chiedere software warez e mac-port certificava una licenza che invece non aveva quindi è considerato warez (e infatti sourceforge l'ha fatto levare) Esagerato...
> 
> Lui ha solo chiesto come poteva fare a gestire files APE su linux, ora che nn c'è + disposizione mac-ports...

 

Ricapitolando:

Il topic resta aperto ma se si parla di mac-port lo chiudiamo immediatamente. Per chiarezza modifico il subject del thread.

Edit: deadhead, ho dato un occhiata rapida al link che hai postato ma non mi sembra ci si riferisca a qualcosa di alternativo al citato programma. Sbaglio?

----------

## canduc17

No, non sbagli...non si riesce ad ottenere nulla da quel sito, se non si è amministratori del progetto.

Sorry, ma io non sapevo nulla dell'illegalità di questo software...Qualcuno conosce un'alternativa?

----------

## drizztbsd

Beh scarica l'SDK dal sito ufficiale e applica la patch per linux che trovi nel forum (sempre nel sito ufficiale)

----------

## Peach

 *canduc17 wrote:*   

> Ora ho la necessità di installarlo su un altro pc, ma questo progetto è sparito da sourceforge.net!!! 
> 
> Che fare?

 

che pacco!!!!

un formato che non dovrebbe esistere... da dove salta fuori?

----------

## CarloJekko

ho trovato dei binari.. ma per ubuntu http://members.iinet.net.au/~aidanjm/mac-3.99-u4_b3-1_i386.deb

comunque io eviterei di usare sistemi chiusi. Se proprio si amano i formati lossless almeno si usi FLAC

----------

## drizztbsd

 *CarloJekko wrote:*   

> ho trovato dei binari.. ma per ubuntu http://members.iinet.net.au/~aidanjm/mac-3.99-u4_b3-1_i386.deb
> 
> comunque io eviterei di usare sistemi chiusi. Se proprio si amano i formati lossless almeno si usi FLAC

 

O wavpack che è mejo  :Razz: 

----------

## canduc17

 *drizztbsd wrote:*   

> Beh scarica l'SDK dal sito ufficiale e applica la patch per linux che trovi nel forum (sempre nel sito ufficiale)

 

Il sito ufficiale di cosa, di mokey audio o di Java?

----------

## drizztbsd

Che c'entra java?

----------

## canduc17

Scusa, mi sono confuso con il JDK...  :Embarassed: 

Mi puoi postare i link che intendi?

----------

## drizztbsd

Vai sul sito ufficiale di monkeysaudio (ape) sotto developers trovi l'SDK mentre nel forum la patch per linux.

p.s. devi modificare il makefile per usare -fpermissive se usi gcc 4

----------

## canduc17

Allora: ho scaricato l'SDK da qui e la patch (MAC_SDK_399_Linux.diff) da qui.

Ho decompresso l'archivio; dentro ci sono queste directory:3rd PartyAnalyzeCompressDecompressSharedSourceIl Makefile è dentro a Source: ho pensato quindi di mettere qui la patch, ma non so se ho fatto bene...

Poi ho fatto le seguenti cose:Ho aggiunto -fpermissive alla stringa CPPOPT del Makefile, che adesso si presenta così:

```
CPPOPT   = -s -O3 -Wall -pedantic -D__GNUC_IA32__ -fpermissive
```

Ho inserito la stringa

```
#define BUILD_CROSS_PLATFORM
```

in Shared/All.h, come suggerito dal readme presente nel pacchetto; Ecco i punti salienti del readme:

```
Tips for building MACLib outside of Windows

1. in "Shared/All.h" do this:

#define BUILD_CROSS_PLATFORM

look through "Shared/All.h" and "Shared/NoWindows.h" to make sure all the defines are acceptable

2. You need to use NASM to build the assembly if you want it. (helps speed a lot)  Check out "MacLib/Assembly/..." for more information.

Known non-Windows problems (help fixing them would be great)

2. The macros PUMP_MESSAGE_LOOP, MESSAGEBOX, and a few others don't work.
```

Il problema è che non mi compila una beneamata mazza:

```
canduc@candesktop ~/Desktop/MAC_SDK_399/Source $ make

make: *** No rule to make target `MACLib/NNFilterAsm.nas', needed by `MACLib/NNFilterAsm.o'.  Stop.
```

Dove sbaglio? L'errore me lo dà anche se provo a lanciare il makefile da root...

----------

## Scen

Per curiosità ho provato anch'io, e riesco a compilare tutto correttamente.

Ho fatto tutto quello che hai descritto, tranne (forse) l'applicazione della patch: dopo aver decompresso l'archivio ZIP, devi applicare la patch dentro alla directory principale, non dentro a Source.

Pertanto (esempio):

```

$ ls MAC_SDK_399*

MAC_SDK_399_Linux.diff  MAC_SDK_399.zip

$ unzip -d monkeyaudio MAC_SDK_399.zip

Archive:  MAC_SDK_399.zip

   creating: monkeyaudio/3rd Party/

[...]

$ cd monkeyaudio

$ patch -p0 < ../MAC_SDK_399_Linux.diff

patching file Source/Console/Console.cpp

patching file Source/MACLib/APECompressCore.cpp

patching file Source/MACLib/APEDecompress.cpp

patching file Source/MACLib/APEHeader.cpp

patching file Source/MACLib/APEInfo.cpp

patching file Source/MACLib/APELink.cpp

patching file Source/MACLib/APETag.cpp

patching file Source/MACLib/BitArray.cpp

patching file Source/MACLib/MACLib.cpp

patching file Source/MACLib/MACLib.h

patching file Source/MACLib/MD5.cpp

patching file Source/MACLib/MD5.h

patching file Source/MACLib/Old/APEDecompressCore.cpp

patching file Source/MACLib/Old/APEDecompressCore.h

patching file Source/MACLib/Old/APEDecompressOld.cpp

patching file Source/MACLib/Old/Anti-Predictor.h

patching file Source/MACLib/Old/AntiPredictorExtraHigh.cpp

patching file Source/MACLib/Old/AntiPredictorHigh.cpp

patching file Source/MACLib/Old/AntiPredictorNormal.cpp

patching file Source/MACLib/Old/UnBitArrayOld.cpp

patching file Source/MACLib/UnBitArray.cpp

patching file Source/MACLib/md5.h

patching file Source/Makefile

patching file Source/Shared/All.h

patching file Source/Shared/CharacterHelper.cpp

patching file Source/Shared/CharacterHelper.h

patching file Source/Shared/GlobalFunctions.cpp

patching file Source/Shared/NoWindows.h

patching file Source/Shared/SmartPtr.h

patching file Source/Shared/StdLibFileIO.cpp

patching file Source/Shared/StdLibFileIO.h

$

```

N.B. Assicurati di aver installato dev-lang/nasm.

----------

## canduc17

Non ho mai applicato una patch in vita mia, era un po'difficile inventarsi il comando:

```
patch -p0 < MAC_SDK_399_Linux.diff
```

Ho messo la patch nella directory principale, ma ho comunque dei problemi:

```
canduc@candesktop ~/Desktop/MAC_SDK_399 $ patch -p0 < MAC_SDK_399_Linux.diff

patching file Source/Console/Console.cpp

patching file Source/MACLib/APECompressCore.cpp

patching file Source/MACLib/APEDecompress.cpp

patching file Source/MACLib/APEHeader.cpp

patching file Source/MACLib/APEInfo.cpp

patching file Source/MACLib/APELink.cpp

patching file Source/MACLib/APETag.cpp

patching file Source/MACLib/BitArray.cpp

patching file Source/MACLib/MACLib.cpp

patching file Source/MACLib/MACLib.h

patching file Source/MACLib/MD5.cpp

patching file Source/MACLib/MD5.h

patching file Source/MACLib/Old/APEDecompressCore.cpp

patching file Source/MACLib/Old/APEDecompressCore.h

patching file Source/MACLib/Old/APEDecompressOld.cpp

patching file Source/MACLib/Old/Anti-Predictor.h

patching file Source/MACLib/Old/AntiPredictorExtraHigh.cpp

patching file Source/MACLib/Old/AntiPredictorHigh.cpp

patching file Source/MACLib/Old/AntiPredictorNormal.cpp

patching file Source/MACLib/Old/UnBitArrayOld.cpp

patching file Source/MACLib/UnBitArray.cpp

patching file Source/MACLib/md5.h

patching file Source/Makefile

Hunk #1 FAILED at 6.

1 out of 1 hunk FAILED -- saving rejects to file Source/Makefile.rej

patching file Source/Shared/All.h

Hunk #1 succeeded at 5 (offset 1 line).

Hunk #2 succeeded at 233 (offset 1 line).

patching file Source/Shared/CharacterHelper.cpp

patching file Source/Shared/CharacterHelper.h

patching file Source/Shared/GlobalFunctions.cpp

patching file Source/Shared/NoWindows.h

patching file Source/Shared/SmartPtr.h

patching file Source/Shared/StdLibFileIO.cpp

patching file Source/Shared/StdLibFileIO.h
```

A me salta fuori quell'errore...e infatti:

```
canduc@candesktop ~/Desktop/MAC_SDK_399 $ cd Source/

canduc@candesktop ~/Desktop/MAC_SDK_399/Source $ make

make: *** No rule to make target `MACLib/NNFilterAsm.nas', needed by `MACLib/NNFilterAsm.o'.  Stop.
```

Il compilatore assembler ce l'ho: ho installato nasm-0.98.39-r3.

Come posso fare?

----------

## Scen

Elimina completamente la directory in cui avevi estratto lo ZIP, e riestrai l'archivio, applica la patch, effettua le varie modifiche ai file e riprova con il make.

Unico dubbio: che architettura stai usando? x86 o amd64? O altro?

----------

## canduc17

Sto usando un x86 su un Itel Core 2 Duo.

Ho seguito alla lettera le tue istruzioni e sono riuscito patchare e compilare senza problemi...

Ma adesso...come si usa?

L'unico comando che ho trovato è:

```
canduc@candesktop ~/Desktop/monkeyaudio/Source $ macpack

Error: No assembly to macpack was specified

Usage is:

macpack [options] assembly

   -n appname  -appname:appname    Application Name

   -o output   -output:OUTPUT      Output directory

   -a assembly                     Assembly to pack

   -i file     -icon file          Icon filename

   -r resource1,resource2          Additional files to bundle

   -m [winforms|cocoa|x11|console] The mode for the application
```

E' lui?

----------

## Scen

Uhm... io ho solamente un eseguibile chiamato mac:

```

$ ./mac

--- Monkey's Audio Console Front End (v 3.99) (c) Matthew T. Ashland ---

Proper Usage: [EXE] [Input File] [Output File] [Mode]

Modes:

    Compress (fast): '-c1000'

    Compress (normal): '-c2000'

    Compress (high): '-c3000'

    Compress (extra high): '-c4000'

    Compress (insane): '-c5000'

    Decompress: '-d'

    Verify: '-v'

    Convert: '-nXXXX'

Examples:

    Compress: mac.exe "Metallica - One.wav" "Metallica - One.ape" -c2000

    Decompress: mac.exe "Metallica - One.ape" "Metallica - One.wav" -d

    Verify: mac.exe "Metallica - One.ape" -v

    (note: int filenames must be put inside of quotations)

```

(leggendo l'esempio questo Matthew mi sta già simpatico  :Cool:  )

----------

## canduc17

Ok, trovato!

Grazie mille!

----------

