initial commit
This commit is contained in:
16
tools/mxplay/README
Normal file
16
tools/mxplay/README
Normal file
@@ -0,0 +1,16 @@
|
||||
This is mxPlay 2.1.2, an audio media player for Atari
|
||||
TT030/Falcon030/Falcon060 range of computers.
|
||||
|
||||
Read about spreading conditions in doc/COPYING.
|
||||
|
||||
Read about plugins included in doc/plugins.txt.
|
||||
|
||||
Read about application's functions in doc/using.txt.
|
||||
|
||||
As there was exactly zero interest from other programmers about coding
|
||||
plugins, I'm not going to bother with documentation this time, in case you'd
|
||||
like to code / fix a plugin, drop me a line, I'll give you some hints.
|
||||
|
||||
Miro Kropacek aka MiKRO / Mystic Bytes
|
||||
Bratislava / Slovakia
|
||||
10.3.2013
|
||||
339
tools/mxplay/doc/COPYING
Normal file
339
tools/mxplay/doc/COPYING
Normal file
@@ -0,0 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
34
tools/mxplay/doc/bugs.txt
Normal file
34
tools/mxplay/doc/bugs.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
Known bugs:
|
||||
|
||||
- problems with drag&drop/va-start/argv like long filenames, filenames with
|
||||
blanks, quotes etc. mxPlay has one of the best implementations of these
|
||||
protocols, i.e. it's most likely a bug in your desktop. The only desktop
|
||||
which handles these issues correctly is Teradesk (since I flooded the
|
||||
author with ton of bugreports ;-). Thing is on the second place and the
|
||||
worst one from this point of view is Jinnee.
|
||||
|
||||
- icon redraw errors under TOS. For some strange reason TOS instead
|
||||
of selecting some icon inverts the current bitmap. This happens
|
||||
only if you click on some icon. So for example, press '*' and
|
||||
the playlist icon will be (de)activated with no problem. But If you
|
||||
click on this icon, you will see a strange rectangle around it...
|
||||
|
||||
- flashing scrolling line - this isn't a bug, it's just slowness of
|
||||
AES and/or CPU you use.. little hint: try to locate panel as on
|
||||
bottom as possible :)
|
||||
|
||||
- sound repeat in feed-based players (ASAP, XMP, MPG) when doing something
|
||||
in your desktop (file selector, pushing mouse buttons for longer time,
|
||||
...) - unfortunately, mxPlay is hooked on the AES loop, i.e. if AES events
|
||||
stop coming, so does the music data.
|
||||
|
||||
- you can't drag the top border of Module Info and Playlist to resize the
|
||||
dialog. It caused redraw errors and I was lazy to invetigate :)
|
||||
|
||||
If you find any other bugs, don't hesitate to contact me:
|
||||
|
||||
miro.kropacek@gmail.com
|
||||
|
||||
or file a bug report at:
|
||||
|
||||
http://sf.net/projects/mxplay
|
||||
54
tools/mxplay/doc/plugins.txt
Normal file
54
tools/mxplay/doc/plugins.txt
Normal file
@@ -0,0 +1,54 @@
|
||||
Short notes to included plugins:
|
||||
|
||||
ace - very unstable playback. Sometimes even movement with mouse (!) can
|
||||
make it mute... no clue, I tried to contact Thomas but hasn't replied to the
|
||||
date.
|
||||
|
||||
aon - seems to be stable on 060, most of the time :)
|
||||
|
||||
asap - great ASAP player for Atari 8-bit musics. Comes in three versions:
|
||||
asap.mxp (classic Atari), asap_cf.mxp (FireBee build) and asap_ara.mxp
|
||||
(ARAnyM build). The reason for Aranym build is that even with the correct
|
||||
audio frequency, its DMA pointer sooner or later runs away which results in
|
||||
corrupted replay. With more precise Timer-A this doesn't happen. Atari and
|
||||
CF versions are 100% system friendly, not a single HW access.
|
||||
|
||||
dspmod - marked as 030 only, as I've seen it crash on CT60. It makes no
|
||||
sense to use it on 060 anyway, there's XMP.
|
||||
|
||||
gt2 - on 060 it switches cache off (by default, you can change it) as some
|
||||
modules with more channels crashed the player
|
||||
|
||||
mgt - 030 only, if I disable CT60 caches, then it's too slow ;) But don't worry,
|
||||
XMP can play MGTs, too!
|
||||
|
||||
mp2 - no change against 1.x version. It can play some MP2s which the
|
||||
original player can't. No Direct from Disk yet.
|
||||
|
||||
mpg123 - full featured MPEG-1 player for all three layers (aka MP1, MP2,
|
||||
MP3). Comes in three versions, see above.
|
||||
|
||||
ntk - 030 only, not very stable, not very helpful :) Works best (only) in TOS.
|
||||
|
||||
snd - 030 only, dirty, dirty, dirty. Works best in TOS but even here it's
|
||||
quite unstable after some time.
|
||||
|
||||
xmp - the ultimate player for all kind of modules. It can play pretty much
|
||||
everything. It comes also in three version, see above. Btw, you can play
|
||||
also archived modules (packed with zip etc) but I'm not sure if it works
|
||||
well all the time.
|
||||
|
||||
Beware, if you try to use plugins which serve the same file type (MP2 for
|
||||
example), there's random priority (first come, first served). So, if you use
|
||||
030 only, feel free to disable (.mxp -> .mxx) all 060 plugins (ASAP, MPG123,
|
||||
XMP) and vice versa. You can always check in Plugin Info dialog what replay
|
||||
routine is used right now.
|
||||
|
||||
Generally speaking, don't expect too much from the fact mxPlay is a GEM
|
||||
application. Most of the plugins rape OS vectors, timers, caches etc so maybe
|
||||
except ASAP and XMP, you'll see quite strange side effects when clicking in
|
||||
desktop.
|
||||
|
||||
Important warning: if you want to use ASAP/MPG123/XMP on ARAnyM, don't
|
||||
forget to set 'Frequency = 49170' in ARAnyM's config file! (in [AUDIO]
|
||||
section)
|
||||
393
tools/mxplay/doc/using.txt
Normal file
393
tools/mxplay/doc/using.txt
Normal file
@@ -0,0 +1,393 @@
|
||||
mxPlay User's Manual
|
||||
====================
|
||||
|
||||
1.1 Introduction to mxPlay 1.0.0
|
||||
--------------------------------
|
||||
|
||||
Phew... so it really happend... if you're reading this text it means our
|
||||
little child called mxPlay is finally released.
|
||||
|
||||
Everything started with the one post on our local Atari list for Czech and
|
||||
Slovak Atari fans, where one guy has complained he isn't able to use great
|
||||
MegaPlayer under CT60 and that is bad there's no decent player for so many
|
||||
formats... Some guy on dhs.nu came with the idea to make plugins to FalcAMP,
|
||||
but it seems FalcAMP development is quite slow (I asked Frost about release
|
||||
date but he's hunting bugs so no release date is know yet :( ) and even no
|
||||
plugin API is known...
|
||||
|
||||
Final 'ass-kick' was Xi's reply to my comment "Did you see the new GemAce and
|
||||
GemMod? They looks pretty nice!" in style "Yeah, that's nice, but hell, I
|
||||
don't want to have nice player for mods, nice player for ace songs and
|
||||
another nice one for mp3s.. I want one, good looking player with the
|
||||
playlist!". Oh yes, here it really started.
|
||||
|
||||
After some discussion we came to the point "That's damn easy to make it! We
|
||||
have many free replay routines for various formats, we'll make some lame gem
|
||||
interface to it, hmm, maybe playlist will be a little bit tricky, but this
|
||||
could be done in 1-2 weeks!". So, 3 months passed very fast and here you are,
|
||||
mxPlay player with playlist, skins, plugins, open code and the coolest user
|
||||
features from the plenty of other players ;)
|
||||
|
||||
Maybe you're wondering what the hell we did make on this for about 3 months.
|
||||
Firstly, I'm democoder. I didn't know nearly anything about GEM. So getting
|
||||
touch with this kind of programming was a new experience for me. Secondly,
|
||||
every day we come with new ideas what should we add, my TODO list was (and
|
||||
still is) full of things to implement...
|
||||
|
||||
1.2 Introduction to mxPlay 2.0
|
||||
------------------------------
|
||||
|
||||
Unbelievable, nearly exactly seven years later and I'm updating final bits of
|
||||
the new version :) Frankly, I considered this project dead as there was very
|
||||
little of interest from Atari users and I personally don't use Atari for
|
||||
daily work anymore so I didn't really miss a software like this.
|
||||
|
||||
But then again, some magic has happend :) Some time in December I found a
|
||||
website with Turrican II modules and I realized that I have no clue how to
|
||||
replay this on my Linux PC. So I googled a little and found the XMP project.
|
||||
Out of curiosity I read its API documentation and I immediately realized how
|
||||
easy this would be to port over to our platform.
|
||||
|
||||
In about the same time someone asked on dhs about some DSPMOD usage example
|
||||
and ggn reminded him about mxPlay...
|
||||
|
||||
All of this somehow led me to the feeling that I should at least try to make
|
||||
the project compilable again and perhaps I could try to hack an XMP plugin,
|
||||
as a proof of concept.
|
||||
|
||||
Of course, I coded a simple XMP player in like few hours. So only some tweaks
|
||||
to Makefile, code a wrapper to the player and we're done, right? Right :)
|
||||
Immediately as I started mxPlay, I saw a bug here and there and a better way
|
||||
how to do this and that and ... fuck, I spent 2 months only fixing bugs.
|
||||
There's very few new features, if any. Only bugfixes, bugfixes, bugfixes. For
|
||||
some crazy reason I decided also to finish all the remaing plugins (as it's
|
||||
clear nobody would do that), that led to another delays and frustration.
|
||||
|
||||
But, in the end... I've caught really a lot of bugs, improved stability a
|
||||
lot, I can't understand how the player could work at all before. Now, if you
|
||||
use only ASAP and XMP plugins, you can even remove the "Super" flag from
|
||||
mxPlay.prg, it's 100% OS friendly and safe even under memory protection. This
|
||||
is a thing never seen on Atari before ;-) And bonus - you've got a FireBee
|
||||
version, too.
|
||||
|
||||
Current state is a reasonable compromise between functionality and release
|
||||
date. Most of the code is still (7 years old!) mess, it made me puke several
|
||||
times. A lot of things could have been done but I really wanted to get rid of
|
||||
it. If there's any volunteer ...
|
||||
|
||||
1.3 Introduction to mxPlay 2.1
|
||||
------------------------------
|
||||
|
||||
Few weeks after the alpha phase (called 'release' in public ;)) I'm happy to
|
||||
bring you the la(te)st version of mxPlay. Generally, not much to mention:
|
||||
|
||||
- 'Play' initiates playback even if no file is selected on startup
|
||||
- all dialogs are properly iconified and reopened
|
||||
- plugin path is now set separately for FireBee and ARAnyM, no more messing
|
||||
with copy and rename
|
||||
- XMP plugin is compiled against the latest version, MTMs and DMFs yet work
|
||||
- oh and by the way, a plugin for full featured MPEG-1 audio layer I, II and
|
||||
III is included ;)
|
||||
|
||||
Btw, thanks to the MPG123 plugin I discovered that sample frequency in ARAnyM
|
||||
is set wrong all the time, i.e. all ASAP and XMP modules I had heard were about
|
||||
10% slower :))) Oh my.
|
||||
|
||||
2. Features
|
||||
-----------
|
||||
|
||||
- modern user interface
|
||||
|
||||
- fully skinable GUI
|
||||
|
||||
- compatible from the simple TOS to the latest XaAES
|
||||
|
||||
- best d&d / va-start / long name support you've ever seen
|
||||
|
||||
- memory protection friendly
|
||||
|
||||
- multitasking support, windowed dialogs
|
||||
|
||||
- universal plugin API which allows you to take any kind of replay routine
|
||||
and to adapt it to mxPlay
|
||||
|
||||
- it's free!
|
||||
|
||||
- open development, anyone can contribute / bugfix
|
||||
|
||||
- recursive directory/file adding with autodetection for supported formats
|
||||
|
||||
and a lot of more ...
|
||||
|
||||
3. Windows
|
||||
----------
|
||||
|
||||
Here you'll find brief description of each mxPlay's window.
|
||||
|
||||
3.1 Panel
|
||||
|
||||
The heart of mxPlay. You don't need to top the panel, button will be
|
||||
activated even on untopped panel.
|
||||
|
||||
3.1.1 Play
|
||||
|
||||
Play the current song. If no song was selected it will be played either the
|
||||
first file in playlist or the random song (in the case 'Random' button was
|
||||
activated, see bellow)
|
||||
|
||||
3.1.2 Stop
|
||||
|
||||
Self-explaining.
|
||||
|
||||
3.1.3 Pause
|
||||
|
||||
Pause playing. Please note not every plugin supports this function. Click on
|
||||
this button again to continue playing.
|
||||
|
||||
3.1.4 Previous Subsong
|
||||
|
||||
Playback must be active to make this work (currently ASAP and SNDH plugin).
|
||||
|
||||
3.1.5 Next Subsong
|
||||
|
||||
Playback must be active to make this work (currently ASAP and SNDH plugin).
|
||||
|
||||
3.1.6 Next Song
|
||||
|
||||
Play the next song in the playlist.
|
||||
|
||||
If you're at the end of playlist and the 'Repeat' button was activated (see
|
||||
bellow) as next file will be taken the first one.
|
||||
|
||||
If 'Random' button was activated, next song will be choosen randomly.
|
||||
|
||||
3.1.7 Previous Song
|
||||
|
||||
Play the previous song in the playlist. Please note previous song will be
|
||||
played even in random mode, no random selection as done in Aniplayer!
|
||||
|
||||
3.1.8 Playtime
|
||||
|
||||
By clicking on the playtime you change time addition/substraction a la Winamp
|
||||
or XMMS. Please note that most of the plugins do not support time reporting
|
||||
so a hardcoded value is used (3 minutes). You can change this in mxplay.inf.
|
||||
|
||||
3.1.9 Repeat
|
||||
|
||||
Wrap to the begin of playlist when requested for the next song and we're on
|
||||
the last entry in the playlist.
|
||||
|
||||
3.1.10 Random
|
||||
|
||||
Activate random song selection. 'Repeat' button has no sense then.
|
||||
|
||||
3.1.11 Mute
|
||||
|
||||
Mute the playing. This function must be present in the plugin.
|
||||
|
||||
3.1.12 Volume Slider
|
||||
|
||||
Increase or decrease volume level. It even watches for current sound system
|
||||
status so you can try to play with volume in some CPX and you will see the
|
||||
effect :)
|
||||
|
||||
3.1.13 Playlist
|
||||
|
||||
Open/close playlist.
|
||||
|
||||
3.1.14 Module Info
|
||||
|
||||
Open/close module info dialog.
|
||||
|
||||
3.1.15 Plugin Info
|
||||
|
||||
Open/close plugin info dialog.
|
||||
|
||||
3.1.16 About
|
||||
|
||||
Open/close information about application.
|
||||
|
||||
3.2 Playlist
|
||||
|
||||
The best playlist for our little Atari :)
|
||||
|
||||
3.2.1 Add file
|
||||
|
||||
Add file(s) to the playlist. Please note your fileselector has to support
|
||||
Selectric and/or MagiC/XaAES fileselector protocol to select more than one
|
||||
file. Except the Selectric and MagiC/XaAES it does Hugo for example.
|
||||
|
||||
3.2.2 Add Directory
|
||||
|
||||
Add director(y|ies) to the playlist. It's fully recursive operation so, yes,
|
||||
you can take your music partition and open it in mxPlay! If your fileselector
|
||||
doesn't allow you to select exact directory, open such directory, clear
|
||||
"filename" field and press RETURN.
|
||||
|
||||
3.2.3 Select All
|
||||
|
||||
Select all entries in the playlist. If you press SHIFT key, it will do
|
||||
inverse operation - i.e. deselecting selected files and vice versa.
|
||||
|
||||
3.2.4 Remove
|
||||
|
||||
Remove selected files. No stupid questions, so beware.
|
||||
|
||||
3.2.5 Load Playlist
|
||||
|
||||
Load .m3u file. Yes, that's the file from winamp and others :)
|
||||
|
||||
3.2.6 Save Playlist
|
||||
|
||||
Save .m3u file.
|
||||
|
||||
3.3 Module Info
|
||||
|
||||
Here you can find some information about currently played module as provided
|
||||
by plugin. Enabled (not shaded) arrows mean you can scroll left and/or right
|
||||
to see the full text (better is to resize window I think ;)
|
||||
|
||||
3.4 Plugin Info
|
||||
|
||||
Similar to Module Info but you're allowed even enter some values. It could be
|
||||
simple on/off flag or numerical/text parameter. If there are up and down
|
||||
arrows you can scroll with them (sorry no resize at this time...)
|
||||
|
||||
3.5 About
|
||||
|
||||
Simple about dialog. Here you can read the license under which is mxPlay
|
||||
released and the current version.
|
||||
|
||||
4. Keyboard Shortcuts
|
||||
---------------------
|
||||
|
||||
4.1 (SHIFT) CTRL + O
|
||||
|
||||
Open (and add to playlist) file(s) or (with SHIFT) director(y|ies).
|
||||
|
||||
4.2 CTRL + Q
|
||||
|
||||
Quit application.
|
||||
|
||||
4.3 SPACE
|
||||
|
||||
Pause playing.
|
||||
|
||||
4.4 CTRL + P
|
||||
|
||||
Start playing.
|
||||
|
||||
4.5 CTRL + S
|
||||
|
||||
Stop playing.
|
||||
|
||||
4.6 (SHIFT) UP ARROW
|
||||
|
||||
If in playlist, move up (1 entry or whole page with SHIFT)
|
||||
|
||||
4.7 (SHIFT) DOWN ARROW
|
||||
|
||||
If in playlist, move down (1 entry or whole page with SHIFT)
|
||||
|
||||
4.8 (SHIFT) CTRL + A
|
||||
|
||||
Select all entries in the playlist or (with SHIFT) make opaque to the current
|
||||
state.
|
||||
|
||||
4.9 DELETE
|
||||
|
||||
Delete selected entries from the playlist.
|
||||
|
||||
4.10 INSERT
|
||||
|
||||
Activate 'Repeat' button.
|
||||
|
||||
4.11 CLR HOME
|
||||
|
||||
Activate 'Random' button.
|
||||
|
||||
4.12 (SHIFT) TAB
|
||||
|
||||
Open/close Module info or (with SHIFT) Plugin info dialog.
|
||||
|
||||
4.13 HELP
|
||||
|
||||
Open/close About dialog.
|
||||
|
||||
4.14 UNDO
|
||||
|
||||
Activate 'Mute' button.
|
||||
|
||||
4.15 NUM /
|
||||
|
||||
Change the current skin. Change is done in realtime but only if there's no
|
||||
playback.
|
||||
|
||||
4.16 NUM (
|
||||
|
||||
Play previous song in the playlist.
|
||||
|
||||
4.17 NUM )
|
||||
|
||||
Play next song in the playlist.
|
||||
|
||||
4.18 NUM *
|
||||
|
||||
Open/close playlist.
|
||||
|
||||
5. Supported protocols
|
||||
----------------------
|
||||
|
||||
5.1 ARGV
|
||||
|
||||
You can assign some file type, e.g. *.mp2 to mxPlay and then just click on
|
||||
the mp2 files and mxPlay will open & play such file. The filename could be
|
||||
even with spaces, bigger than 8+3 characters etc. Please note, not all
|
||||
desktops support this, see file BUGS for details.
|
||||
|
||||
5.2 VA-START
|
||||
|
||||
If you go in the way described in 5.1 you can double-click on the file during
|
||||
song playing and mxPlay will update its playlist and begin to play this file.
|
||||
|
||||
5.3 Drag & Drop
|
||||
|
||||
You can take files, directories and even hard disk icons and place it onto
|
||||
mxPlay, everything will go as you expect! Full support for long names.
|
||||
|
||||
6. Thanks
|
||||
---------
|
||||
|
||||
At first I would like to thank to all people who decided to publish their
|
||||
source codes. Without them there's no mxPlay. So for others - please, support
|
||||
free software, release your source code - it helps all of us. Very good
|
||||
example is zView, really good work, Zorro!
|
||||
|
||||
Next I have to thank Xi, my never-tired-for-another-bugreport friend ;),
|
||||
without your usefull hints about application architecture and without your
|
||||
massive support I doubt I finish mxPlay in this look and functionality.
|
||||
|
||||
Also thanks to people on MiNT list, they helped me sometimes when I was in
|
||||
total dark :)
|
||||
|
||||
And at last but not least I have to thank YOU, Atari fan, you're still using
|
||||
Atari computers!
|
||||
|
||||
7. Contact
|
||||
----------
|
||||
|
||||
Don't forget mxPlay is FREE SOFTWARE that means everyone can contribute to
|
||||
and/or bugfix the current version. If you can't code you can make skins. If
|
||||
you can't make GEM dialogs, you can test mxPlay, spell-check documentation,
|
||||
think about new features, ... help is always welcome.
|
||||
|
||||
You can reach me 7 days of week at:
|
||||
|
||||
miro dot kropacek at gmail dot com
|
||||
|
||||
Xi is the author of skins, the most of plugins and he is the very good
|
||||
beta-tester, you can reach him at:
|
||||
|
||||
xi at napri dot sk
|
||||
|
||||
... happy playing!
|
||||
BIN
tools/mxplay/icons/icons.rsc
Normal file
BIN
tools/mxplay/icons/icons.rsc
Normal file
Binary file not shown.
BIN
tools/mxplay/mxplay_cf.app
Normal file
BIN
tools/mxplay/mxplay_cf.app
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/ace.mxp
Normal file
BIN
tools/mxplay/plugins/audio/ace.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/aon.mxp
Normal file
BIN
tools/mxplay/plugins/audio/aon.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/aranym/asap_ara.mxp
Normal file
BIN
tools/mxplay/plugins/audio/aranym/asap_ara.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/aranym/mpg_ara.mxp
Normal file
BIN
tools/mxplay/plugins/audio/aranym/mpg_ara.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/aranym/xmp_ara.mxp
Normal file
BIN
tools/mxplay/plugins/audio/aranym/xmp_ara.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/asap.mxp
Normal file
BIN
tools/mxplay/plugins/audio/asap.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/dspmod.mxp
Normal file
BIN
tools/mxplay/plugins/audio/dspmod.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/firebee/asap_cf.mxp
Normal file
BIN
tools/mxplay/plugins/audio/firebee/asap_cf.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/firebee/mpg_cf.mxp
Normal file
BIN
tools/mxplay/plugins/audio/firebee/mpg_cf.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/firebee/xmp_cf.mxp
Normal file
BIN
tools/mxplay/plugins/audio/firebee/xmp_cf.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/gt2.mxp
Normal file
BIN
tools/mxplay/plugins/audio/gt2.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/mgt.mxp
Normal file
BIN
tools/mxplay/plugins/audio/mgt.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/mp2.mxp
Normal file
BIN
tools/mxplay/plugins/audio/mp2.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/mpg.mxp
Normal file
BIN
tools/mxplay/plugins/audio/mpg.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/ntk.mxp
Normal file
BIN
tools/mxplay/plugins/audio/ntk.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/sndh.mxp
Normal file
BIN
tools/mxplay/plugins/audio/sndh.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/plugins/audio/xmp.mxp
Normal file
BIN
tools/mxplay/plugins/audio/xmp.mxp
Normal file
Binary file not shown.
BIN
tools/mxplay/skins/blue.RSC
Normal file
BIN
tools/mxplay/skins/blue.RSC
Normal file
Binary file not shown.
BIN
tools/mxplay/skins/cyan.RSC
Normal file
BIN
tools/mxplay/skins/cyan.RSC
Normal file
Binary file not shown.
BIN
tools/mxplay/skins/lcars.RSC
Normal file
BIN
tools/mxplay/skins/lcars.RSC
Normal file
Binary file not shown.
5
tools/mxplay/skins/lcars.txt
Normal file
5
tools/mxplay/skins/lcars.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
party: Noise
|
||||
year: 2006
|
||||
compo: mxPlayer skin
|
||||
name: LCARS
|
||||
author: krupkaj / JAYSoft
|
||||
BIN
tools/mxplay/skins/mini.RSC
Normal file
BIN
tools/mxplay/skins/mini.RSC
Normal file
Binary file not shown.
BIN
tools/mxplay/skins/mono.RSC
Normal file
BIN
tools/mxplay/skins/mono.RSC
Normal file
Binary file not shown.
BIN
tools/mxplay/skins/mxpod_b.RSC
Normal file
BIN
tools/mxplay/skins/mxpod_b.RSC
Normal file
Binary file not shown.
BIN
tools/mxplay/skins/mxpod_p.RSC
Normal file
BIN
tools/mxplay/skins/mxpod_p.RSC
Normal file
Binary file not shown.
BIN
tools/mxplay/skins/purple.RSC
Normal file
BIN
tools/mxplay/skins/purple.RSC
Normal file
Binary file not shown.
BIN
tools/mxplay/skins/red.RSC
Normal file
BIN
tools/mxplay/skins/red.RSC
Normal file
Binary file not shown.
BIN
tools/mxplay/skins/yellow.RSC
Normal file
BIN
tools/mxplay/skins/yellow.RSC
Normal file
Binary file not shown.
Reference in New Issue
Block a user