martincameron / micromod

Music player libraries for MOD, S3M and XM formats.
BSD 3-Clause "New" or "Revised" License
159 stars 28 forks source link

Maven & refactor #7

Closed Arcnor closed 9 years ago

Arcnor commented 9 years ago

Hi, I'm not sure if you'll find this useful, but I've converted the project to Maven, and refactored most of the code so IBXM & Micromod share most of the code.

It can be improved even more (for example, the Pattern & WaveInputStream classes can be the same for both projects)

If you don't want the refactor but want the Maven changes, I can also open a PR just with that change

Hope this helps!

martincameron commented 9 years ago

Hi, I don't see any reason not to put it up on Maven (I think an older version of IBXM is up there already), but I don't see the point of unifying IBXM and Micromod.

IBXM already plays MOD files well, and the only reason I maintain Micromod is to support my odd-ball "tracker" experiments. I have been meaning to put IBXM in a separate repository to avoid confusion.

Cheers, Martin

On 19/09/2015, Edu Garcia notifications@github.com wrote:

Hi, I'm not sure if you'll find this useful, but I've converted the project to Maven, and refactored most of the code so IBXM & Micromod share most of the code.

It can be improved even more (for example, the Pattern & WaveInputStream classes can be the same for both projects)

If you don't want the refactor but want the Maven changes, I can also open a PR just with that change

Hope this helps! You can view, comment on, or merge this pull request online at:

https://github.com/martincameron/micromod/pull/7

-- Commit Summary --

  • Mavenized
  • Split compiler into its own module
  • Created micromod-common and moved Note there
  • Added AbstractChannel and made Channels extend it. Also, added an enum for ChannelInterpolations
  • Added AbstractPattern and made Pattern extend it
  • Added AbstractModule and made Module extend it
  • Added AbstractReplay and made IBXM/Micromod extend it

-- File Changes --

D ibxm/IBXM.java (285)
D ibxm/Note.java (6)
D ibxm/Pattern.java (44)
A ibxm/pom.xml (21)
R ibxm/src/main/java/ibxm/Channel.java (27)
R ibxm/src/main/java/ibxm/Data.java (0)
R ibxm/src/main/java/ibxm/Envelope.java (0)
R ibxm/src/main/java/ibxm/GlobalVol.java (0)
A ibxm/src/main/java/ibxm/IBXM.java (157)
R ibxm/src/main/java/ibxm/IBXMPlayer.java (26)
R ibxm/src/main/java/ibxm/Instrument.java (0)
R ibxm/src/main/java/ibxm/Module.java (227)
A ibxm/src/main/java/ibxm/Pattern.java (39)
R ibxm/src/main/java/ibxm/Sample.java (0)
R ibxm/src/main/java/ibxm/WavInputStream.java (9)
R ibxm/src/main/resources/ibxm.png (0)
A micromod-common/pom.xml (15)
A micromod-common/src/main/java/micromod/AbstractChannel.java (11)
A micromod-common/src/main/java/micromod/AbstractModule.java (96)
A micromod-common/src/main/java/micromod/AbstractPattern.java (48)
A micromod-common/src/main/java/micromod/AbstractReplay.java (182)
A micromod-common/src/main/java/micromod/ChannelInterpolation.java (5)
R micromod-common/src/main/java/micromod/Note.java (14)
A micromod-compiler/pom.xml (46)
R micromod-compiler/src/main/java/micromod/compiler/AudioData.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Channels.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Chorus.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Compiler.java (16)
R micromod-compiler/src/main/java/micromod/compiler/Crop.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Element.java (0)
R micromod-compiler/src/main/java/micromod/compiler/FineTune.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Gain.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Instrument.java (0)
R micromod-compiler/src/main/java/micromod/compiler/LoopLength.java (0)
R micromod-compiler/src/main/java/micromod/compiler/LoopStart.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Macro.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Module.java (5)
R micromod-compiler/src/main/java/micromod/compiler/Name.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Note.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Octave.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Parser.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Pattern.java (0)
R micromod-compiler/src/main/java/micromod/compiler/PingPong.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Pitch.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Point.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Repeat.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Root.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Row.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Scale.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Sequence.java (2)
R micromod-compiler/src/main/java/micromod/compiler/Testmod1.mt (0)
R micromod-compiler/src/main/java/micromod/compiler/Testmod2.mt (0)
R micromod-compiler/src/main/java/micromod/compiler/Testmod3.mt (0)
R micromod-compiler/src/main/java/micromod/compiler/Volume.java (0)
R micromod-compiler/src/main/java/micromod/compiler/WaveFile.java (0)
R micromod-compiler/src/main/java/micromod/compiler/Waveform.java (0)
D micromod/Micromod.java (262)
A micromod/pom.xml (21)
R micromod/src/main/java/micromod/Channel.java (55)
R micromod/src/main/java/micromod/Instrument.java (0)
R micromod/src/main/java/micromod/Macro.java (0)
A micromod/src/main/java/micromod/Micromod.java (137)
R micromod/src/main/java/micromod/Module.java (172)
R micromod/src/main/java/micromod/Pattern.java (21)
R micromod/src/main/java/micromod/Player.java (6)
R micromod/src/main/java/micromod/Scale.java (0)
R micromod/src/main/java/micromod/WavInputStream.java (5)
A pom.xml (27)

