Pages: 1
  Print  
Author Topic: Sound Editor (MIDI)  (Read 2340 times)
Offline (Male) edsquare
Posted on: June 21, 2014, 02:43:02 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
How useful do you think it would be to have such option in a game making environment?

I ask because I'm stuck with my IDE (Code name: ENYGMA), trying to include such functionality in it, and can't make it work.
Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Male) Josh @ Dreamland
Reply #1 Posted on: June 21, 2014, 03:56:41 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2949

View Profile Email
Not that important. Ism and I started writing a sequencer earlier; it was an early failure. If you do go through with it, I recommend XM as opposed to MIDI.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Male) edsquare
Reply #2 Posted on: June 21, 2014, 06:43:02 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
Not that important. Ism and I started writing a sequencer earlier; it was an early failure. If you do go through with it, I recommend XM as opposed to MIDI.

It's almost working now, I think in 2 or 3 months I'll be able to release a prealpha version, any reason to use xm over midi?

I was thinking on using only OGGVorbis, since I have decided to forget about GM compatibility, and will only support OGL, GLES and/or SDL

Next problem will be the parser, I want nothing to do with Java, although would compromise for javascript (Still thinking about it though).

Anyway I'm going to do it as modular as possible so modifications can be made.
Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Male) Josh @ Dreamland
Reply #3 Posted on: June 21, 2014, 07:11:54 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2949

View Profile Email
From the name, I assume you're tailoring it to ENIGMA, so one key advantage is that ENIGMA can play XM files. :P

A better (and more permanent) reason is that XM is more portable. The files are a little larger on average, because the sound samples are stored inside the file. This means they sound the same between Windows and Linux. Moreover, I've never used a Linux program with good MIDI support; as far as I can tell, the Microsoft soundfont that encapsulates everything people think of when they hear "MIDI" is (A) proprietary and (B) not actually a sound font, but a DLL.

tl;dr: Portability

OGG/Vorbis is an extremely portable alternative. Everything can play Vorbis, anymore.

I am... extremely curious as to how successful a JavaScript sequencer would be. We used JavaScript to allow writing custom waveforms for instruments... it was awfully slow.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Male) edsquare
Reply #4 Posted on: June 21, 2014, 07:37:56 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
From the name, I assume you're tailoring it to ENIGMA, so one key advantage is that ENIGMA can play XM files. :P

A better (and more permanent) reason is that XM is more portable. The files are a little larger on average, because the sound samples are stored inside the file. This means they sound the same between Windows and Linux. Moreover, I've never used a Linux program with good MIDI support; as far as I can tell, the Microsoft soundfont that encapsulates everything people think of when they hear "MIDI" is (A) proprietary and (B) not actually a sound font, but a DLL.

tl;dr: Portability

OGG/Vorbis is an extremely portable alternative. Everything can play Vorbis, anymore.

I am... extremely curious as to how successful a JavaScript sequencer would be. We used JavaScript to allow writing custom waveforms for instruments... it was awfully slow.

That's the plan, to make an IDE for enigma, the sound editor is but a small part of it, since enigma can use ogg/vorbis and since it is free and opensource that's the only format it will produce (IT will be easy to extend if you wish to add another format), because it is easier for me to open/save in this format.

The javascript part i was thinking was only for the D&D of actions but... I would rather not, better to stick to native/compiled code.

Also since I'm developing in a modular way it will allow you to switch engines if you want, only problem is: I need the plugin in C or C++ since I'm not gona touch a single line of Java code.

So far (without engine) what is finished compiles and it loads in much less time than LGM, same PC with only 2Gb ram and internal video.

Of course the real test will be to make the calls to enigma, I will need to learn and understand the API.

