"No we won't add paved roads, somebody will make adapters for cars to handle dirt forest paths anyways".
Well that seem to be a very odd way of reasoning. I would just keep at it. Sooner or later they won't be able to just cast it aside.
The problem is that MML to ABC converters do exist, but all of them are imperfect by reasons of simple incompatibility. ABC by default is limited to one voice (instrument that plays a single note) at a time; multiple voices are to be supported in ABC at a later date, with an update coming at an undisclosed time. For Starbound, the default song (Canon in D) does have multiple voices, but it's entirely uncertain to me how this is accomplished. In particular, I note that the Canon in D file itself uses V:, which is the (volatile, not yet fully implemented) syntax for ABC's notation of multiple voices (described here), but V: is only used once, at the beginning of the file, and there are pretty clearly multiple voices in Canon in D. A program would have to be made specifically for Starbound's variant of ABC, and as far as I'm aware, there is no documentation for how ABC has been modified for use here. I could be wrong, though; looking at that file makes my brain hurt. At the end of all of this, I'm okay if the developers work on other stuff first, because honestly music's a tiny part of a much larger whole, and the rest of that whole should be polished off first before worrying about how well a space pigeon plays the french horn. That said, MML formatting should be made part of the game shortly after release, so that the wealth of existent MIDI files isn't left out in the cold.
Wow what? What kind of screwed up attitude would that be. That being said, he gets the benefit of doubt in this case. I don't just blindly believe everything people claim other people have said. So unless a dev takes some time to maybe try to pretend like they care, and take a look at suggestion that rapidly gains momentum, I don't think anything is set in stone. I haven't seen many suggestions in the first few pages of the forum that have been discussed as much as this one, so what would this mean? That the suggestion forum is a joke for the devs and they don't even consider great ideas on how to improve their game? Just a place for people to vent and feel like they might get something? I also don't think a developer who wants to be taken seriously would say "i'd just be yet another thing" (especially with a typo). Because you either commit to a project or you half-ass it. That's something I'd expect to hear for a dev that can't wait for a project to conclude because he's tired of dealing with it and its community. And that would be a scary thought for a game that's only about half-done. So let us not allow those foul rumors get to our hearts. A quote like this would mean the worst of things, for both a developer and our cause. Nothing is set until we get official word from a dev in here, and if they even take a second to consider and understand, and realize how big the demand can be and how passionate we are about this, I'm quite certain the answer won't be a stubborn 6-year-olds "I don't want to add that". (Why? - Because I DON'T WANNA BUAAAH.... do you get why I don't believe that's real?) @TripN A big thanks to you for your elaborate and lengthy posts. It's great to have someone as passionate as you in here, keep us going strong. @Hellz Yes, quite. I agree. The reason I chose to word the cause in a way "to add MML next to ABC", was to make sure I don't offend any ABC sympathizers. I wanted to improve and reinforce a system, not attack a part of it. But as it turns out no ABC sympathizers exist, or at least, none of them showed up to the party, and everyone here agrees that we can do without ABC. And now that foul rumors about what the devs might or might not have said, start cropping up, we should take a more direct route and just try to replace the ABC system with the MML system. Maybe that's less work for the devs? Who knows. Again, a big thank you to everyone supporting this. Let's not give up on a great feature. (With that in mind, if you use Twitter, you can try to tweet the link to this discussion at the devs. I think they might not be aware of what we're doing here at all. Don't spam tho, not more than once a day. We want attention, not to be annoying.)
Well, just so you don't keep thinking that, I want to say that I do like .ABC support and think it should remain in the game. Reading this thread, I agree that MML support is something that, while maybe not prioritized, is something the devs should consider adding, but I already have a large collection of songs in abc that play perfectly fine - though there are others that crashed or were misread, and there is a wealth of abc files out there as well. I'd vouch for allowing both to be played side-by-side at some point in the future. Something else to consider is modding though - since so much of the game is client-side, might it be feasible to have someone make a mod to read MML files alongside ABC, and make it so it sounds the same to others in multiplayer who don't have the mods? The way I understand, making mods that work with other players who don't have it is easy, so the challenge would be in making a mod to read MML. This would avoid putting an extra load on the mods while still giving those of us who want MML support an option.
Well since the interpreter is expecting ABC, that'd be making the game convert the MML to ABC, wouldn't it?
Alright, fair enough, maybe we should not get radical on this. Live and let live, right? I really doubt that modding will allow for MML support, since I assume that the MIDI synth and the ABC readout happen inside the games exe, which would mean modifying that, and I don't know the devs stance on this, since spreading the mod would mean distributing the games working binaries.
Could always just distribute a difference patch, like ROM translations and such do, but it'd likely be invalidated and need updating every game update. But at this point we'll just push it for a while and see what it takes to get better music support added eventually.
Oh boy, with the train wreck that was the balance patch I think any kind of dev attention we can draw to the MML issue will be delayed. Lucky for us the beta will probably still take a while.
As a long time mabinogi player I'll also throw in support of this. There are just so many songs I can't do in abc because of the apparent lack of volume control. (Also I guess I'm lazy and I don't want to have to learn abc when I already know mml )
Ok. Here is a thought. If the devs can't be convinced, there is the possibility of making a mod that uses this in lieu of .abc.
Ignoring the fact that every person in a server or the server itself needing a copy of the mod (which isn't that much of an issue), I doubt that you would be able to mod such a base function of the game without going into the actual exe. You would basically need to mod how the sound system interprets input at whatever level the abc is interpreted.
Considering folks have been modding pretty everything including planet Generation aspects i am willing to bet we can modify the instrument system without excessive hassle.
Mind linking a mod that actually changes the exe? All the mods I can find seem to only mod using the standard of adding new assets and such. There also aren't any mods that I can find which change the way music works. Looking at the modding tutorials and starbound directory, it seems to not have anything meant to deal with this kind of mod.
Yeah I was confused when I wrote a song perfectly in the easyABC program but when I played it in Starbound it was completely wrong! I don't really have a problem with the ABC format, we just need Starbound to actually read the music correctly!
As a random user I approve. Not that I have anything againtst ABC but a "working" standard would be much appreciated. I mean, is it really that hard to make this Code: X:1 T:0fithos I:abc-version 2.1 I:abc-creator MidiZyx2abc 3.02 I:linebreak $ M:C L:1/8 Q:1/4=110 I:score {Piano | Piano3} K:C V:Piano name="Piano" %%MIDI program 0 % Grand Piano [E,A,]2[E,A,]27/16z69/16| [E,B,]2[E,B,]27/16z69/16| [E,C]2[E,C]27/16z69/16| % 3 [A,D][A,D][A,D]27/16z69/16| [EA]2[EA]27/16z21/16e/f/4^g/4a2| [FB]2[FB]27/16z21/16e/f/4^g/4a2| % 6 [Ac]2[Ac]27/16z21/16e/f/4^g/4a2| [Bd][Bd][Bd]27/16z21/16e/f/4^g/4a2| [GB^d]2[GBd]27/16z69/16| % 9 [A^cf]2[Acf]27/16z69/16| [GB_e]2[GBe]27/16z69/16| [A^cf][Acf][Acf]27/16z69/16| z8| zecazfca| % 14 zecafced| e^db2a4-| a8| BAe2^d4-| d8| e^dc'2edb2| e^dc'2a4| AcefecAc| Ace_gecAc| AcefecAc| % 24 Ace_gecAc| AcefecBc| AFEFECB,C| e2b2agf2| efgdf2ed| e2Bcd2cB| cBcAF2G2| [EA]2[EA]2g^fe2| % 32 [AB]2[AB]2_e/4d3/4cd=e| [Ac]2[Ac]2c'^gac'| [Bd][Bd][Bd]2c'/=g/^g/b/a2| e2b2a=gf2| efgdf2ed| % 37 e2Bcd2cB| c_Bc_AF2G2| [CE=A]2[CEA]27/16z69/16| [D^FB]2[DFB]27/16z69/16| [EGc]2[EGc]27/16z69/16| % 42 [_GAd][GAd][GAd]27/16z69/16| z2[F_Ac]27/16z21/16[FA_d][FAd]2| % 44 z[F_Ac][FAc]27/16z21/16[EAB]z[EA^c]| z2[^FBd]27/16z21/16[GBd][GBd]2| % 46 z[_GBd][GBd]2[GBd]2[=Fcd]2| zggg_b/4_a3/4ggg| _b/4_a3/4gbagagf| zggg_b/4_a3/4ggg| % 50 _b/4_a3/4gbagag_e| z=aaac'/4_b3/4aaa| c'/4_b3/4ac'babag| zaaac'/4_b3/4aaa| [M:2/4]z^f/_b/_g'f'| % 55 [M:C]e'2e'f'e'2e'f'| e'c'afecAF| ECA,F,E,4-| E,8| [E,A,]2[E,A,]27/16z69/16| % 60 [E,B,]2[E,B,]27/16z69/16| [E,C]2[E,C]27/16z69/16| [A,D][A,D][A,D]27/16z69/16| % 63 [EA]2[EA]27/16z21/16e/f/4^g/4a2| [FB]2[FB]27/16z21/16e/f/4^g/4a2| % 65 [Ac]2[Ac]27/16z21/16e/f/4^g/4a2| [Bd][Bd][Bd]27/16z21/16e/f/4^g/4a2| [GB^d]2[GBd]27/16z69/16| % 68 [A^cf]2[Acf]27/16z69/16| [GB_e]2[GBe]27/16z69/16| [A^cf][Acf][Acf]27/16z69/16| z8| zecazfca| % 73 zecafced| e^db2a4-| a8| BAe2^d4-| d8| e^dc'2edb2| e^dc'2a4| AcefecAc| Ace_gecAc| AcefecAc| % 83 Ace_gecAc| AcefecBc| AFEFECB,C| e2b2agf2| efgdf2ed| e2Bcd2cB| cBcAF2G2| [EA]2[EA]2g^fe2| % 91 [AB]2[AB]2_e/4d3/4cd=e| [Ac]2[Ac]2c'^gac'| [Bd][Bd][Bd]2c'/=g/^g/b/a2| e2b2a=gf2| efgdf2ed| % 96 e2Bcd2cB| c_Bc_AF2G2| [CE=A]2[CEA]27/16z69/16| [D^FB]2[DFB]27/16z69/16| % 100 [EGc]2[EGc]27/16z69/16| [_GAd][GAd][GAd]27/16z69/16| z2[F_Ac]27/16z21/16[FA_d][FAd]2| % 103 z[F_Ac][FAc]27/16z21/16[EAB]z[EA^c]| z2[^FBd]27/16z21/16[GBd][GBd]2| % 105 z[_GBd][GBd]2[GBd]2[=Fcd]2| zggg_b/4_a3/4ggg| _b/4_a3/4gbagagf| zggg_b/4_a3/4ggg| % 109 _b/4_a3/4gbagag_e| z=aaac'/4_b3/4aaa| c'/4_b3/4ac'babag| zaaac'/4_b3/4aaa| % 113 [M:2/4]z^f/_b/_g'f'| [M:C]e'2e'f'e'2e'f'| e'c'afecAF| ECA,F,E,4-| E,8| [EA]2[EA]7/4|] % 119 V:Piano3 %%MIDI program 0 % Grand Piano [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 1 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 2 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 3 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 4 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 5 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 6 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 7 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| ^D,,4B,,2G,,2| ^F,,8| _E,,5G,,B,,_E,| % 11 _A,,2F,6| F,,2F,,2F,,F,,F,,2| [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 14 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 15 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 16 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 17 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 18 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| [E,,E,]4[F,,F,]4| [_G,,_G,]4[F,,F,]4| % 21 [E,,E,]4[F,,F,]4| [_G,,_G,]4[F,,F,]4| [E,,E,]4[F,,F,]4| [_G,,_G,]4[F,,F,]4| % 25 A,,27/16z21/16A,,A,,27/16z37/16| A,,27/16z21/16A,,A,,27/16z37/16| % 27 [A,,E,]27/16z21/16[A,,E,][A,,E,]2[A,,E,][A,,E,]| % 28 [_B,,F,]27/16z21/16[B,,F,][B,,F,]2[B,,F,][B,,F,]| % 29 [A,,E,]27/16z21/16[A,,E,][A,,E,]2[A,,E,][A,,E,]| [F,,C,]27/16z21/16[F,,C,][F,,C,]2[F,,C,]2| % 31 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 32 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 33 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 34 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,]2| % 35 [A,,E,]27/16z21/16[A,,E,][A,,E,]2[A,,E,][A,,E,]| % 36 [_B,,F,]27/16z21/16[B,,F,][B,,F,]2[B,,F,][B,,F,]| % 37 [A,,E,]27/16z21/16[A,,E,][A,,E,]2[A,,E,][A,,E,]| [F,,C,]27/16z21/16[F,,C,][F,,C,]2[F,,C,]2| % 39 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 40 [A,,,^F,,]2[A,,,F,,][A,,,F,,][A,,,F,,]2[A,,,F,,][A,,,F,,]| % 41 [A,,,G,,]2[A,,,G,,][A,,,G,,][A,,,G,,]2[A,,,G,,][A,,,G,,]| % 42 [A,,,A,,]2[A,,,A,,][A,,,A,,][A,,,A,,]2[A,,,A,,][A,,,A,,]| F,,27/16z21/16_E,,^C,,27/16z21/16E,,| % 44 F,,27/16z21/16G,,^G,,2^A,,2| B,,27/16z21/16=A,,=G,,27/16z21/16A,,| B,,27/16z21/16^C,D,2_D,2| % 47 [=C,G,]27/16z21/16G,,[C,G,]27/16z21/16G,,| [C,G,]27/16z21/16G,,[C,G,]27/16z21/16G,,| % 49 [C,G,]27/16z21/16G,,[C,G,]27/16z21/16G,,| [C,G,]27/16z21/16G,,[C,G,]27/16z21/16^C,| % 51 [D,A,]27/16z21/16A,,[D,A,]27/16z21/16A,,| [D,A,]27/16z21/16A,,[D,A,]27/16z21/16A,,| % 53 [D,A,]27/16z21/16A,,[D,A,]27/16z21/16A,,| [M:2/4]^D,4| [M:C]E,A,F,_B,E,A,F,B,| % 56 [E,A,]2F,,2^F,,2G,,2| _A,,8| [E,,_B,,]2[E,,B,,]2[E,,B,,][E,,B,,][E,,B,,][E,,B,,]| % 59 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 60 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 61 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 62 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 63 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 64 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 65 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 66 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| ^D,,4B,,2G,,2| ^F,,8| _E,,5G,,B,,_E,| % 70 _A,,2F,6| F,,2F,,2F,,F,,F,,2| [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 73 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 74 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 75 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 76 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| % 77 [E,A,][E,A,][E,A,][E,A,][F,A,][F,A,][F,A,][F,A,]| [E,,E,]4[F,,F,]4| [_G,,_G,]4[F,,F,]4| % 80 [E,,E,]4[F,,F,]4| [_G,,_G,]4[F,,F,]4| [E,,E,]4[F,,F,]4| [_G,,_G,]4[F,,F,]4| % 84 A,,27/16z21/16A,,A,,27/16z37/16| A,,27/16z21/16A,,A,,27/16z37/16| % 86 [A,,E,]27/16z21/16[A,,E,][A,,E,]2[A,,E,][A,,E,]| % 87 [_B,,F,]27/16z21/16[B,,F,][B,,F,]2[B,,F,][B,,F,]| % 88 [A,,E,]27/16z21/16[A,,E,][A,,E,]2[A,,E,][A,,E,]| [F,,C,]27/16z21/16[F,,C,][F,,C,]2[F,,C,]2| % 90 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 91 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 92 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 93 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,]2| % 94 [A,,E,]27/16z21/16[A,,E,][A,,E,]2[A,,E,][A,,E,]| % 95 [_B,,F,]27/16z21/16[B,,F,][B,,F,]2[B,,F,][B,,F,]| % 96 [A,,E,]27/16z21/16[A,,E,][A,,E,]2[A,,E,][A,,E,]| [F,,C,]27/16z21/16[F,,C,][F,,C,]2[F,,C,]2| % 98 [A,,,E,,]2[A,,,E,,][A,,,E,,][A,,,E,,]2[A,,,E,,][A,,,E,,]| % 99 [A,,,^F,,]2[A,,,F,,][A,,,F,,][A,,,F,,]2[A,,,F,,][A,,,F,,]| % 100 [A,,,G,,]2[A,,,G,,][A,,,G,,][A,,,G,,]2[A,,,G,,][A,,,G,,]| % 101 [A,,,A,,]2[A,,,A,,][A,,,A,,][A,,,A,,]2[A,,,A,,][A,,,A,,]| % 102 F,,27/16z21/16_E,,^C,,27/16z21/16E,,| F,,27/16z21/16G,,^G,,2^A,,2| % 104 B,,27/16z21/16=A,,=G,,27/16z21/16A,,| B,,27/16z21/16^C,D,2_D,2| % 106 [=C,G,]27/16z21/16G,,[C,G,]27/16z21/16G,,| [C,G,]27/16z21/16G,,[C,G,]27/16z21/16G,,| % 108 [C,G,]27/16z21/16G,,[C,G,]27/16z21/16G,,| [C,G,]27/16z21/16G,,[C,G,]27/16z21/16^C,| % 110 [D,A,]27/16z21/16A,,[D,A,]27/16z21/16A,,| [D,A,]27/16z21/16A,,[D,A,]27/16z21/16A,,| % 112 [D,A,]27/16z21/16A,,[D,A,]27/16z21/16A,,| [M:2/4]^D,4| [M:C]E,A,F,_B,E,A,F,B,| % 115 [E,A,]2F,,2^F,,2G,,2| _A,,8| [E,,_B,,]2[E,,B,,]2[E,,B,,][E,,B,,][E,,B,,][E,,B,,]| % 118 A,,,2[A,,,E,,]7/4|] % 119 sound just like it does in EasyABC exept with swapped instrument to match the one you're playing instead of crashing the game? Or am I doing something wrong?
I have nothing to contribute here, I just love that this is a thing that's in the game, and that people care about so much. You are all awesome.
You don't have to do anything to the EXE for starbound to mod it. All the files are right there in the folders. I have no clue where you get that idea. Even the games music and battle music can be tweaked by accessing the assets folder. The only way to be sure how the music system works is for someone to sit down with the files and see what ones point instruments to the .abc files to work with the instruments .ogg files.
I've done that, and here's the problem: the music interpreter is hard-coded. There is no file that the exe accesses that says "interpret abc files like this" to be modified. Because it's hard-coded, that means that modifying the exe would be necessary to make it play mml files. That's why a mod won't work. If I happen to be wrong about this, someone let me know as I'd be happy to assist in actually making such a mod. At present however, I don't think it's possible.