-- Patch Links --

https://github.com/martincameron/micromod/pull/7.patch https://github.com/martincameron/micromod/pull/7.diff


Reply to this email directly or view it on GitHub: https://github.com/martincameron/micromod/pull/7

Arcnor commented 9 years ago

Well, the point is that every time you do a fix, I see commits in both places, so maybe that helped you. I also saw that Micromod had support for creating as well as reading, so with the refactor both get that capability (although it needs a bit more work)

If you think IBXM is enough, I'm glad to open another PR with just the Maven changes :) On Sep 23, 2015 7:07 AM, "Martin Cameron" notifications@github.com wrote:

Hi, I don't see any reason not to put it up on Maven (I think an older version of IBXM is up there already), but I don't see the point of unifying IBXM and Micromod.

IBXM already plays MOD files well, and the only reason I maintain Micromod is to support my odd-ball "tracker" experiments. I have been meaning to put IBXM in a separate repository to avoid confusion.

Cheers, Martin

On 19/09/2015, Edu Garcia notifications@github.com wrote:

Hi, I'm not sure if you'll find this useful, but I've converted the project to Maven, and refactored most of the code so IBXM & Micromod share most of the code.

It can be improved even more (for example, the Pattern & WaveInputStream classes can be the same for both projects)

If you don't want the refactor but want the Maven changes, I can also open a PR just with that change

Hope this helps! You can view, comment on, or merge this pull request online at:

https://github.com/martincameron/micromod/pull/7

-- Commit Summary --

  • Mavenized
  • Split compiler into its own module
  • Created micromod-common and moved Note there
  • Added AbstractChannel and made Channels extend it. Also, added an enum for ChannelInterpolations
  • Added AbstractPattern and made Pattern extend it
  • Added AbstractModule and made Module extend it
  • Added AbstractReplay and made IBXM/Micromod extend it

-- File Changes --