Once the IDE is finished or at least considered stable (RC at the least), I'll start re-writting enigma in a different language, ditching all GM compatibility and probably (Unless I find someone that can write a compiler) EDL in favour of Pascal, I know it has less libraries than C++ but it has OGL, OpenAl, SDL, and even better the FP Compiler can compile for any (or almost) operating system.
Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Unknown gender) daz
Reply #5 Posted on: June 21, 2014, 08:32:29 PM
Contributor
Joined: Jul 2010
Posts: 167

View Profile
Yes Java is slow. I'm all in favor of a new IDE project compatible with ENIGMA but so far there have been 3 or 4 attempts that went vastly unfinished.

Using Free Pascal Compiler and making a cross-platform IDE? You must be using Lazarus. If so, you can just use SynEdit. Trying to ditch EDL in favor of Pascal though I think would vastly lower your user-base, if you were trying to make it ENIGMA compatible. It uses EDL plain and simple. Of course that would require you to create a custom highlighter for EDL with SynEdit (or whatever text box component), as well as figuring out a way to check for EDL syntax errors.

And there is not much to figuring out how to use C libraries in Pascal. Just make sure they're not compiled with .NET...
Logged
Offline (Male) Goombert
Reply #6 Posted on: June 21, 2014, 08:41:02 PM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3107

View Profile
daz, I'm going to have to go ahead and disagree with you, RadialGM redid all of LGM's interface, and it's still there waiting for functionality to be added.
http://enigma-dev.org/docs/Wiki/RadialGM
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) Darkstar2
Reply #7 Posted on: June 21, 2014, 10:08:06 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
Pascal ????? You want to ditch c++ and rewrite ENIGMA in PASCAL ?

I agree, you will lower your user base that's for sure.  In my opinion that's regression right there.   Some people came here barely to start learning C++.  As far as breaking GM compatibility I agree 100%, provide new functions, unique functions so long as you don't offer less features but equal ( better ) and more.  Personally I build everything from scratch in ENIGMA, however there are many who might still want to use both and port things, so I think ENIGMA should still continue evolving and at the same time having another project rather than one project that will replace ENIGMA.

But I don't get it, how is it that you will be ENIGMA compatible when you mention you will use a totally different language and the engine will not be GM compatible.......Did I miss something ???  You mentioned a new IDE for ENIGMA, but then you mentioning re-writing ENIGMA.


« Last Edit: June 21, 2014, 10:21:23 PM by Darkstar2 » Logged
Offline (Unknown gender) daz
Reply #8 Posted on: June 21, 2014, 10:41:22 PM
Contributor
Joined: Jul 2010
Posts: 167

View Profile
daz, I'm going to have to go ahead and disagree with you, RadialGM redid all of LGM's interface, and it's still there waiting for functionality to be added.
http://enigma-dev.org/docs/Wiki/RadialGM

Yes honestly if I had to pick an IDE that of those that had been made and abandoned to want to have finished, this one would be at the top of the list. It's cross-platform C++. Pretty damn good idea. But it's useless as an IDE if it can load and save files or send them to ENIGMA. In my spare time I might be able to work on some file handling, but I don't know near enough about enigma to connect the two.
Logged
Offline (Unknown gender) Darkstar2
Reply #9 Posted on: June 21, 2014, 10:49:48 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
I guess with the upcoming CLI it will be easier to build IDEs, you will just pass the saved file directly to the CLI for handling as opposed to handling all that shite yourself in the IDE as now done in LGM.

Logged
Offline (Male) edsquare
Reply #10 Posted on: June 21, 2014, 11:40:56 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
Yes Java is slow. I'm all in favor of a new IDE project compatible with ENIGMA but so far there have been 3 or 4 attempts that went vastly unfinished.

Using Free Pascal Compiler and making a cross-platform IDE? You must be using Lazarus. If so, you can just use SynEdit. Trying to ditch EDL in favor of Pascal though I think would vastly lower your user-base, if you were trying to make it ENIGMA compatible. It uses EDL plain and simple. Of course that would require you to create a custom highlighter for EDL with SynEdit (or whatever text box component), as well as figuring out a way to check for EDL syntax errors.

