About the App. App name: fping. App description: Scriptable ping program for checking if multiple hosts are up. App website:Install the App. Press Command+Space and type Terminal and press enter/return key. Run in Terminal app:ruby -e '$(curl -fsSL /dev/nulland press enter/return key.If the screen prompts you to enter a password, please enter your Mac's user password to continue. When you type the password, it won't be displayed on screen, but the system would accept it.
So just type your password and press ENTER/RETURN key. Then wait for the command to finish. Run:brew install fpingDone! You can now use fping.
I'm new here, but I wanted to share a little project I've been working on for the last few weeks. It is called MMLX which stands for MML Extended.I only recently started getting into chiptune composing. Since I'm a programmer MML feels more natural to me than using a tracker, but in some ways it is limiting, and there is not a whole lot of easy to find examples/documentation.I decided to try writing my own language to make some things easier to do using MML.Essentially MMLX is a superset of MML. It offers a bunch of features that MML on its own does not support including:- Defining instruments- Portamento- ADSR Envelopes- Using variables- TransposingYou can check out the project at:Getting started guide:Documentation:I should point out that I have only tested it using Python 2.6 on Mac OS 10.6 and only using the default 5 NES voices A-E. I believe it should run on Linux as well. I don't have a windows machine to test on so if anyone is interested feel free to fork the project on GitHub and add Windows support.I also have included a TextMate/Sublime Text 2 bundle with syntax highlighting that looks like this:I also hope that someone else might find this useful.I look forward to hearing feedback.Please report bugs and feature requests on GitHub:Craig. Here are my suggestions:.
I started with ppmck (was using mac terminal) 10 years ago and it was. You really get into the numerical guts with instrument creation. 2A03.org: A NES scene music archive NesDev: The NES development site Blipbuffer: Blipbuffer, by blargg. Band-limiting sound library used in famitracker.
Non-layout mode for instrument definitions (like how Haskell supports layout and non-layout modes). Allow blocks of commands defined in a variable to take parameters. Include arithmetic macros. Feature for custom temperament (instead of being limited to 12-TET, you could have Bohlen-Pierce, etc). In PPMCK, I have seen some of the assembly code is not well optimized; you could replace a subroutine call followed by return from current subroutine, with just a unconditional jump.
I have fixed it in my computer, but it is probably a good idea to correct MMLX too. Bregalad wrote:The worst unoptimised thing in PPMCK is how it stores sequence data!For example c c d d4 would be stored as: ccddccddccddccdd instead of being effectively stored like you type it which would save a lot of bytes!But this is the fault of the compiler/replay engine, not the language.The command is a kind of unrolled loop.
If you want it to really repeat times without unrolling, use : :.But it's a fact that PPMCK store its data rather unoptimised; every command occupy a byte. At least, it has one advantage, it's easier to extend its capability (it's simpler that, say, a rather compressed one)EDIT: Disabled a smiley. Bregalad wrote:The worst unoptimised thing in PPMCK is how it stores sequence data!For example c c d d4 would be stored as: ccddccddccddccdd instead of being effectively stored like you type it which would save a lot of bytes!But this is the fault of the compiler/replay engine, not the language.The command is a kind of unrolled loop.
If you want it to really repeat times without unrolling, use : :.But it's a fact that PPMCK store its data rather unoptimised; every command occupy a byte. At least, it has one advantage, it's easier to extend its capability (it's simpler that, say, a rather compressed one)EDIT: Disabled a smiley.This is a good point. It seems to me that the notation allows for nested loops where the :: does not. I could add an optimization so that if you write a loop such as c c d d4 and it is not nested it rewrites it as : c c d d: 4 when it generates the MML. I never knew about the ::¦ notation. It seems absent from the tutorials/docs I've used, although this symbol looks very like music sheet repeat symbol.
I'll have to give it a try.I think I know why does allow nested repeats and not :: I assumes :: stores the location in ROM of the sequence data where : is located, and when they met the: it decrease a counter and go back to :Of course if you place two : before one: , the second will override the first, and this won't work as supposed.On the other side it would have been possible to reserve memory for a repeat location stack, so you can repeat repeats, as many times as the stack allows it. But it'll quickly take a lot of memory if you have to do it for all channels.I remember Secret of Mana's sound engine did something like that (I've fully disassembled it). Zzo38 wrote:Feature for custom temperament (instead of being limited to 12-TET, you could have Bohlen-Pierce, etc)I quite like this idea.
Ideally, you should be able to make your own scales by assigning custom frequencies to note letters. Warlords battlecry for mac. In the case of scales with more than 12 notes per octave, perhaps you could use extra flats/sharps (ex: c c+ c), similar to microtonal sheet music. Also, you should be able to switch scales during a song.It would also be nice to be able to use ties when defining note length with the 'l' command. On the other side it would have been possible to reserve memory for a repeat location stack, so you can repeat repeats, as many times as the stack allows it. But it'll quickly take a lot of memory if you have to do it for all channels.XPMCK does that, but it only allows up to two levels.I noticed this too when I played with XPMCK and've been dieing for it in PPMCK ever since.I've felt discouraged to ask this for some time feeling it to be a dumb question, but I must ask; as I like to double up channel voices together, knowing it's rather inefficient, is it possible in nes standards to point one channel to the playback data of another channel, have both play simultaneously and perhaps save some space?