D ibxm/IBXM.java (285) D ibxm/Note.java (6) D ibxm/Pattern.java (44) A ibxm/pom.xml (21) R ibxm/src/main/java/ibxm/Channel.java (27) R ibxm/src/main/java/ibxm/Data.java (0) R ibxm/src/main/java/ibxm/Envelope.java (0) R ibxm/src/main/java/ibxm/GlobalVol.java (0) A ibxm/src/main/java/ibxm/IBXM.java (157) R ibxm/src/main/java/ibxm/IBXMPlayer.java (26) R ibxm/src/main/java/ibxm/Instrument.java (0) R ibxm/src/main/java/ibxm/Module.java (227) A ibxm/src/main/java/ibxm/Pattern.java (39) R ibxm/src/main/java/ibxm/Sample.java (0) R ibxm/src/main/java/ibxm/WavInputStream.java (9) R ibxm/src/main/resources/ibxm.png (0) A micromod-common/pom.xml (15) A micromod-common/src/main/java/micromod/AbstractChannel.java (11) A micromod-common/src/main/java/micromod/AbstractModule.java (96) A micromod-common/src/main/java/micromod/AbstractPattern.java (48) A micromod-common/src/main/java/micromod/AbstractReplay.java (182) A micromod-common/src/main/java/micromod/ChannelInterpolation.java (5) R micromod-common/src/main/java/micromod/Note.java (14) A micromod-compiler/pom.xml (46) R micromod-compiler/src/main/java/micromod/compiler/AudioData.java (0) R micromod-compiler/src/main/java/micromod/compiler/Channels.java (0) R micromod-compiler/src/main/java/micromod/compiler/Chorus.java (0) R micromod-compiler/src/main/java/micromod/compiler/Compiler.java (16) R micromod-compiler/src/main/java/micromod/compiler/Crop.java (0) R micromod-compiler/src/main/java/micromod/compiler/Element.java (0) R micromod-compiler/src/main/java/micromod/compiler/FineTune.java (0) R micromod-compiler/src/main/java/micromod/compiler/Gain.java (0) R micromod-compiler/src/main/java/micromod/compiler/Instrument.java (0) R micromod-compiler/src/main/java/micromod/compiler/LoopLength.java (0) R micromod-compiler/src/main/java/micromod/compiler/LoopStart.java (0) R micromod-compiler/src/main/java/micromod/compiler/Macro.java (0) R micromod-compiler/src/main/java/micromod/compiler/Module.java (5) R micromod-compiler/src/main/java/micromod/compiler/Name.java (0) R micromod-compiler/src/main/java/micromod/compiler/Note.java (0) R micromod-compiler/src/main/java/micromod/compiler/Octave.java (0) R micromod-compiler/src/main/java/micromod/compiler/Parser.java (0) R micromod-compiler/src/main/java/micromod/compiler/Pattern.java (0) R micromod-compiler/src/main/java/micromod/compiler/PingPong.java (0) R micromod-compiler/src/main/java/micromod/compiler/Pitch.java (0) R micromod-compiler/src/main/java/micromod/compiler/Point.java (0) R micromod-compiler/src/main/java/micromod/compiler/Repeat.java (0) R micromod-compiler/src/main/java/micromod/compiler/Root.java (0) R micromod-compiler/src/main/java/micromod/compiler/Row.java (0) R micromod-compiler/src/main/java/micromod/compiler/Scale.java (0) R micromod-compiler/src/main/java/micromod/compiler/Sequence.java (2) R micromod-compiler/src/main/java/micromod/compiler/Testmod1.mt (0) R micromod-compiler/src/main/java/micromod/compiler/Testmod2.mt (0) R micromod-compiler/src/main/java/micromod/compiler/Testmod3.mt (0) R micromod-compiler/src/main/java/micromod/compiler/Volume.java (0) R micromod-compiler/src/main/java/micromod/compiler/WaveFile.java (0) R micromod-compiler/src/main/java/micromod/compiler/Waveform.java (0) D micromod/Micromod.java (262) A micromod/pom.xml (21) R micromod/src/main/java/micromod/Channel.java (55) R micromod/src/main/java/micromod/Instrument.java (0) R micromod/src/main/java/micromod/Macro.java (0) A micromod/src/main/java/micromod/Micromod.java (137) R micromod/src/main/java/micromod/Module.java (172) R micromod/src/main/java/micromod/Pattern.java (21) R micromod/src/main/java/micromod/Player.java (6) R micromod/src/main/java/micromod/Scale.java (0) R micromod/src/main/java/micromod/WavInputStream.java (5) A pom.xml (27)

-- Patch Links --

https://github.com/martincameron/micromod/pull/7.patch https://github.com/martincameron/micromod/pull/7.diff


Reply to this email directly or view it on GitHub: https://github.com/martincameron/micromod/pull/7

— Reply to this email directly or view it on GitHub https://github.com/martincameron/micromod/pull/7#issuecomment-142422684.