And there is not much to figuring out how to use C libraries in Pascal. Just make sure they're not compiled with .NET...

Creating the custom highlighter is the easy part, the hard part is cheking for syntax errors, the harder part would be making a parser from EDL to FPC. Since It already compiles for so many platforms that would be nice.

Pascal ????? You want to ditch c++ and rewrite ENIGMA in PASCAL ?

No, I'm planing to create a clone of enigma built around the FPC compiler.

I agree, you will lower your user base that's for sure.  In my opinion that's regression right there.   Some people came here barely to start learning C++.  As far as breaking GM compatibility I agree 100%, provide new functions, unique functions so long as you don't offer less features but equal ( better ) and more.  Personally I build everything from scratch in ENIGMA, however there are many who might still want to use both and port things, so I think ENIGMA should still continue evolving and at the same time having another project rather than one project that will replace ENIGMA.

Not planning to replace ENIGMA, if anything I'm planning on replacing LGM, that's the immediate future (6 months, a year tops), the other part is me thinking way into the future and projecting my love for Pascal into my plans.

But I don't get it, how is it that you will be ENIGMA compatible when you mention you will use a totally different language and the engine will not be GM compatible.......Did I miss something ???  You mentioned a new IDE for ENIGMA, but then you mentioning re-writing ENIGMA.

Apparently yes you did miss something:

If I can find someone to write the parser I will keep being EDL compatible in my re-write, but the ide is going to be opensourced under whatever license the team agrees upon, so Enigma will be free to keep on using it even if I pull a disapearing act.

The main point is this:

I love FreePascal and Lazarus, I love ENIGMA and would like for us to have a menage a trois  :D

No really I love this project and even all you guys with your quirks, trolls and all, so I want to give something back, and if that something ends up making ENIGMA more usable then I also get to share the benefits of my work, so I am developing the IDE (Any name sugestions?), so far I know of at least 5 IDES for ENIGMA: LGM, NaturalGM, RadialGM, SharpGM and GameEditor, of which only LGM is usable and yet everybody complains of crashes and what not (only natural since it's made in java), so I will donate another one; in pascal because that's what I know.

The other project might or might not ever be started, it's more a dream than anything else, the point is that I also Love FPC and Lazarus and would love to make something unique that showcases the power, versatility and maturity of the projects, ATM there's a 2D/3D game engine already usable for FPC but it needs Lazarus as it's IDE, I think it has even a Room editor (can't use it because it needs a FPC version higher than mine); but it is not as friendly as you would like, you have to install it and if in linux you have to know that the most recent Lazarus is not the most stable. So maybe I end up using the same IDE for both ENIGMA and Castle Engine.

If you use windows you can easily try it only need the most recent Lazarus EXE and download and install Castle Engine, it's really mature for something made in a "dead" "for learning only" language  ;)

Yet I would like in some point in time to build my own engine with my own IDE but I DO NOT believe in reinventing the weel.  :smileycat:
« Last Edit: June 22, 2014, 12:39:28 AM by edsquare » Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Male) edsquare
Reply #11 Posted on: June 23, 2014, 10:29:09 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
Did I say 6 months to a year? fuck that, it'll be more like two years, the room (level) editor is something really hard to do.

Will see if I can't find examples in other languages and try and port one of them.
Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Unknown gender) Darkstar2
Reply #12 Posted on: June 23, 2014, 10:46:16 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
Did I say 6 months to a year? fuck that, it'll be more like two years, the room (level) editor is something really hard to do.

Will see if I can't find examples in other languages and try and port one of them.

Good thing you wrote that I was going to say you are really optimistic unless you have mad skills and alien like traits, maybe, mind you not impossible, but doubt you'd be putting full time hours, I've always said 1 year best case scenario, 2+ years realistic, could be more.  But don't worry mate, by that time PCs will be discontinued, there will be a totally different CPU architecture, and your code will probably not be compatible.
Unfortunately people are moving towards gay consoles and hand held shite and mobiles ditching PCs gradually.  I think this is one of the reason why a certain company I know that makes a game development engine is focusing more on mobile and consoles and slowly disregarding windows.
In fact a roumour from a trusted source says that they are moving slowly away from windows and support only consoles and mobile.

So if in 2 years your engine does not support a plethora of export options you basically will have wasted time.

« Last Edit: June 24, 2014, 12:12:35 AM by Darkstar2 » Logged
Offline (Male) edsquare
Reply #13 Posted on: June 23, 2014, 11:47:47 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
Did I say 6 months to a year? fuck that, it'll be more like two years, the room (level) editor is something really hard to do.

Will see if I can't find examples in other languages and try and port one of them.

Good thing you wrote that I was going to say you are really optimistic unless you have mad skills and alien like traits, maybe, mind you not impossible, but doubt you'd be putting full time hours, I've always said 1 year best case scenario, 2+ years realistic, could be more.  But don't worry mate, by that time PCs will be discontinued, there will be a totally different CPU architecture, and your code will probably not be compatible.
Unfortunately people are moving towards gay consoles and hand held shite and mobiles ditching PCs gradually.  I think this is one of the reason why a certain company I know that makes a game development engine is focusing more on mobile and consoles and slowly disregarding windows.
In fact a roumour from a trusted source says that they are moving slowly away from windows and support only consoles and mobile.

So if in 2 years your engine does not support a plethora of export options you basically will have wasted time.

As far as LGM stability, I think Robert is on the money with his CLI project, that alone might make LGM more stable and quicker.
I keep getting fucked in the arse with crashing under LGM, not only from Joshedit, but from every other orifice, cannot  create thread, memory error, EGMlib errors and other shite.
A new IDE is long overdue. :D

Never mind the mobile devices and consoles, the pc/laptop wont be replaced any time soon, reasons:

Memory .- PC/LapTop 2Gb minimum up to? I've seen PCs with 32 Gb ram
Disk size .- pc/laptop Tbs mobile 64 Gb? WTF?
mobile devices are great for conectivity/playing casual games, even some light work (Text files mainly) while traditionalcomputers can do everything.

Also I was speaking of the IDE for ENIGMA, not my possible? future engine.

Have you tried the Python IDE?

Just install Python, PyQT, Qscintilla and from CMD or terminal go to the folder where the ide is and then: python ide.py

It compiles and starts in a flash, only problem I didn't have the plugin (Something else I need?) in the same folder so I couldn't test anything else.

In two weeks I finish the course I'm taking and will have a little more time, we'll see if I can understand enough C++/QT to help with RadialGM, it's a shame they droped the one in wxWidgets, and an even greater shame they started doing it in Code::Blocks/wxSmith and not in wxDev-C++;
this IDE/RAD Tool is much better for working with wxWidgets than anyother I have seen, except wxGlade and it has only a few widgets, I wonder what widgets are needed for RadialGM, a shame they used QTCreator only and not QTDesigner too, that way one could see the ide without compiling it.
Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Unknown gender) egofree
Reply #14 Posted on: June 24, 2014, 02:18:27 AM
Contributor
Joined: Jun 2013
Posts: 603

View Profile Email
Did I say 6 months to a year? fuck that, it'll be more like two years, the room (level) editor is something really hard to do.

Will see if I can't find examples in other languages and try and port one of them.

For example, gmare is a rooms editor for GM written in C# : http://gmare.codeplex.com/

Well, we have seen already a few people wanting to remake from scratch Game maker or ENIGMA, but in the end this is really hard. That's why from my point of view it's better to improve ENIGMA or remake only some parts of it. I started to work on the rooms editor, and i hope to improve it. But anyway i wish all the best to the people who want make new projects.
Logged
Pages: 1
  Print