You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(18) |
Oct
|
Nov
(13) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(1) |
Feb
(3) |
Mar
(7) |
Apr
|
May
|
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2009 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-11-18 15:07:44
|
Update of /cvsroot/xrns-php/xrns-php/scripts/tun In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv14540/tun Log Message: Directory /cvsroot/xrns-php/xrns-php/scripts/tun added to the repository |
|
From: Bantai <ba...@us...> - 2007-11-12 13:36:30
|
Update of /cvsroot/xrns-php/xrns-sf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv27883 Modified Files: main.c main.rc Log Message: Success/Error dialog depending on script exit code (0 = ok, 1 = write protected, 2+ = generic error). New option dropindex, sends dropdown list's index instead of value. Index: main.c =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/main.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** main.c 7 Nov 2007 17:28:07 -0000 1.5 --- main.c 12 Nov 2007 13:36:05 -0000 1.6 *************** *** 6,10 **** * * * History : Date Reason * ! * 11/07/07 Last modfied by Alexander Stoica * * * ****************************************************************************/ --- 6,10 ---- * * * History : Date Reason * ! * 12/11/07 Last modified by Marvin Tjon: exit code + dropindex * * * [...2847 lines suppressed...] ! if (IsMinimized(hwnd)) ! wp.showCmd = SW_SHOWNORMAL; ! GetModuleFileName(ghInstance, szBuffer, DIMOF(szBuffer)); ! PathRenameExtension(szBuffer, _T(".dat")); ! if (gCfg.fConsole) ! gCfg.fConsole = FALSE; ! else ! gCfg.fConsole = TRUE; ! hFile = CreateFile(szBuffer, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL); ! if (hFile != INVALID_HANDLE_VALUE) ! { ! WriteFile(hFile, &wp.rcNormalPosition, sizeof(wp.rcNormalPosition), &dwBytesWritten, NULL); ! WriteFile(hFile, &gCfg, sizeof(CONFIG), &dwBytesWritten, NULL); ! CloseHandle(hFile); ! } } Index: main.rc =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/main.rc,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** main.rc 7 Nov 2007 17:28:07 -0000 1.5 --- main.rc 12 Nov 2007 13:36:05 -0000 1.6 *************** *** 20,25 **** CONTROL "", DLG_MAIN_COMBO_SCRIPTS, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|CBS_HASSTRINGS|WS_VSCROLL|WS_TABSTOP, 366, 8, 108, 12 CONTROL "", DLG_MAIN_CONTROLAREA, "Static", SS_WHITERECT|WS_BORDER, 0, 30, 480, 198 ! CONTROL "Show script info", DLG_MAIN_LINK_DESC, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 6, 212, 70, 10 ! CONTROL "Show console", DLG_MAIN_LINK_CONSOLE, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 80, 212, 70, 10 CONTROL "About", IDABOUT, "Button", WS_TABSTOP, 4, 232, 60, 15 CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 352, 232, 60, 15 --- 20,25 ---- CONTROL "", DLG_MAIN_COMBO_SCRIPTS, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|CBS_HASSTRINGS|WS_VSCROLL|WS_TABSTOP, 366, 8, 108, 12 CONTROL "", DLG_MAIN_CONTROLAREA, "Static", SS_WHITERECT|WS_BORDER, 0, 30, 480, 198 ! CONTROL "Show script info", DLG_MAIN_LINK_DESC, "HyperlinkCtrl32", 0x00000422, 6, 212, 70, 10 ! CONTROL "Show console", DLG_MAIN_LINK_CONSOLE, "HyperlinkCtrl32", 0x00000422, 80, 212, 70, 10 CONTROL "About", IDABOUT, "Button", WS_TABSTOP, 4, 232, 60, 15 CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 352, 232, 60, 15 *************** *** 35,43 **** CONTROL "", DLG_ABOUT_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 CONTROL "License: Public Domain", -1, "Static", WS_GROUP, 10, 38, 180, 8 ! CONTROL "http://xrns-php.sourceforge.net", DLG_ABOUT_LINK_SOURCEFORGE, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 48, 99, 8 CONTROL "Frontend developed by Alexander Stoica", -1, "Static", WS_GROUP, 10, 68, 180, 8, WS_EX_TRANSPARENT ! CONTROL "http://www.beatslaughter.de", DLG_ABOUT_LINK_BEATSLAUGHTER, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 78, 91, 8 CONTROL "In cooperation with Dac Chartrand ", -1, "Static", WS_GROUP, 10, 90, 180, 8, WS_EX_TRANSPARENT ! CONTROL "http://www.trotch.com", DLG_ABOUT_LINK_TROTCH, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 100, 72, 8 CONTROL "", -1, "Static", SS_ETCHEDHORZ|SS_CENTERIMAGE|WS_BORDER, 0, 122, 210, 10 CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 134, 128, 60, 15 --- 35,43 ---- CONTROL "", DLG_ABOUT_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 CONTROL "License: Public Domain", -1, "Static", WS_GROUP, 10, 38, 180, 8 ! CONTROL "http://xrns-php.sourceforge.net", DLG_ABOUT_LINK_SOURCEFORGE, "HyperlinkCtrl32", WS_TABSTOP|0x00003411, 10, 48, 99, 8 CONTROL "Frontend developed by Alexander Stoica", -1, "Static", WS_GROUP, 10, 68, 180, 8, WS_EX_TRANSPARENT ! CONTROL "http://www.beatslaughter.de", DLG_ABOUT_LINK_BEATSLAUGHTER, "HyperlinkCtrl32", WS_TABSTOP|0x00003411, 10, 78, 91, 8 CONTROL "In cooperation with Dac Chartrand ", -1, "Static", WS_GROUP, 10, 90, 180, 8, WS_EX_TRANSPARENT ! CONTROL "http://www.trotch.com", DLG_ABOUT_LINK_TROTCH, "HyperlinkCtrl32", WS_TABSTOP|0x00003411, 10, 100, 72, 8 CONTROL "", -1, "Static", SS_ETCHEDHORZ|SS_CENTERIMAGE|WS_BORDER, 0, 122, 210, 10 CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 134, 128, 60, 15 *************** *** 51,55 **** BEGIN CONTROL "", DLG_INFO_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 ! CONTROL "", DLG_INFO_LINK, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER|HLS_PLAYCLICK|WS_TABSTOP, 0, 80, 200, 12 CONTROL "", DLG_INFO_TEXT, "Edit", ES_MULTILINE|ES_AUTOVSCROLL|ES_WANTRETURN|ES_READONLY|WS_VSCROLL|WS_BORDER|WS_TABSTOP, 0, 30, 200, 50 CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 135, 98, 60, 15 --- 51,55 ---- BEGIN CONTROL "", DLG_INFO_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 ! CONTROL "", DLG_INFO_LINK, "HyperlinkCtrl32", WS_TABSTOP|0x00001422, 0, 80, 200, 12 CONTROL "", DLG_INFO_TEXT, "Edit", ES_MULTILINE|ES_AUTOVSCROLL|ES_WANTRETURN|ES_READONLY|WS_VSCROLL|WS_BORDER|WS_TABSTOP, 0, 30, 200, 50 CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 135, 98, 60, 15 *************** *** 57,62 **** VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,0,5,0 ! PRODUCTVERSION 1,0,5,0 FILEFLAGSMASK 0x3F FILEFLAGS 0x0 --- 57,62 ---- VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,0,6,0 ! PRODUCTVERSION 1,0,6,0 FILEFLAGSMASK 0x3F FILEFLAGS 0x0 *************** *** 69,80 **** BLOCK "040904B0" BEGIN VALUE "CompanyName", "Alexander Stoica\0" VALUE "FileDescription", "XRNS Script Frontend\0" ! VALUE "FileVersion", "1.05\0" VALUE "InternalName", "xrns-sf.exe\0" VALUE "LegalCopyright", "License: Public Domain\0" VALUE "OriginalFilename", "xrns-sf.exe\0" VALUE "ProductName", "XRNS Script Frontend\0" ! VALUE "ProductVersion", "1.05\0" END END --- 69,81 ---- BLOCK "040904B0" BEGIN + VALUE "Comments", "dropindex/dropvalue version\0" VALUE "CompanyName", "Alexander Stoica\0" VALUE "FileDescription", "XRNS Script Frontend\0" ! VALUE "FileVersion", "1.06\0" VALUE "InternalName", "xrns-sf.exe\0" VALUE "LegalCopyright", "License: Public Domain\0" VALUE "OriginalFilename", "xrns-sf.exe\0" VALUE "ProductName", "XRNS Script Frontend\0" ! VALUE "ProductVersion", "1.06\0" END END |
|
From: Bantai <ba...@us...> - 2007-11-09 15:02:09
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv28211 Modified Files: xrns_searchandreplace.cfg xrns_searchandreplace.php Log Message: unkown bug fix by beatslaughter Index: xrns_searchandreplace.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_searchandreplace.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** xrns_searchandreplace.php 1 Sep 2007 21:34:02 -0000 1.3 --- xrns_searchandreplace.php 9 Nov 2007 15:01:42 -0000 1.4 *************** *** 70,74 **** if(!$newinstrument) $newinstrument = $oldinstrument; ! $ignoremutedtracks = $argv[7]; // ---------------------------------------------------------------------------- --- 70,74 ---- if(!$newinstrument) $newinstrument = $oldinstrument; ! $ignoremutedtracks = (isset($argv[7]) && $argv[7] == 1 || strtolower($argv[7]) == 'yes') ? true : false; // ---------------------------------------------------------------------------- *************** *** 188,190 **** ?> ! <html><body></body></html> \ No newline at end of file --- 188,190 ---- ?> ! <html><body></body></html> Index: xrns_searchandreplace.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_searchandreplace.cfg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns_searchandreplace.cfg 1 Sep 2007 21:34:02 -0000 1.2 --- xrns_searchandreplace.cfg 9 Nov 2007 15:01:41 -0000 1.3 *************** *** 4,6 **** url=http://www.napodano.com description=XRNS Search and Replace is a script which allows you to search and replace notes and/or values inside a song. ! gui=label(Select the source file:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Note to be replaced:); text(C-4); label(Instrument to be replaced); text(01); label(New note:); text (C-4); label(New instrument); text(02);label(skip muted tracks); options(Yes, def:No); \ No newline at end of file --- 4,6 ---- url=http://www.napodano.com description=XRNS Search and Replace is a script which allows you to search and replace notes and/or values inside a song. ! gui=label(Select the source file:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Note to be replaced:); text(C-4); label(Instrument to be replaced); text(01); label(New note:); text(C-4); label(New instrument); text(02); label(Skip muted tracks:); options(def:No, Yes); |
|
From: Bantai <ba...@us...> - 2007-11-07 17:33:38
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv31929 Modified Files: xrns-sf.html Log Message: 1.05 Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/xrns-sf.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns-sf.html 8 Sep 2007 14:54:05 -0000 1.2 --- xrns-sf.html 7 Nov 2007 17:33:32 -0000 1.3 *************** *** 1,418 **** <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> - <title>XRNS Script Frontend Documentation</title> - <style type="text/css"> - body { - font-family: sans-serif; - } - - p { - font-family: monospace; - } - - p.code{ - border: 1px dotted black; - color:rgb(0,150,0); - background-color:rgb(250,250,250); - } - - p.warning{ - font-weight:bold; - color:rgb(150,0,0); - } - - a { - font-family: monospace; - text-decoration:none; - color:rgb(0,0,128); - } - - a:link,a:visited,a:active { - color:rgb(0,0,128); - } - - a:hover { - text-decoration:underline; - color:rgb(128,0,0); - } - </style> - </head> - - <body> ! ! <h3>XRNS Script Frontend 1.04</h3> ! <p> - Developed by Alexander Stoica 2007<br /> - <br /> - License: Public Domain - <br /> - <a href="http://xrns-php.sourceforge.net">http://xrns-php.sourceforge.net</a> - <br /><br /> - Use <a href="mailto:in...@be...">in...@be...</a> for feedback or bug reports. - <br /><br /> - <a href="http://www.beatslaughter.de">http://www.beatslaughter.de</a><br /> - </p> - - <br /> - <h4>What is it?</h4> - XRNS Script Frontend can be used, to provide a graphical user interface for command line - scripts written in PHP on the windows operating system. - <br /> - - <h4>How does it work?</h4> - The frontend includes a stripped down version of the PHP scripting language, which is - known for easy XML programming and is widely used. It's also possible to use external - command line tools without requiring the user to copy them somewhere into a known path. - Each script has a small config file, which defines how the GUI should be build and - also holds some other infos. A more in depth look at this file will follow shortly. - <br /><br /> - The folder "php" holds the PHP commandline interpreter and a windows batch file, which - allows one to generate a phpinfo.txt, which might be of help when developing own scripts. - Any additional scripts go into the "scripts" folder with their corresponding config file. - If a script relies on any extra command line tools, one should put them into the "utils" - folder. - <br /><br /> - Since version 1.02 there are no scripts included anymore. Instead you can download these from the - SourceForge download page. - <br /> - <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> - <br /><br /> - Alternatively you can download work in progress versions of the scripts. Simply start the file - "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. - <p class="warning"> - Warning! These are work in progress and probably unstable, use at your own risk. - </p> - <br /> - - <h4>Script configuration file format reference</h4> - The script configuration files are just normal *.ini files widely used by other software too. - You should name the configuration file using the same basename as your script. For example, - if the script is named "yourscript.php", the configuration file should be named "yourscript.cfg". - <br /><br /> - The first line should always be the name of the section. - <p class="code">[config]</p> - The following keys are used to provide general information about the script and are self explaining. - <p class="code"> - caption=Name of the script<br /> - author=Coded by John Doe.<br /> - url=http://www.johndoe.com<br /> - description=Short description, what your script does. - </p> - The "gui" key specifies, how the interface will be created. It accepts simple keywords, which are - translated by the frontend. The order of the keywords is important, since all the information the user - selects gets passed in that order as commandline parameters to the PHP script. Mutliple keywords need to be - separated by a semicolon ";". - <br /><br /> - Following the tradition of the first example in other programming languages, here is a simple label - showing "Hello world". The "label" keyword is used to place additional descriptions on the interface - for the user. The text needs to be enclosed by round brackets "()". - <p class="code"> - gui=label(Hello world) - </p> - The "text" keyword can be used to request any type of text to be passed to the script. If you specify the keyword with - optional round brackets "()", one can set a default text show in the textfield. - <p class="code"> - gui=text<br /> - gui=text(default text) - </p> - The "clipboard" keyword will pass the clipboard contents to the script through a temporary file. The script - is responsible for writing back the modified data to this file. When the script has finished executing, the contents - of that temporary file will be shown in the textbox on the interface. - <p class="code"> - gui=clipboard - </p> - The "folder" keyword allows the user to browse for a folder. The chosen path will then be passed to the script. - <p class="code"> - gui=folder - </p> - The "file" keyword allows the user to browse for a file to open. The chosen file will then be passed to the script. - This keyword is usually used to select a source file. - <p class="code"> - gui=file - </p> - It's also possible to specify extensions, including a default one, which will be used when the user leaves the - extension blank when entering or selecting a filename in the file chooser dialog. All extensions are enclosed in round - brackets "()" and each extension will be separated by a comma ",". Prepend a "def:" to the extension, which one wants to define - as default. - <p class="code"> - gui=file(def:xrns, xrni, zip) - </p> - The keyword "output" behaves nearly like the "file" keyword with some exceptions. The current directory will be set to - the path of this file, similar like the user has called the PHP interpreter from this location. This keyword is usually - used to select a destination file. - <p class="code"> - gui=output<br /> - gui=output(def:xrns, xrni, zip) - </p> - The last keyword is "options". It's used to display a combobox, where one can choose one of multiple options. ! ! It's also possible to define a default selected entry. ! <p class="code"> - gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) - </p> - As a summary, here is an example of how a complete configuration file looks like. - <p class="code"> - [config]<br /> - caption=Name of the script<br /> - author=Coded by John Doe.<br /> - url=http://www.johndoe.com<br /> - description=Short description, what your script does.<br /> - gui=label(Select an option:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) - </p> - - - <h4>Thanks and Credits</h4> - This product includes PHP software, freely available from:<br /> - <a href=http://www.php.net/software/>http://www.php.net/software</a>. - <br /><br /> - Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> - <a href="http://www.xiph.org">http://www.xiph.org</a> - <br /><br /> - Info-ZIP Workgroup for the zip and unzip utilities.<br /> - <a href="http://www.info-zip.org">http://www.info-zip.org</a> - <br /><br /> - gnu.org for the CVS command line utility.<br /> - <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> - <br /><br /> - Pelle Orinius for his excellent C programming IDE and compiler.<br /> - <a href="http://www.smorgasbordet.com/pellesc">http://www.smorgasbordet.com/pellesc</a> - <br /><br /> - Dac Chartrand for his original idea.<br /> - <a href="http://www.trotch.com">http://www.trotch.com</a> - <br /> - - <h4>History</h4> ! Version 1.04 (09/08/2007)<br /> - <ul> ! ! <li>Changed: Updated included PHP version to 5.2.4.</li> ! </ul> - Version 1.03 (08/31/2007)<br /> - <ul> - <li>Changed: The update redirects now to the SourceForge download page.</li> - <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> - </ul> - Version 1.02 (08/29/2007)<br /> - <ul> - <li>Added: New keyword "text", to accept any text input from the user.</li> - <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> - </ul> - Version 1.01 (08/19/2007)<br /> - <ul> - <li>Fixed: Using one of the keywords "options", "file" or "output" with only one parameter made the application hang.</li> - </ul> - Version 1.0 (08/13/2007)<br /> - <ul> - <li>initial release</li> - </ul> - <br /> - </body> - </html> - --- 1,216 ---- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> <title>XRNS Script Frontend Documentation</title> <style type="text/css"> body { font-family: sans-serif; } p { font-family: monospace; } p.code{ border: 1px dotted black; color:rgb(0,150,0); background-color:rgb(250,250,250); } p.warning{ font-weight:bold; color:rgb(150,0,0); } a { font-family: monospace; text-decoration:none; color:rgb(0,0,128); } a:link,a:visited,a:active { color:rgb(0,0,128); } a:hover { text-decoration:underline; color:rgb(128,0,0); } </style> </head> <body> ! <h3>XRNS Script Frontend 1.05</h3> <p> Developed by Alexander Stoica 2007<br /> <br /> License: Public Domain <br /> <a href="http://xrns-php.sourceforge.net">http://xrns-php.sourceforge.net</a> <br /><br /> Use <a href="mailto:in...@be...">in...@be...</a> for feedback or bug reports. <br /><br /> <a href="http://www.beatslaughter.de">http://www.beatslaughter.de</a><br /> </p> <br /> <h4>What is it?</h4> XRNS Script Frontend can be used, to provide a graphical user interface for command line scripts written in PHP on the windows operating system. <br /> <h4>How does it work?</h4> The frontend includes a stripped down version of the PHP scripting language, which is known for easy XML programming and is widely used. It's also possible to use external command line tools without requiring the user to copy them somewhere into a known path. Each script has a small config file, which defines how the GUI should be build and also holds some other infos. A more in depth look at this file will follow shortly. <br /><br /> The folder "php" holds the PHP commandline interpreter and a windows batch file, which allows one to generate a phpinfo.txt, which might be of help when developing own scripts. Any additional scripts go into the "scripts" folder with their corresponding config file. If a script relies on any extra command line tools, one should put them into the "utils" folder. <br /><br /> Since version 1.02 there are no scripts included anymore. Instead you can download these from the SourceForge download page. <br /> <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> <br /><br /> Alternatively you can download work in progress versions of the scripts. Simply start the file "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. <p class="warning"> Warning! These are work in progress and probably unstable, use at your own risk. </p> <br /> <h4>Script configuration file format reference</h4> The script configuration files are just normal *.ini files widely used by other software too. You should name the configuration file using the same basename as your script. For example, if the script is named "yourscript.php", the configuration file should be named "yourscript.cfg". <br /><br /> The first line should always be the name of the section. <p class="code">[config]</p> The following keys are used to provide general information about the script and are self explaining. <p class="code"> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does. </p> The "gui" key specifies, how the interface will be created. It accepts simple keywords, which are translated by the frontend. The order of the keywords is important, since all the information the user selects gets passed in that order as commandline parameters to the PHP script. Mutliple keywords need to be separated by a semicolon ";". <br /><br /> Following the tradition of the first example in other programming languages, here is a simple label showing "Hello world". The "label" keyword is used to place additional descriptions on the interface for the user. The text needs to be enclosed by round brackets "()". <p class="code"> gui=label(Hello world) </p> The "text" keyword can be used to request any type of text to be passed to the script. If you specify the keyword with optional round brackets "()", one can set a default text show in the textfield. <p class="code"> gui=text<br /> gui=text(default text) </p> The "clipboard" keyword will pass the clipboard contents to the script through a temporary file. The script is responsible for writing back the modified data to this file. When the script has finished executing, the contents of that temporary file will be shown in the textbox on the interface. <p class="code"> gui=clipboard </p> The "folder" keyword allows the user to browse for a folder. The chosen path will then be passed to the script. <p class="code"> gui=folder </p> The "file" keyword allows the user to browse for a file to open. The chosen file will then be passed to the script. This keyword is usually used to select a source file. <p class="code"> gui=file </p> It's also possible to specify extensions, including a default one, which will be used when the user leaves the extension blank when entering or selecting a filename in the file chooser dialog. All extensions are enclosed in round brackets "()" and each extension will be separated by a comma ",". Prepend a "def:" to the extension, which one wants to define as default. <p class="code"> gui=file(def:xrns, xrni, zip) </p> The keyword "output" behaves nearly like the "file" keyword with some exceptions. The current directory will be set to the path of this file, similar like the user has called the PHP interpreter from this location. This keyword is usually used to select a destination file. <p class="code"> gui=output<br /> gui=output(def:xrns, xrni, zip) </p> The last keyword is "options". It's used to display a combobox, where one can choose one of multiple options. ! It's also possible to define a default selected entry. Since version 1.05, the selected index (first element starts at 0) will be returned to the script ! instead of the full text. <p class="code"> gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> As a summary, here is an example of how a complete configuration file looks like. <p class="code"> [config]<br /> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does.<br /> gui=label(Select an option:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> <h4>Thanks and Credits</h4> This product includes PHP software, freely available from:<br /> <a href=http://www.php.net/software/>http://www.php.net/software</a>. <br /><br /> Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> <a href="http://www.xiph.org">http://www.xiph.org</a> <br /><br /> Info-ZIP Workgroup for the zip and unzip utilities.<br /> <a href="http://www.info-zip.org">http://www.info-zip.org</a> <br /><br /> gnu.org for the CVS command line utility.<br /> <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> <br /><br /> Pelle Orinius for his excellent C programming IDE and compiler.<br /> <a href="http://www.smorgasbordet.com/pellesc">http://www.smorgasbordet.com/pellesc</a> <br /><br /> Dac Chartrand for his original idea.<br /> <a href="http://www.trotch.com">http://www.trotch.com</a> <br /> <h4>History</h4> ! Version 1.05 (11/07/2007)<br /> ! <ul> ! <li>Fixed: Textfields did not restore their last used value.</li> ! <li>Changed: The options keyword returns now the selected index to the script, instead of the full text.</li> ! <li>Changed: Updated included FLAC version to 1.2.1.</li> ! </ul> Version 1.04 (09/08/2007)<br /> <ul> ! <li>Changed: Updated included PHP version to 5.2.4.</li> </ul> Version 1.03 (08/31/2007)<br /> <ul> <li>Changed: The update redirects now to the SourceForge download page.</li> <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> </ul> Version 1.02 (08/29/2007)<br /> <ul> <li>Added: New keyword "text", to accept any text input from the user.</li> <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> </ul> Version 1.01 (08/19/2007)<br /> <ul> <li>Fixed: Using one of the keywords "options", "file" or "output" with only one parameter made the application hang.</li> </ul> Version 1.0 (08/13/2007)<br /> <ul> <li>initial release</li> </ul> <br /> </body> </html> |
|
From: Bantai <ba...@us...> - 2007-11-07 17:29:37
|
Update of /cvsroot/xrns-php/xrns-sf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30524 Modified Files: main.c main.rc xrns-sf.html xrns-sf.ppj Log Message: * Fixed: Textfields did not restore their last used value. * Changed: The options keyword returns now the selected index to the script, instead of the full text. * Changed: Updated included FLAC version to 1.2.1. Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/xrns-sf.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** xrns-sf.html 8 Sep 2007 14:38:51 -0000 1.3 --- xrns-sf.html 7 Nov 2007 17:28:07 -0000 1.4 *************** *** 1,418 **** <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> - <title>XRNS Script Frontend Documentation</title> - <style type="text/css"> - body { - font-family: sans-serif; - } - - p { - font-family: monospace; - } - - p.code{ - border: 1px dotted black; - color:rgb(0,150,0); - background-color:rgb(250,250,250); - } - - p.warning{ - font-weight:bold; - color:rgb(150,0,0); - } - - a { - font-family: monospace; - text-decoration:none; - color:rgb(0,0,128); - } - - a:link,a:visited,a:active { - color:rgb(0,0,128); - } - - a:hover { - text-decoration:underline; - color:rgb(128,0,0); - } - </style> - </head> - - <body> ! ! <h3>XRNS Script Frontend 1.04</h3> ! <p> - Developed by Alexander Stoica 2007<br /> - <br /> - License: Public Domain - <br /> - <a href="http://xrns-php.sourceforge.net">http://xrns-php.sourceforge.net</a> - <br /><br /> - Use <a href="mailto:in...@be...">in...@be...</a> for feedback or bug reports. - <br /><br /> - <a href="http://www.beatslaughter.de">http://www.beatslaughter.de</a><br /> - </p> - - <br /> - <h4>What is it?</h4> - XRNS Script Frontend can be used, to provide a graphical user interface for command line - scripts written in PHP on the windows operating system. - <br /> - - <h4>How does it work?</h4> - The frontend includes a stripped down version of the PHP scripting language, which is - known for easy XML programming and is widely used. It's also possible to use external - command line tools without requiring the user to copy them somewhere into a known path. - Each script has a small config file, which defines how the GUI should be build and - also holds some other infos. A more in depth look at this file will follow shortly. - <br /><br /> - The folder "php" holds the PHP commandline interpreter and a windows batch file, which - allows one to generate a phpinfo.txt, which might be of help when developing own scripts. - Any additional scripts go into the "scripts" folder with their corresponding config file. - If a script relies on any extra command line tools, one should put them into the "utils" - folder. - <br /><br /> - Since version 1.02 there are no scripts included anymore. Instead you can download these from the - SourceForge download page. - <br /> - <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> - <br /><br /> - Alternatively you can download work in progress versions of the scripts. Simply start the file - "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. - <p class="warning"> - Warning! These are work in progress and probably unstable, use at your own risk. - </p> - <br /> - - <h4>Script configuration file format reference</h4> - The script configuration files are just normal *.ini files widely used by other software too. - You should name the configuration file using the same basename as your script. For example, - if the script is named "yourscript.php", the configuration file should be named "yourscript.cfg". - <br /><br /> - The first line should always be the name of the section. - <p class="code">[config]</p> - The following keys are used to provide general information about the script and are self explaining. - <p class="code"> - caption=Name of the script<br /> - author=Coded by John Doe.<br /> - url=http://www.johndoe.com<br /> - description=Short description, what your script does. - </p> - The "gui" key specifies, how the interface will be created. It accepts simple keywords, which are - translated by the frontend. The order of the keywords is important, since all the information the user - selects gets passed in that order as commandline parameters to the PHP script. Mutliple keywords need to be - separated by a semicolon ";". - <br /><br /> - Following the tradition of the first example in other programming languages, here is a simple label - showing "Hello world". The "label" keyword is used to place additional descriptions on the interface - for the user. The text needs to be enclosed by round brackets "()". - <p class="code"> - gui=label(Hello world) - </p> - The "text" keyword can be used to request any type of text to be passed to the script. If you specify the keyword with - optional round brackets "()", one can set a default text show in the textfield. - <p class="code"> - gui=text<br /> - gui=text(default text) - </p> - The "clipboard" keyword will pass the clipboard contents to the script through a temporary file. The script - is responsible for writing back the modified data to this file. When the script has finished executing, the contents - of that temporary file will be shown in the textbox on the interface. - <p class="code"> - gui=clipboard - </p> - The "folder" keyword allows the user to browse for a folder. The chosen path will then be passed to the script. - <p class="code"> - gui=folder - </p> - The "file" keyword allows the user to browse for a file to open. The chosen file will then be passed to the script. - This keyword is usually used to select a source file. - <p class="code"> - gui=file - </p> - It's also possible to specify extensions, including a default one, which will be used when the user leaves the - extension blank when entering or selecting a filename in the file chooser dialog. All extensions are enclosed in round - brackets "()" and each extension will be separated by a comma ",". Prepend a "def:" to the extension, which one wants to define - as default. - <p class="code"> - gui=file(def:xrns, xrni, zip) - </p> - The keyword "output" behaves nearly like the "file" keyword with some exceptions. The current directory will be set to - the path of this file, similar like the user has called the PHP interpreter from this location. This keyword is usually - used to select a destination file. - <p class="code"> - gui=output<br /> - gui=output(def:xrns, xrni, zip) - </p> - The last keyword is "options". It's used to display a combobox, where one can choose one of multiple options. ! ! It's also possible to define a default selected entry. ! <p class="code"> - gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) - </p> - As a summary, here is an example of how a complete configuration file looks like. - <p class="code"> - [config]<br /> - caption=Name of the script<br /> - author=Coded by John Doe.<br /> - url=http://www.johndoe.com<br /> - description=Short description, what your script does.<br /> - gui=label(Select an option:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) - </p> - - - <h4>Thanks and Credits</h4> - This product includes PHP software, freely available from:<br /> - <a href=http://www.php.net/software/>http://www.php.net/software</a>. - <br /><br /> - Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> - <a href="http://www.xiph.org">http://www.xiph.org</a> - <br /><br /> - Info-ZIP Workgroup for the zip and unzip utilities.<br /> - <a href="http://www.info-zip.org">http://www.info-zip.org</a> - <br /><br /> - gnu.org for the CVS command line utility.<br /> - <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> - <br /><br /> - Pelle Orinius for his excellent C programming IDE and compiler.<br /> - <a href="http://www.smorgasbordet.com/pellesc">http://www.smorgasbordet.com/pellesc</a> - <br /><br /> - Dac Chartrand for his original idea.<br /> - <a href="http://www.trotch.com">http://www.trotch.com</a> - <br /> - - <h4>History</h4> ! Version 1.04 (09/08/2007)<br /> - <ul> ! ! <li>Changed: Updated included PHP version to 5.2.4.</li> ! </ul> - Version 1.03 (08/31/2007)<br /> - <ul> - <li>Changed: The update redirects now to the SourceForge download page.</li> - <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> - </ul> - Version 1.02 (08/29/2007)<br /> - <ul> - <li>Added: New keyword "text", to accept any text input from the user.</li> - <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> - </ul> - Version 1.01 (08/19/2007)<br /> - <ul> - <li>Fixed: Using one of the keywords "options", "file" or "output" with only one parameter made the application hang.</li> - </ul> - Version 1.0 (08/13/2007)<br /> - <ul> - <li>initial release</li> - </ul> - <br /> - </body> - </html> - --- 1,216 ---- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> <title>XRNS Script Frontend Documentation</title> <style type="text/css"> body { font-family: sans-serif; } p { font-family: monospace; } p.code{ border: 1px dotted black; color:rgb(0,150,0); background-color:rgb(250,250,250); } p.warning{ font-weight:bold; color:rgb(150,0,0); } a { font-family: monospace; text-decoration:none; color:rgb(0,0,128); } a:link,a:visited,a:active { color:rgb(0,0,128); } a:hover { text-decoration:underline; color:rgb(128,0,0); } </style> </head> <body> ! <h3>XRNS Script Frontend 1.05</h3> <p> Developed by Alexander Stoica 2007<br /> <br /> License: Public Domain <br /> <a href="http://xrns-php.sourceforge.net">http://xrns-php.sourceforge.net</a> <br /><br /> Use <a href="mailto:in...@be...">in...@be...</a> for feedback or bug reports. <br /><br /> <a href="http://www.beatslaughter.de">http://www.beatslaughter.de</a><br /> </p> <br /> <h4>What is it?</h4> XRNS Script Frontend can be used, to provide a graphical user interface for command line scripts written in PHP on the windows operating system. <br /> <h4>How does it work?</h4> The frontend includes a stripped down version of the PHP scripting language, which is known for easy XML programming and is widely used. It's also possible to use external command line tools without requiring the user to copy them somewhere into a known path. Each script has a small config file, which defines how the GUI should be build and also holds some other infos. A more in depth look at this file will follow shortly. <br /><br /> The folder "php" holds the PHP commandline interpreter and a windows batch file, which allows one to generate a phpinfo.txt, which might be of help when developing own scripts. Any additional scripts go into the "scripts" folder with their corresponding config file. If a script relies on any extra command line tools, one should put them into the "utils" folder. <br /><br /> Since version 1.02 there are no scripts included anymore. Instead you can download these from the SourceForge download page. <br /> <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> <br /><br /> Alternatively you can download work in progress versions of the scripts. Simply start the file "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. <p class="warning"> Warning! These are work in progress and probably unstable, use at your own risk. </p> <br /> <h4>Script configuration file format reference</h4> The script configuration files are just normal *.ini files widely used by other software too. You should name the configuration file using the same basename as your script. For example, if the script is named "yourscript.php", the configuration file should be named "yourscript.cfg". <br /><br /> The first line should always be the name of the section. <p class="code">[config]</p> The following keys are used to provide general information about the script and are self explaining. <p class="code"> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does. </p> The "gui" key specifies, how the interface will be created. It accepts simple keywords, which are translated by the frontend. The order of the keywords is important, since all the information the user selects gets passed in that order as commandline parameters to the PHP script. Mutliple keywords need to be separated by a semicolon ";". <br /><br /> Following the tradition of the first example in other programming languages, here is a simple label showing "Hello world". The "label" keyword is used to place additional descriptions on the interface for the user. The text needs to be enclosed by round brackets "()". <p class="code"> gui=label(Hello world) </p> The "text" keyword can be used to request any type of text to be passed to the script. If you specify the keyword with optional round brackets "()", one can set a default text show in the textfield. <p class="code"> gui=text<br /> gui=text(default text) </p> The "clipboard" keyword will pass the clipboard contents to the script through a temporary file. The script is responsible for writing back the modified data to this file. When the script has finished executing, the contents of that temporary file will be shown in the textbox on the interface. <p class="code"> gui=clipboard </p> The "folder" keyword allows the user to browse for a folder. The chosen path will then be passed to the script. <p class="code"> gui=folder </p> The "file" keyword allows the user to browse for a file to open. The chosen file will then be passed to the script. This keyword is usually used to select a source file. <p class="code"> gui=file </p> It's also possible to specify extensions, including a default one, which will be used when the user leaves the extension blank when entering or selecting a filename in the file chooser dialog. All extensions are enclosed in round brackets "()" and each extension will be separated by a comma ",". Prepend a "def:" to the extension, which one wants to define as default. <p class="code"> gui=file(def:xrns, xrni, zip) </p> The keyword "output" behaves nearly like the "file" keyword with some exceptions. The current directory will be set to the path of this file, similar like the user has called the PHP interpreter from this location. This keyword is usually used to select a destination file. <p class="code"> gui=output<br /> gui=output(def:xrns, xrni, zip) </p> The last keyword is "options". It's used to display a combobox, where one can choose one of multiple options. ! It's also possible to define a default selected entry. Since version 1.05, the selected index (first element starts at 0) will be returned to the script ! instead of the full text. <p class="code"> gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> As a summary, here is an example of how a complete configuration file looks like. <p class="code"> [config]<br /> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does.<br /> gui=label(Select an option:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> <h4>Thanks and Credits</h4> This product includes PHP software, freely available from:<br /> <a href=http://www.php.net/software/>http://www.php.net/software</a>. <br /><br /> Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> <a href="http://www.xiph.org">http://www.xiph.org</a> <br /><br /> Info-ZIP Workgroup for the zip and unzip utilities.<br /> <a href="http://www.info-zip.org">http://www.info-zip.org</a> <br /><br /> gnu.org for the CVS command line utility.<br /> <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> <br /><br /> Pelle Orinius for his excellent C programming IDE and compiler.<br /> <a href="http://www.smorgasbordet.com/pellesc">http://www.smorgasbordet.com/pellesc</a> <br /><br /> Dac Chartrand for his original idea.<br /> <a href="http://www.trotch.com">http://www.trotch.com</a> <br /> <h4>History</h4> ! Version 1.05 (11/07/2007)<br /> ! <ul> ! <li>Fixed: Textfields did not restore their last used value.</li> ! <li>Changed: The options keyword returns now the selected index to the script, instead of the full text.</li> ! <li>Changed: Updated included FLAC version to 1.2.1.</li> ! </ul> Version 1.04 (09/08/2007)<br /> <ul> ! <li>Changed: Updated included PHP version to 5.2.4.</li> </ul> Version 1.03 (08/31/2007)<br /> <ul> <li>Changed: The update redirects now to the SourceForge download page.</li> <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> </ul> Version 1.02 (08/29/2007)<br /> <ul> <li>Added: New keyword "text", to accept any text input from the user.</li> <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> </ul> Version 1.01 (08/19/2007)<br /> <ul> <li>Fixed: Using one of the keywords "options", "file" or "output" with only one parameter made the application hang.</li> </ul> Version 1.0 (08/13/2007)<br /> <ul> <li>initial release</li> </ul> <br /> </body> </html> Index: xrns-sf.ppj =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/xrns-sf.ppj,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns-sf.ppj 8 Sep 2007 14:38:51 -0000 1.2 --- xrns-sf.ppj 7 Nov 2007 17:28:07 -0000 1.3 *************** *** 1,122 **** # - # PROJECT FILE generated by "Pelles C for Windows, version 4.50". - # WARNING! DO NOT EDIT THIS FILE. - # - - POC_PROJECT_VERSION = 4.00# - POC_PROJECT_TYPE = 0# - POC_PROJECT_ARGUMENTS = # - POC_PROJECT_WORKPATH = # - POC_PROJECT_EXECUTOR = # - CC = pocc.exe# - AS = poasm.exe# - RC = porc.exe# - LINK = polink.exe# - CCFLAGS = -Tx86-coff -Ot -Ox -W1 -Gz -Ze -D_UNICODE -DUNICODE# - ASFLAGS = -AIA32 -Gz# - RCFLAGS = # - LINKFLAGS = -release -subsystem:windows -machine:ix86 kernel32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib advapi32.lib delayimp.lib# - WizCreator = Pelle Orinius# - - .SILENT: - - # - # Build xrns-sf.exe. - # - xrns-sf.exe: \ - output\main.obj \ - output\main.res \ - output\hyperlink.obj - $(LINK) $(LINKFLAGS) -out:"$@" $** - - # - # Build main.obj. - # - output\main.obj: \ - main.c \ - main.h \ - hyperlink.h - $(CC) $(CCFLAGS) "$!" -Fo"$@" - - # - # Build main.res. - # - output\main.res: \ - main.rc \ - main.h \ - hyperlink.h \ - main.ico \ - renoise-logo.bmp \ - manifest.xml - $(RC) $(RCFLAGS) "$!" -Fo"$@" - - .EXCLUDEDFILES: - - # - # Build hyperlink.obj. - # - output\hyperlink.obj: \ - hyperlink.c \ - hyperlink.h - $(CC) $(CCFLAGS) "$!" -Fo"$@" - --- 1,61 ---- Index: main.rc =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/main.rc,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** main.rc 8 Sep 2007 14:38:51 -0000 1.4 --- main.rc 7 Nov 2007 17:28:07 -0000 1.5 *************** *** 1,176 **** // RESOURCE SCRIPT generated by "Pelles C for Windows, version 4.50". - - #include <windows.h> - #include <commctrl.h> - #include <richedit.h> - #include "main.h" - - LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US - - IDI_APP ICON "main.ico" - IDB_RLOGO BITMAP "renoise-logo.bmp" - - DLG_MAIN DIALOGEX DISCARDABLE 50, 50, 480, 250 - STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|WS_THICKFRAME|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_VISIBLE - CAPTION "XRNS Script Frontend" - CLASS "xrns-sf" - FONT 8, "MS Sans Serif", 0, 0, 1 - BEGIN - CONTROL "", DLG_MAIN_BANNER, "Static", SS_BLACKRECT, 0, 0, 480, 30 - CONTROL "", DLG_MAIN_COMBO_SCRIPTS, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|CBS_HASSTRINGS|WS_VSCROLL|WS_TABSTOP, 366, 8, 108, 12 - CONTROL "", DLG_MAIN_CONTROLAREA, "Static", SS_WHITERECT|WS_BORDER, 0, 30, 480, 198 - CONTROL "Show script info", DLG_MAIN_LINK_DESC, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 6, 212, 70, 10 - CONTROL "Show console", DLG_MAIN_LINK_CONSOLE, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 80, 212, 70, 10 - CONTROL "About", IDABOUT, "Button", WS_TABSTOP, 4, 232, 60, 15 - CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 352, 232, 60, 15 - CONTROL "Run Script", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 416, 232, 60, 15 - END - - DLG_ABOUT DIALOGEX DISCARDABLE 6, 18, 200, 148 - STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|DS_NOIDLEMSG|WS_CAPTION|WS_VISIBLE - EXSTYLE WS_EX_TOOLWINDOW - CAPTION "About" - FONT 8, "MS Sans Serif", 0, 0, 1 - BEGIN - CONTROL "", DLG_ABOUT_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 - CONTROL "License: Public Domain", -1, "Static", WS_GROUP, 10, 38, 180, 8 - CONTROL "http://xrns-php.sourceforge.net", DLG_ABOUT_LINK_SOURCEFORGE, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 48, 99, 8 - CONTROL "Frontend developed by Alexander Stoica", -1, "Static", WS_GROUP, 10, 68, 180, 8, WS_EX_TRANSPARENT - CONTROL "http://www.beatslaughter.de", DLG_ABOUT_LINK_BEATSLAUGHTER, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 78, 91, 8 - CONTROL "In cooperation with Dac Chartrand ", -1, "Static", WS_GROUP, 10, 90, 180, 8, WS_EX_TRANSPARENT - CONTROL "http://www.trotch.com", DLG_ABOUT_LINK_TROTCH, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 100, 72, 8 - CONTROL "", -1, "Static", SS_ETCHEDHORZ|SS_CENTERIMAGE|WS_BORDER, 0, 122, 210, 10 - CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 134, 128, 60, 15 - END - - DLG_INFO DIALOGEX DISCARDABLE 6, 18, 200, 119 - STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|DS_NOIDLEMSG|WS_CAPTION|WS_VISIBLE - EXSTYLE WS_EX_TOOLWINDOW - CAPTION "Script info" - FONT 8, "MS Sans Serif", 0, 0, 1 - BEGIN - CONTROL "", DLG_INFO_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 - CONTROL "", DLG_INFO_LINK, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER|HLS_PLAYCLICK|WS_TABSTOP, 0, 80, 200, 12 - CONTROL "", DLG_INFO_TEXT, "Edit", ES_MULTILINE|ES_AUTOVSCROLL|ES_WANTRETURN|ES_READONLY|WS_VSCROLL|WS_BORDER|WS_TABSTOP, 0, 30, 200, 50 - CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 135, 98, 60, 15 - END - - VS_VERSION_INFO VERSIONINFO ! ! FILEVERSION 1,0,4,0 ! ! PRODUCTVERSION 1,0,4,0 ! FILEFLAGSMASK 0x3F - FILEFLAGS 0x0 - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE VFT2_UNKNOWN - BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "CompanyName", "Alexander Stoica\0" - VALUE "FileDescription", "XRNS Script Frontend\0" ! ! VALUE "FileVersion", "1.04\0" ! VALUE "InternalName", "xrns-sf.exe\0" - VALUE "LegalCopyright", "License: Public Domain\0" - VALUE "OriginalFilename", "xrns-sf.exe\0" - VALUE "ProductName", "XRNS Script Frontend\0" ! ! VALUE "ProductVersion", "1.04\0" ! END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 0x4B0 - END - END - - 1 MANIFEST "manifest.xml" - - --- 1,88 ---- // RESOURCE SCRIPT generated by "Pelles C for Windows, version 4.50". #include <windows.h> #include <commctrl.h> #include <richedit.h> #include "main.h" LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US IDI_APP ICON "main.ico" IDB_RLOGO BITMAP "renoise-logo.bmp" DLG_MAIN DIALOGEX DISCARDABLE 50, 50, 480, 250 STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|WS_THICKFRAME|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_VISIBLE CAPTION "XRNS Script Frontend" CLASS "xrns-sf" FONT 8, "MS Sans Serif", 0, 0, 1 BEGIN CONTROL "", DLG_MAIN_BANNER, "Static", SS_BLACKRECT, 0, 0, 480, 30 CONTROL "", DLG_MAIN_COMBO_SCRIPTS, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|CBS_HASSTRINGS|WS_VSCROLL|WS_TABSTOP, 366, 8, 108, 12 CONTROL "", DLG_MAIN_CONTROLAREA, "Static", SS_WHITERECT|WS_BORDER, 0, 30, 480, 198 CONTROL "Show script info", DLG_MAIN_LINK_DESC, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 6, 212, 70, 10 CONTROL "Show console", DLG_MAIN_LINK_CONSOLE, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 80, 212, 70, 10 CONTROL "About", IDABOUT, "Button", WS_TABSTOP, 4, 232, 60, 15 CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 352, 232, 60, 15 CONTROL "Run Script", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 416, 232, 60, 15 END DLG_ABOUT DIALOGEX DISCARDABLE 6, 18, 200, 148 STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|DS_NOIDLEMSG|WS_CAPTION|WS_VISIBLE EXSTYLE WS_EX_TOOLWINDOW CAPTION "About" FONT 8, "MS Sans Serif", 0, 0, 1 BEGIN CONTROL "", DLG_ABOUT_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 CONTROL "License: Public Domain", -1, "Static", WS_GROUP, 10, 38, 180, 8 CONTROL "http://xrns-php.sourceforge.net", DLG_ABOUT_LINK_SOURCEFORGE, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 48, 99, 8 CONTROL "Frontend developed by Alexander Stoica", -1, "Static", WS_GROUP, 10, 68, 180, 8, WS_EX_TRANSPARENT CONTROL "http://www.beatslaughter.de", DLG_ABOUT_LINK_BEATSLAUGHTER, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 78, 91, 8 CONTROL "In cooperation with Dac Chartrand ", -1, "Static", WS_GROUP, 10, 90, 180, 8, WS_EX_TRANSPARENT CONTROL "http://www.trotch.com", DLG_ABOUT_LINK_TROTCH, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 100, 72, 8 CONTROL "", -1, "Static", SS_ETCHEDHORZ|SS_CENTERIMAGE|WS_BORDER, 0, 122, 210, 10 CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 134, 128, 60, 15 END DLG_INFO DIALOGEX DISCARDABLE 6, 18, 200, 119 STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|DS_NOIDLEMSG|WS_CAPTION|WS_VISIBLE EXSTYLE WS_EX_TOOLWINDOW CAPTION "Script info" FONT 8, "MS Sans Serif", 0, 0, 1 BEGIN CONTROL "", DLG_INFO_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 CONTROL "", DLG_INFO_LINK, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER|HLS_PLAYCLICK|WS_TABSTOP, 0, 80, 200, 12 CONTROL "", DLG_INFO_TEXT, "Edit", ES_MULTILINE|ES_AUTOVSCROLL|ES_WANTRETURN|ES_READONLY|WS_VSCROLL|WS_BORDER|WS_TABSTOP, 0, 30, 200, 50 CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 135, 98, 60, 15 END VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,0,5,0 ! PRODUCTVERSION 1,0,5,0 FILEFLAGSMASK 0x3F FILEFLAGS 0x0 FILEOS VOS__WINDOWS32 FILETYPE VFT_APP FILESUBTYPE VFT2_UNKNOWN BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904B0" BEGIN VALUE "CompanyName", "Alexander Stoica\0" VALUE "FileDescription", "XRNS Script Frontend\0" ! VALUE "FileVersion", "1.05\0" VALUE "InternalName", "xrns-sf.exe\0" VALUE "LegalCopyright", "License: Public Domain\0" VALUE "OriginalFilename", "xrns-sf.exe\0" VALUE "ProductName", "XRNS Script Frontend\0" ! VALUE "ProductVersion", "1.05\0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 0x4B0 END END 1 MANIFEST "manifest.xml" Index: main.c =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/main.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** main.c 8 Sep 2007 14:38:51 -0000 1.4 --- main.c 7 Nov 2007 17:28:07 -0000 1.5 *************** *** 1,3014 **** /**************************************************************************** - * * - * File : main.c * - * * - * Purpose : Generic dialog based Win32 application. * - [...4501 lines suppressed...] if (IsMinimized(hwnd)) wp.showCmd = SW_SHOWNORMAL; GetModuleFileName(ghInstance, szBuffer, DIMOF(szBuffer)); PathRenameExtension(szBuffer, _T(".dat")); if (gCfg.fConsole) gCfg.fConsole = FALSE; else gCfg.fConsole = TRUE; hFile = CreateFile(szBuffer, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_SEQUENTIAL_SCAN, NULL); if (hFile != INVALID_HANDLE_VALUE) { WriteFile(hFile, &wp.rcNormalPosition, sizeof(wp.rcNormalPosition), &dwBytesWritten, NULL); WriteFile(hFile, &gCfg, sizeof(CONFIG), &dwBytesWritten, NULL); CloseHandle(hFile); } } |
|
From: Bantai <ba...@us...> - 2007-11-07 10:50:28
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv22041 Modified Files: xrns_randomizer.cfg xrns_randomizer.php Log Message: Accepting both label and index from dropdown lists. Index: xrns_randomizer.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_randomizer.php,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** xrns_randomizer.php 23 Sep 2007 22:02:16 -0000 1.7 --- xrns_randomizer.php 7 Nov 2007 10:49:59 -0000 1.8 *************** *** 114,122 **** // ---------------------------------------------------------------------------- if ($argc < 3) { ! echo "Error: $argv[0] expects at least 2 parameters.\n"; ! echo "Usage: `php $argv[0] /path/to/file1.xrns file2.xrns [mode] [keep_octave]`\n"; ! echo "Valid modes are: \n * ", implode("\n * ", $valid_modes) . "\n"; ! echo "$argv[0] will output randomized file (file2.xrns) to current working directory.\n"; die(); } --- 114,129 ---- // ---------------------------------------------------------------------------- + function listMode($item, $key) + { + echo "\n * " . $key . ": " . $item; + } + if ($argc < 3) { ! echo "\nError: $argv[0] expects at least 2 parameters.\n"; ! echo "Usage: `php $argv[0] /path/to/file1.xrns file2.xrns [mode] [keep_octave=<yes|no>]`\n"; ! echo "\nValid modes are: \n "; ! array_walk($valid_modes, 'listMode'); ! echo "\n\nTo keep octave, the 4th parameter must be 'yes' or '1'."; ! echo "\n\n$argv[0] will output randomized file (file2.xrns) to current working directory.\n"; die(); } *************** *** 135,143 **** $mode = 'chaos'; // Default if (isset($argv[3])) { ! if (in_array(strtolower($argv[3]), $valid_modes)) $mode = strtolower($argv[3]); } // Keep Octave ! $keep_octave = (isset($argv[4]) && $argv[4] != 0) ? true : false; --- 142,154 ---- $mode = 'chaos'; // Default if (isset($argv[3])) { ! if (is_numeric($argv[3]) && array_key_exists($argv[3],$valid_modes)) ! $mode = $valid_modes[$argv[3]]; ! elseif (in_array(strtolower($argv[3]), $valid_modes)) ! $mode = strtolower($argv[3]); ! } // Keep Octave ! $keep_octave = (isset($argv[4]) && $argv[4] == 1 || strtolower($argv[4]) == 'yes') ? true : false; Index: xrns_randomizer.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_randomizer.cfg,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** xrns_randomizer.cfg 23 Sep 2007 22:02:16 -0000 1.4 --- xrns_randomizer.cfg 7 Nov 2007 10:49:59 -0000 1.5 *************** *** 4,6 **** url=http://www.trotch.com/xrns_scripts description=XRNS Randomizer is a script, which allows you to randomize a XRNS file using one of two different randomization modes and save the result into a new file. ! gui=label(Select the file you want to randomize:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Select a randomization mode:); options(def:chaos, shuffle, harmonic_minor, locrian, lydian, melodic_minor, pentatonic_blues, pentatonic_major, pentatonic_minor, pentatonic_neutral); label(Keep octave?:); options(def:0, 1); --- 4,6 ---- url=http://www.trotch.com/xrns_scripts description=XRNS Randomizer is a script, which allows you to randomize a XRNS file using one of two different randomization modes and save the result into a new file. ! gui=label(Select the file you want to randomize:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Select a randomization mode:); options(def:chaos, shuffle, harmonic_minor, locrian, lydian, melodic_minor, pentatonic_blues, pentatonic_major, pentatonic_minor, pentatonic_neutral); label(Keep octave?:); options(def:No, Yes); |
|
From: Bantai <ba...@us...> - 2007-11-06 22:25:42
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv2377 Modified Files: xrns2midi.php xrns2midi_classes.php Log Message: Added PHP Version checking and debugger detection, some cleanups and a lot of wasted time on failed attempts to implement AllNotesOff, the FF00 (Kill all notes and fx) command and the F100 (Stop Song) command. Index: xrns2midi_classes.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns2midi_classes.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** xrns2midi_classes.php 6 Sep 2007 21:22:57 -0000 1.3 --- xrns2midi_classes.php 6 Nov 2007 22:25:14 -0000 1.4 *************** *** 1,10 **** <?php ! // XRNS2MID version 0.20 by Marvin Tjon (Bantai) ! // ! // Last saved on 6 Sep 2007 // Based on XRNS2MID version 0.03 by Dac Chartrand ! // ! // This file contains helper classes for the main script: // - xrns2midi.php [...1405 lines suppressed...] ! elseif ($pan > 0xD0 && $pan <= 0xDF) ! $lastnote->offset = $pan - 0xD0; ! //Retrig note X ticks (E0 - EF) ! //Notes = ceil(speed / X); X(0) = 1; ! elseif ($pan > 0xE0 && $pan <= 0xEF) ! $lastnote->retrig = $pan - 0xE0; ! ! //Cut Note after X Ticks (F0 - FE) ! elseif ($pan > 0xF0 && $pan <= 0xFE) { $evt = clone $lastnote; $evt->evttype = 2; ! MidiList::getTrack($evt->inst)->addEvent($pos, $pan-0xF0, $evt->col, $evt); } ! } ! } } ! ?> Index: xrns2midi.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns2midi.php,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** xrns2midi.php 6 Sep 2007 21:22:57 -0000 1.5 --- xrns2midi.php 6 Nov 2007 22:25:14 -0000 1.6 *************** *** 1,15 **** <?php ! // XRNS2MID version 0.20 by Marvin Tjon (Bantai) ! // ! // Last saved on 6 Sep 2007 ! // Based on XRNS2MID version 0.03 by Dac Chartrand ! // ! // Requires: // - midi_class_v16 // - xrns2midi_classes.php ! // - xrns_functions.php $time['start'] = microtime(true); // ---------------------------------------------------------------------------- --- 1,20 ---- + #!/usr/bin/php -n -q <?php ! // XRNS2MIDI version 0.21 by Marvin Tjon (Bantai) ! // ! // Last saved on 8 Oct 2007 ! // Based on XRNS2MIDI version 0.03 by Dac Chartrand ! // ! // Requires: // - midi_class_v16 // - xrns2midi_classes.php ! // - xrns_functions.php ! ! // To-Do for 0.21: ! // - poly-aftertouch for volume $time['start'] = microtime(true); + $xrns2midi_version = "0.21"; // ---------------------------------------------------------------------------- *************** *** 17,28 **** // ---------------------------------------------------------------------------- ! // Script usually exectues in a few seconds. During the conversion from xml to mid, ! // the script may hang if the midi events are incorrectly sorted. set_time_limit(240); //4 minutes ! // Valididate song $schema_check = true; // ---------------------------------------------------------------------------- // Variables --- 22,53 ---- // ---------------------------------------------------------------------------- ! if (!defined('DEBUGGER_VERSION')) ! { //FOR USERS + // Check PHP Version. PHP versions below 5.2.3 may + // lower this script's performance to 3% and even lower! + echo "\nCurrent PHP version: ". PHP_VERSION . "\n"; + if (version_compare(PHP_VERSION, "5.2.3", "<")) + { + echo "\n*=====================================*\n"; + echo "\n WARNING: Update your PHP installation!\n\n PHP versions below 5.2.3 may increase\n execution time by a factor 30 to 90.\n\n"; + echo "*=====================================*\n"; + sleep(3); + } + + // Script usually exectues in a few seconds. During the conversion from xml to mid, + // the script may hang if the midi events are incorrectly sorted. set_time_limit(240); //4 minutes ! // Validate song $schema_check = true; + } + else + { //FOR DEBUGGERS + // Do not validate song + $schema_check = false; + + } // ---------------------------------------------------------------------------- // Variables *************** *** 30,34 **** // Files are extracted in the root temp folder. ! $tmp_dir = '/temp'; // ---------------------------------------------------------------------------- --- 55,62 ---- // Files are extracted in the root temp folder. ! $tmp_dir = '/temp'; ! ! // Exit status ! $err = 0; // ---------------------------------------------------------------------------- *************** *** 66,70 **** */ ! if (isset($argv[1]) && !isset($argv[2]) || isset($argv[2]) && !isset($argv[1])) { echo "Error: $argv[0] expects at least 2 parameters.\n"; --- 94,98 ---- */ ! if (isset($argv[1]) && !isset($argv[2]) || isset($argv[2]) && !isset($argv[1])) { echo "Error: $argv[0] expects at least 2 parameters.\n"; *************** *** 73,97 **** die(); } ! elseif (isset($argv[1]) && isset($argv[2])) { // Specify by command line ! if (!file_exists($argv[1])) ! die("Error: Input file `".$argv[1]."` not found.\n"); $xrns_file = $argv[1]; $mid_file = $argv[2]; ! } elseif (isset($_GET['xrns']) && isset($_GET['mid'])) { //Server version: xrns2midi.php?xrns=filename.xrns&mid=filename.mid //TODO: security, form, upload ! if (!file_exists($_GET['xrns'])) ! die("Error: Input file `".$_GET['xrns']."` not found.\n"); $xrns_file = $_GET['xrns']; ! $mid_file = $_GET['mid']; } ! else ! { //Specify manually ! $xrns_file = "C:/[bb5entries]/test/note-off.xrns"; ! $mid_file = "C:/[bb5entries]/test/note-off.020.mid"; if (!file_exists($xrns_file)) ! die("Error: Input file not found.\n"); } --- 101,125 ---- die(); } ! elseif (isset($argv[1]) && isset($argv[2])) { // Specify by command line ! if (!file_exists($argv[1])) ! die("Error: Input file `".$argv[1]."` not found.\n"); $xrns_file = $argv[1]; $mid_file = $argv[2]; ! } elseif (isset($_GET['xrns']) && isset($_GET['mid'])) { //Server version: xrns2midi.php?xrns=filename.xrns&mid=filename.mid //TODO: security, form, upload ! if (!file_exists($_GET['xrns'])) ! die("Error: Input file `".$_GET['xrns']."` not found.\n"); $xrns_file = $_GET['xrns']; ! $mid_file = $_GET['mid']; } ! else ! { //Specify manually ! $xrns_file = "C:/[bb5entries]/test/ff00.xrns"; ! $mid_file = "C:/[bb5entries]/test/ff00.$xrns2midi_version.mid"; if (!file_exists($xrns_file)) ! die("Error: Input file not found.\n"); } *************** *** 100,107 **** // ---------------------------------------------------------------------------- ! echo "---------------------------------------\n"; ! echo "$argv[0] is working...\n"; echo date("D M j G:i:s T Y\n"); ! echo "---------------------------------------\n"; echo "Using temporary directory: $tmp_dir\n"; echo "Input: $xrns_file \nOutput: $mid_file (+.xml, +.txt)\n\n"; --- 128,135 ---- // ---------------------------------------------------------------------------- ! echo "\n---------------------------------------\n"; ! echo "XRNS2MIDI v$xrns2midi_version is working...\n"; echo date("D M j G:i:s T Y\n"); ! echo "---------------------------------------\n\n"; echo "Using temporary directory: $tmp_dir\n"; echo "Input: $xrns_file \nOutput: $mid_file (+.xml, +.txt)\n\n"; *************** *** 124,128 **** // ---------------------------------------------------------------------------- ! echo "XRNS Document Version: " . $doc_version = $sx['doc_version'] . "\n\n"; if ($schema_check) { --- 152,156 ---- // ---------------------------------------------------------------------------- ! echo "XRNS Document Version: " . $doc_version = $sx['doc_version'] . "\n"; if ($schema_check) { *************** *** 132,138 **** die("\n". $xrns_file . " failed to validate against schema. The song appears to be broken.\n\n" ); } ! echo "\n"; } ! // ---------------------------------------------------------------------------- --- 160,174 ---- die("\n". $xrns_file . " failed to validate against schema. The song appears to be broken.\n\n" ); } ! else ! { ! echo "Document has succesfully passed validation.\n"; ! //unfortunately also displayed when the schema is not found ! } } ! else ! { ! echo "Document validation disabled.\n"; ! } ! echo "\n"; // ---------------------------------------------------------------------------- *************** *** 159,163 **** /* ! MidiList MidiTracks id (#miditrack) --- 195,199 ---- /* ! MidiList MidiTracks id (#miditrack) *************** *** 165,169 **** name (instrument name) channel ! MidiEvents[line][tick][originating note column][subevent] getMsg() */ --- 201,205 ---- name (instrument name) channel ! MidiEvents[line][tick][originating note column][subevent] getMsg() */ *************** *** 173,179 **** // PARSE SEQUENCE // ================================================================ $seq = array(); ! foreach ($sx->PatternSequence->PatternSequence->Pattern as $p) { $seq[] = (int)$p; --- 209,216 ---- // PARSE SEQUENCE // ================================================================ + $seq = array(); ! foreach ($sx->PatternSequence->PatternSequence->Pattern as $p) { $seq[] = (int)$p; *************** *** 189,203 **** { $p = $sx->PatternPool->Patterns->Pattern[$patternid]; ! //foreach ($sx->PatternPool->Patterns->Pattern as $p) { ! $track = 0; // reset track ! $NumberOfLines[$pn] = (int)$p->NumberOfLines; //$patternid = (int)$sx->PatternSequence->PatternSequence->Pattern[$pn]; if (isset($p->Name)) $patternName = (string)$p->Name; else $patternName = ''; ! echo " Parsing pattern [$pn]: $patternid $patternName... \n"; ! $master->addEventArr($lines,0, 0,11,array('type'=>'Marker', 'string'=>"Pattern [$pn]: $patternid $patternName")); ! foreach (array($p->Tracks->PatternTrack,$p->Tracks->PatternMasterTrack, $p->Tracks->PatternSendTrack) as $tx) ! foreach ($tx as $x){ ! ! if ($x->Lines->Line) foreach ($x->Lines->Line as $y) { if ((int)$y['index'] > $NumberOfLines[$pn] - 1) break; --- 226,240 ---- { $p = $sx->PatternPool->Patterns->Pattern[$patternid]; ! //foreach ($sx->PatternPool->Patterns->Pattern as $p) { ! $track = 0; // reset track ! $NumberOfLines[$pn] = (int)$p->NumberOfLines; //$patternid = (int)$sx->PatternSequence->PatternSequence->Pattern[$pn]; if (isset($p->Name)) $patternName = (string)$p->Name; else $patternName = ''; ! echo " Parsing pattern [$pn]: $patternid $patternName... \n"; ! $master->addEventArr($lines,0, 0,11,array('type'=>'Marker', 'string'=>"Pattern [$pn]: $patternid $patternName")); ! foreach (array($p->Tracks->PatternTrack,$p->Tracks->PatternMasterTrack, $p->Tracks->PatternSendTrack) as $tx) ! foreach ($tx as $x){ ! ! if ($x->Lines->Line) foreach ($x->Lines->Line as $y) { if ((int)$y['index'] > $NumberOfLines[$pn] - 1) break; *************** *** 211,217 **** $n_column = 100 * $track; $nn=0; ! if ($y->NoteColumns->NoteColumn) foreach ($y->NoteColumns->NoteColumn as $z) ! { ! $n_column += $nn++; // Parse note string into note number if($z->Note) --- 248,254 ---- $n_column = 100 * $track; $nn=0; ! if ($y->NoteColumns->NoteColumn) foreach ($y->NoteColumns->NoteColumn as $z) ! { ! $n_column += $nn++; // Parse note string into note number if($z->Note) *************** *** 222,226 **** // Fetch Instrument Number if($z->Instrument) ! { //midi tracks start with 1, so instr has to be inc by 1 $inst = (int) intval((string) $z->Instrument, 16) + 1; --- 259,263 ---- // Fetch Instrument Number if($z->Instrument) ! { //midi tracks start with 1, so instr has to be inc by 1 $inst = (int) intval((string) $z->Instrument, 16) + 1; *************** *** 244,249 **** if ($note && $note != 'Off' && $inst != 0) { ! //NNA: note-cut (only by this instr) ! $lnF = MasterTrack::getLastNote($n_column); //find last note originating from this note-column if ($lnF !== false && $lnF->evttype != 2) //if there is a new note with instr number and there is a note before it --- 281,286 ---- if ($note && $note != 'Off' && $inst != 0) { ! //NNA: note-cut (only by this instr) ! $lnF = MasterTrack::getLastNote($n_column); //find last note originating from this note-column if ($lnF !== false && $lnF->evttype != 2) //if there is a new note with instr number and there is a note before it *************** *** 253,267 **** $evt = clone $lnF; //make a copy of the last note $evt->evttype = 2; //set it to note-off ! $evt->vol = 0; //another way to set note-off $evt->setOffset(0); ! $evt->retrig = null; if (false) //bypass note-off offset for now { $evt->setOffset(-1); //put the note-off n ticks before the new note //by convention, if the offset is negative, we decrease $pos by 1 line ! MidiList::getTrack($evt->inst)->addEvent($pos-1, -1, $n_column, $evt); ! } ! else ! MidiList::getTrack($evt->inst)->addEvent($pos, 0, $n_column, $evt); } //if the current midicol is occupied, create a new event on a new midicol --- 290,304 ---- $evt = clone $lnF; //make a copy of the last note $evt->evttype = 2; //set it to note-off ! $evt->vol = 0; //another way to set note-off $evt->setOffset(0); ! $evt->retrig = null; if (false) //bypass note-off offset for now { $evt->setOffset(-1); //put the note-off n ticks before the new note //by convention, if the offset is negative, we decrease $pos by 1 line ! MidiList::getTrack($evt->inst)->addEvent($pos-1, -1, $n_column, $evt); ! } ! else ! MidiList::getTrack($evt->inst)->addEvent($pos, 0, $n_column, $evt); } //if the current midicol is occupied, create a new event on a new midicol *************** *** 274,283 **** $lnF = MasterTrack::getLastNote($n_column); //find last note originating from this note-column if ($lnF !== false && $lnF->evttype != 2) //if there is a new note with instr number and there is a note before it ! { $evt = clone $lnF; //make a copy of the last note $evt->evttype = 2; //set it to note-off ! $evt->vol = 0; //another way to set note-off ! MidiList::getTrack($evt->inst)->addEvent($pos, 0,$n_column, $evt); ! } } else if ($note && $inst != 0) --- 311,320 ---- $lnF = MasterTrack::getLastNote($n_column); //find last note originating from this note-column if ($lnF !== false && $lnF->evttype != 2) //if there is a new note with instr number and there is a note before it ! { $evt = clone $lnF; //make a copy of the last note $evt->evttype = 2; //set it to note-off ! $evt->vol = 0; //another way to set note-off ! MidiList::getTrack($evt->inst)->addEvent($pos, 0,$n_column, $evt); ! } } else if ($note && $inst != 0) *************** *** 285,289 **** //ghost note //Renoise disallows instr numbers on note-offs, but not vol/pan ! } else if (!$note && $inst == 0) --- 322,326 ---- //ghost note //Renoise disallows instr numbers on note-offs, but not vol/pan ! } else if (!$note && $inst == 0) *************** *** 292,299 **** //instr switch feature? } ! else { ! // Do something with empty note? } --- 329,336 ---- //instr switch feature? } ! else { ! // Do something with empty note? } *************** *** 303,313 **** // ---------------------------------------------------------------- //applies to closest note of any instr in this col ! //TODO: vol/pan fx without note/instr if($lastnote = MasterTrack::getLastNote($n_column)) { ! $master->doVolPanFx($pos, $z->Volume, $z->Panning, $lastnote); } ! ! $n_column++; } // end note columns --- 340,350 ---- // ---------------------------------------------------------------- //applies to closest note of any instr in this col ! //TODO: vol/pan fx without note/instr if($lastnote = MasterTrack::getLastNote($n_column)) { ! $master->doVolPanFx($pos, $z->Volume, $z->Panning, $lastnote); } ! ! $n_column++; } // end note columns *************** *** 315,319 **** // Effect Columns // ---------------------------------------------------------------- ! if ($y->EffectColumns->EffectColumn) { --- 352,356 ---- // Effect Columns // ---------------------------------------------------------------- ! if ($y->EffectColumns->EffectColumn) { *************** *** 322,326 **** if ($z->Number == '00') continue; ! //fetch hexadecimal pattern command from song.xrns $effectNumber = (int)intval((string)$z->Number,16); --- 359,363 ---- if ($z->Number == '00') continue; ! //fetch hexadecimal pattern command from song.xrns $effectNumber = (int)intval((string)$z->Number,16); *************** *** 332,359 **** switch ($effectNumber) { ! case 0xF0: if ($effectValue >= 0x20 && $effectValue <= 0xFF) { ! $master->globals['bpm'][$pos] = $effectValue; } break; ! case 0xF1: ! if ($effectValue >= 0x00 && $effectValue <= 0x1F) { ! $master->globals['speed'][$pos] = $effectValue; $master->globals['lpb'][$pos] = $master->getLpb($effectValue); } ! break; //TODO: `stop` command F100 //case 0xFB - Pattern break //TODO: automation follow //case 0xFD - Delay complete pattern xx lines. ! //case 0xFF: Stop all track effects and notes. ! } } } ! } //end lines ! ++$track; ! } // end tracks ! $pn++; ! $lines += $p->NumberOfLines; } //end patterns --- 369,408 ---- switch ($effectNumber) { ! case 0x0C: //track volume ! break; ! case 0xF0: if ($effectValue >= 0x20 && $effectValue <= 0xFF) { ! $master->globals['bpm'][$pos] = $effectValue; } break; ! case 0xF1: ! if ($effectValue > 0x00 && $effectValue <= 0x1F) { ! $master->globals['speed'][$pos] = $effectValue; $master->globals['lpb'][$pos] = $master->getLpb($effectValue); } ! elseif ($effectValue == 0) ! { // F100 (Stop Song) ! //ignore command for now ! //$master->addEvent($pos,0,0, new MidiEvent(12, null)); ! } ! break; ! case 0xFC: //master volume ! break; //case 0xFB - Pattern break //TODO: automation follow //case 0xFD - Delay complete pattern xx lines. ! case 0xFF: //Stop all track effects and notes on track. ! //Very hard to do, because notes in the track may be spreaded over several midi channels. ! //$master->addEvent($pos,0,0, new MidiEvent(5, array('ch'=>4, 'val'=>0))); ! break; ! } } } ! } //end lines ! ++$track; ! } // end tracks ! $pn++; ! $lines += $p->NumberOfLines; } //end patterns *************** *** 369,396 **** echo "\nCommited global events in {$ms}ms \n\n"; ! //note-off on every column at end of song foreach(MasterTrack::$lastNotes as $n_column=>&$evt) { ! $evt = clone $evt; $evt->evttype = 2; ! $evt->vol = 0; $evt->offset = 0; ! MidiList::getTrack($evt->inst)->addEvent($lines, 0, $n_column, $evt); } //add Pattern Sequencer loop if (($cp = (int)$sx->PatternSequence->LoopSelection->CursorPos) > -1) { $rp = (int)$sx->PatternSequence->LoopSelection->RangePos; ! $loopstart = 0; ! for ($i=0; $i<$cp;$i++) ! $loopstart += $NumberOfLines[$i]; ! $loopend = $loopstart; for ($i=$cp; $i<$rp;$i++) ! $loopend += $NumberOfLines[$i]; ! $master->addEventArr($loopstart,0,0,11,array('type'=>'Marker', 'string'=>'Loop start')); $master->addEventArr($loopend,0,0,11,array('type'=>'Marker', 'string'=>'Loop end')); --- 418,449 ---- echo "\nCommited global events in {$ms}ms \n\n"; ! ! //forced note-off on every column at end of song foreach(MasterTrack::$lastNotes as $n_column=>&$evt) { ! if ($evt->evttype == 2) ! continue; ! $evt = clone $evt; $evt->evttype = 2; ! $evt->vol = 0; $evt->offset = 0; ! MidiList::getTrack($evt->inst)->addEvent($lines, 0, $n_column, $evt); } + //add Pattern Sequencer loop if (($cp = (int)$sx->PatternSequence->LoopSelection->CursorPos) > -1) { $rp = (int)$sx->PatternSequence->LoopSelection->RangePos; ! $loopstart = 0; ! for ($i=0; $i<$cp;$i++) ! $loopstart += $NumberOfLines[$i]; ! $loopend = $loopstart; for ($i=$cp; $i<$rp;$i++) ! $loopend += $NumberOfLines[$i]; ! $master->addEventArr($loopstart,0,0,11,array('type'=>'Marker', 'string'=>'Loop start')); $master->addEventArr($loopend,0,0,11,array('type'=>'Marker', 'string'=>'Loop end')); *************** *** 398,486 **** ! //Sorting MidiList is useless; midi tracks are generated in order of //the instrument's first appearance in the song. ! //Take notice: use references in foreach, or the updates to the arrays //will be ignored! foreach($midiList as &$miditrack) ! { $id = $miditrack->id; ! echo " Sending events for MidiTrack $id...\n"; foreach ($miditrack as $pos=>&$ticks) ! { ! //echo "Line: $pos \n"; //TODO: remove previous data foreach ($ticks as $tick=>&$events) ! { //echo "\tTick: $tick \n"; foreach ($events as &$subevents) ! { foreach ($subevents as $evtnum=>&$evt) ! { //note-delay //if offset is valid, move event to tick position //if offset exceeds speed, do event on this tick, further down this loop if (isset($evt->offset) && $evt->offset != 0) ! { $offset = $evt->offset; ! $evt->offset = 0; ! $speed = $master->getNearestGlobal($pos, 'speed')->val; ! if ($speed > $offset) ! { $ticks[$offset][$evt->col][] = $evt; ! unset($subevents[$evtnum]); ! ksort($ticks); continue; ! } ! } ! //everything that comes after this needs this timestamp ! $timestamp = $master->getTimeStamp($pos,$tick); $evt->setTimestamp($timestamp); ! //retrigger if (isset($evt->retrig) && $evt->retrig != 0 && $evt->evttype != 2) ! { ! $retrig = $evt->retrig; $evt->retrig = 0; ! $speed = $master->getNearestGlobal($pos, 'speed')->val; if ($speed > $retrig) ! { $offset = 0; $ticksleft = $speed; unset($lastevt); ! while($ticksleft > 0) ! { if (isset($lastevt)) { ! $lastevt->evttype = 2; ! $ticks[$offset][$lastevt->col][] = $lastevt; } if ($offset == 0) MasterTrack::$midi->addMsg($id, $evt->getMsg()); ! else ! { ! $ticks[$offset][$evt->col][] = $evt; } ! $ticksleft -= $retrig; $offset += $retrig; ! $lastevt = clone $evt; ! } ksort($ticks); ! unset($subevents[$evtnum]); ! continue; //this is event is done, so skip the rest } ! } ! MasterTrack::$midi->addMsg($id, $evt->getMsg()); ! unset($subevents[$evtnum]); } //unset($subevents); } ! //unset($events); ! } ! //unset($ticks); } ! MasterTrack::$midi->addMsg($id, $master->getTimestamp($lines, null)+1 . " Meta TrkEnd"); } --- 451,543 ---- ! //Sorting MidiList is useless; midi tracks are generated in order of //the instrument's first appearance in the song. ! //Take notice: use references in foreach, or the updates to the arrays //will be ignored! foreach($midiList as &$miditrack) ! { $id = $miditrack->id; ! echo " Sending events for MidiTrack $id...\n"; foreach ($miditrack as $pos=>&$ticks) ! { ! //echo "Line: $pos \n"; //TODO: remove previous data foreach ($ticks as $tick=>&$events) ! { //echo "\tTick: $tick \n"; foreach ($events as &$subevents) ! { foreach ($subevents as $evtnum=>&$evt) ! { //note-delay //if offset is valid, move event to tick position //if offset exceeds speed, do event on this tick, further down this loop if (isset($evt->offset) && $evt->offset != 0) ! { $offset = $evt->offset; ! $evt->offset = 0; ! $speed = $master->getNearestGlobal($pos, 'speed')->val; ! if ($speed > $offset) ! { $ticks[$offset][$evt->col][] = $evt; ! unset($subevents[$evtnum]); ! ksort($ticks); continue; ! } ! } ! //everything that comes after this needs this timestamp ! $timestamp = $master->getTimeStamp($pos,$tick); $evt->setTimestamp($timestamp); ! //retrigger if (isset($evt->retrig) && $evt->retrig != 0 && $evt->evttype != 2) ! { ! $retrig = $evt->retrig; $evt->retrig = 0; ! $speed = $master->getNearestGlobal($pos, 'speed')->val; if ($speed > $retrig) ! { $offset = 0; $ticksleft = $speed; unset($lastevt); ! while($ticksleft > 0) ! { if (isset($lastevt)) { ! $lastevt->evttype = 2; ! $ticks[$offset][$lastevt->col][] = $lastevt; } if ($offset == 0) MasterTrack::$midi->addMsg($id, $evt->getMsg()); ! else ! { ! $ticks[$offset][$evt->col][] = $evt; } ! $ticksleft -= $retrig; $offset += $retrig; ! $lastevt = clone $evt; ! } ksort($ticks); ! unset($subevents[$evtnum]); ! continue; //this is event is done, so skip the rest } ! } ! MasterTrack::$midi->addMsg($id, $evt->getMsg()); ! unset($subevents[$evtnum]); } //unset($subevents); } ! //unset($events); ! } ! //unset($ticks); } ! //All notes off MIDI command ! //if ($id > 0) ! // MasterTrack::$midi->addMsg($id, $master->getTimestamp($lines, null) . " Par ch=$id c=123 v=0"); ! ! //MIDI Meta Event: Track End MasterTrack::$midi->addMsg($id, $master->getTimestamp($lines, null)+1 . " Meta TrkEnd"); } *************** *** 509,520 **** $time['mid_start'] = microtime(true); ! try { ! MasterTrack::$midi->saveMidFile($mid_file); } catch (Exception $e) { echo $e->getMessage() . "\n"; ! echo $e->getTraceAsString(); } --- 566,578 ---- $time['mid_start'] = microtime(true); ! try { ! MasterTrack::$midi->saveMidFile($mid_file); } catch (Exception $e) { echo $e->getMessage() . "\n"; ! echo $e->getTraceAsString(); ! $err = 1; } *************** *** 528,537 **** echo "\nTotal execution time: {$ms} seconds\n"; ! echo "---------------------------------------\n"; echo "$argv[0] is done!\n"; echo date("D M j G:i:s T Y\n"); echo "---------------------------------------\n"; ! ! ?> \ No newline at end of file --- 586,595 ---- echo "\nTotal execution time: {$ms} seconds\n"; ! echo "\n---------------------------------------\n"; echo "$argv[0] is done!\n"; echo date("D M j G:i:s T Y\n"); echo "---------------------------------------\n"; + exit($err); ! ?> |
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-11-06 22:21:33
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv605 Modified Files: xrns_delete_unused_tracks.php Log Message: Fixed spelling mistake in comments at top of file Index: xrns_delete_unused_tracks.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_delete_unused_tracks.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** xrns_delete_unused_tracks.php 6 Nov 2007 00:39:41 -0000 1.1 --- xrns_delete_unused_tracks.php 6 Nov 2007 22:21:32 -0000 1.2 *************** *** 4,11 **** Requires: PHP5 and Info-Zip (http://www.info-zip.org/) ! Usage: `php xrns_delet_unused_tracks.php /path/to/file1.xrns /path/to/file2.xrns file3.xrns` Will output merged file to current working directory ! Public Domain, last modified November 5th, 2007 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ --- 4,11 ---- Requires: PHP5 and Info-Zip (http://www.info-zip.org/) ! Usage: `php xrns_delete_unused_tracks.php /path/to/file1.xrns /path/to/file2.xrns file3.xrns` Will output merged file to current working directory ! Public Domain, last modified November 6th, 2007 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ |
|
From: Bantai <ba...@us...> - 2007-11-06 20:18:17
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv22577 Modified Files: xrns_ogg.cfg xrns_ogg.php Log Message: Descriptions of the quality levels in the dropdown list, hacked in with evil non-breaking space characters. Index: xrns_ogg.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_ogg.cfg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns_ogg.cfg 25 Aug 2007 15:20:24 -0000 1.2 --- xrns_ogg.cfg 6 Nov 2007 19:32:04 -0000 1.3 *************** *** 4,6 **** url=http://www.trotch.com/xrns_scripts description=XRNS Ogg is a script, which allows you to reduce the filesize of your XRNS or XRNI files using the ogg lossy compression encoder and save the result into a new file. ! gui=label(Select the file you want to compress:); file(def:xrns, xrni, zip); label(Specify the destination file:); output(def:xrns, xrni, zip); label(Select a quality level:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) --- 4,6 ---- url=http://www.trotch.com/xrns_scripts description=XRNS Ogg is a script, which allows you to reduce the filesize of your XRNS or XRNI files using the ogg lossy compression encoder and save the result into a new file. ! gui=label(Select the file you want to compress:); file(def:xrns, xrni, zip); label(Specify the destination file:);output(def:xrns, xrni, zip); label(Select a quality level:); options(0 (64kbps) Lo-Fi,1 (80kbps) Reasonable,2 (96kbps) ,def:3 (112kbps) Good,4 (128kbps) , 5 (160kbps) , 6 (192kbps) Hi-Fi, 7 (224kbps) , 8 (256kbps) Super, 9 (320kbps) , 10 (500kbps) Insane; \ No newline at end of file Index: xrns_ogg.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_ogg.php,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** xrns_ogg.php 7 Sep 2007 17:16:01 -0000 1.5 --- xrns_ogg.php 6 Nov 2007 19:32:04 -0000 1.6 *************** *** 104,112 **** } $song1 = $argv[1]; $song2 = $argv[2]; // Quality ! if(isset($argv[3]) && ctype_digit($argv[3]) && $argv[3] > 0 && $argv[3] <= 10) $quality = $argv[3]; else $quality = 3; // default --- 104,116 ---- } + // Input and Output files $song1 = $argv[1]; $song2 = $argv[2]; // Quality ! $qval = explode(chr(160),$argv[3], 2); ! $qval = $qval[0]; ! ! if(isset($qval) && ctype_digit($qval) && $qval >= 0 && $qval <= 10) $quality = $qval; else $quality = 3; // default *************** *** 117,120 **** --- 121,125 ---- echo "---------------------------------------\n"; echo "$argv[0] is working...\n"; + echo "Vorbis quality level [$quality]\n"; echo date("D M j G:i:s T Y\n"); echo "---------------------------------------\n"; |
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-11-06 00:39:41
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv2551 Added Files: xrns_delete_unused_tracks.cfg xrns_delete_unused_tracks.php Log Message: XRNS Delete Unused Tracks, initial check in --- NEW FILE: xrns_delete_unused_tracks.cfg --- [config] caption=XRNS Delete Unused Tracks author=Coded by XXXXXXXXXXXXX. url=http://www.trotch.com/ description=This script deletes tracks if there are no notes or commands, saves results to a new file. gui=label(Select the file you want to clean up:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip) --- NEW FILE: xrns_delete_unused_tracks.php --- <?php /* Requires: PHP5 and Info-Zip (http://www.info-zip.org/) Usage: `php xrns_delet_unused_tracks.php /path/to/file1.xrns /path/to/file2.xrns file3.xrns` Will output merged file to current working directory Public Domain, last modified November 5th, 2007 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ */ // ---------------------------------------------------------------------------- // Variables // ---------------------------------------------------------------------------- $tmp_dir = '/tmp'; // ---------------------------------------------------------------------------- // Requires // ---------------------------------------------------------------------------- require_once('xrns_functions.php'); // ---------------------------------------------------------------------------- // Check Variables // ---------------------------------------------------------------------------- // get filename component of path $argv[0] = basename($argv[0]); if (!is_dir($tmp_dir)) { $tmp_dir = get_temp_dir(); if (!$tmp_dir) die("Error: Please set \$tmp_dir in $argv[0] to an existing directory.\n"); } // ---------------------------------------------------------------------------- // Check User Input // ---------------------------------------------------------------------------- if ($argc != 3) { echo "Error: $argv[0] expects 2 parameters.\n"; echo "Usage: `php $argv[0] /path/to/file1.xrns file2.xrns`\n"; echo "$argv[0] will output resulting file (file2.xrns) to current working directory.\n"; die(); } if (!file_exists($argv[1])) die("Error: The file $argv[1] was not found.\n"); if (!(preg_match('/(\.zip$|\.xrns$)/i', $argv[2]))) { die("Error: The filename $argv[2] is invalid, use .xrns (or .zip)\n"); } $song1 = $argv[1]; $song2 = $argv[2]; // ---------------------------------------------------------------------------- // Unpack // ---------------------------------------------------------------------------- echo "---------------------------------------\n"; echo "$argv[0] is working...\n"; echo date("D M j G:i:s T Y\n"); echo "---------------------------------------\n"; echo "Using temporary directory: $tmp_dir\n"; // Create a unique directory $unzip1 = $tmp_dir . '/xrns_delete_unused_tracks_' . md5(uniqid(mt_rand(), true)) . '_Track01/'; // Unzip song1 $result = UnzipAllFiles($song1, $unzip1); if($result === FALSE) { echo "Error: There was a problem unzipping the first file.\n"; die(); } // Load XML $sx1 = simplexml_load_file($unzip1 . 'Song.xml'); // ---------------------------------------------------------------------------- // Search & Destroy // ---------------------------------------------------------------------------- // Find stuff $in_use = array(); foreach ($sx1->PatternPool->Patterns->Pattern as $p) { $i = 0; foreach ($p->Tracks->PatternTrack as $x) { if ($x->Lines) { $in_use[$i] = true; } ++$i; } } // Delete stuff $total = count($sx1->Tracks->SequencerTrack); foreach ($sx1->PatternPool->Patterns->Pattern as $p) { for($i = $total - 1; $i >= 0; --$i) { if (!isset($in_use[$i])) { unset($p->Tracks->PatternTrack[$i]); } } } for($i = $total - 1; $i >= 0; --$i) { if (!isset($in_use[$i])) { unset($sx1->Tracks->SequencerTrack[$i]); } } // Prevent Renoise from crashing ... $sx1->SelectedTrackIndex = 0; // ---------------------------------------------------------------------------- // Validate // ---------------------------------------------------------------------------- if (!xrns_xsd_check($sx1, (int)$sx1['doc_version'])) { echo "Error: XML is invalid!\n"; obliterate_directory($unzip1); die(); } // ---------------------------------------------------------------------------- // Replace Song.xml // ---------------------------------------------------------------------------- unlink($unzip1 . 'Song.xml') or die("Error: There was a problem deleting a file.\n"); file_put_contents($unzip1 . 'Song.xml', $sx1->asXML()); // Zip song $result = ZipAllFiles($song2, $unzip1); if($result === FALSE) { echo "Error: There was a problem zipping the final file.\n"; die(); } // ---------------------------------------------------------------------------- // Remove temp directories // ---------------------------------------------------------------------------- obliterate_directory($unzip1); echo "---------------------------------------\n"; echo "$argv[0] is done!\n"; echo date("D M j G:i:s T Y\n"); echo "---------------------------------------\n"; ?> |
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-11-06 00:38:39
|
Update of /cvsroot/xrns-php/xrns-php/scripts/schemas In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv2087 Modified Files: RenoiseSong4.xsd Added Files: FilterDevicePreset1.xsd RenoiseDeviceChain3.xsd RenoiseDeviceChain5.xsd RenoiseInstrument2.xsd RenoiseInstrument5.xsd RenoiseSong9.xsd Log Message: New schemas --- NEW FILE: FilterDevicePreset1.xsd --- <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:element name="FilterDevicePreset"> <xs:complexType> <xs:all> <xs:element name="DeviceSlot" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0" /> <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0" /> <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0" /> <xs:element name="RunTimePresetA" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="DeviceSlot" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0" /> <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0" /> [...2204 lines suppressed...] </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="type" use="required" type="xs:string" fixed="AudioPluginDevice" /> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="doc_version" use="required" type="xs:int" fixed="1" /> </xs:complexType> </xs:element> </xs:schema> --- NEW FILE: RenoiseInstrument5.xsd --- <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:element name="RenoiseInstrument"> <xs:complexType> <xs:all> <xs:element name="Name" type="xs:string" minOccurs="0"/> <xs:element name="SplitMap" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Split" type="xs:int" default="0" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Samples" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Sample" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Name" type="xs:string" minOccurs="0"/> <xs:element name="FileName" type="xs:string" minOccurs="0"/> <xs:element name="FileModificationDate" type="xs:date" minOccurs="0"/> <xs:element name="FileModificationDayTime" type="xs:time" minOccurs="0"/> <xs:element name="Volume" type="xs:float" default="1.0" minOccurs="0"/> <xs:element name="Panning" type="xs:float" default="0.5" minOccurs="0"/> <xs:element name="Finetune" type="xs:byte" default="0" minOccurs="0"/> <xs:element name="BaseNote" type="xs:byte" default="48" minOccurs="0"/> <xs:element name="BeatSyncIsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="BeatSyncLines" type="xs:short" default="16" minOccurs="0"/> <xs:element name="NewNoteAction" default="Cut" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Cut"/> <xs:enumeration value="NoteOff"/> <xs:enumeration value="None"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="InterpolationMode" default="Cubic" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="None"/> <xs:enumeration value="Linear"/> <xs:enumeration value="Cubic"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="LoopMode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Forward"/> <xs:enumeration value="Backward"/> <xs:enumeration value="PingPong"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="LoopStart" type="xs:unsignedInt" default="0" minOccurs="0"/> <xs:element name="LoopEnd" type="xs:unsignedInt" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Envelopes" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Volume" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="InterpolationMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SustainIsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="SustainPos" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopStart" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopEnd" type="xs:int" default="71" minOccurs="0"/> <xs:element name="LoopMode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Forward"/> <xs:enumeration value="Backward"/> <xs:enumeration value="PingPong"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Decay" type="xs:int" default="128" minOccurs="0"/> <xs:element name="Nodes" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="PlayMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Points"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Length" type="xs:int" default="72" minOccurs="0"/> <xs:element name="ValueQuantum" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Points" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Point" type="xs:string" default="0,0.99000000953674316" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Lfo1" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Mode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Sin"/> <xs:enumeration value="Saw"/> <xs:enumeration value="Pulse"/> <xs:enumeration value="Random"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Frequency" type="xs:int" default="3" minOccurs="0"/> <xs:element name="Amplitude" type="xs:int" default="27" minOccurs="0"/> <xs:element name="Dephase" type="xs:int" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="Lfo2" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Mode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Sin"/> <xs:enumeration value="Saw"/> <xs:enumeration value="Pulse"/> <xs:enumeration value="Random"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Frequency" type="xs:int" default="3" minOccurs="0"/> <xs:element name="Amplitude" type="xs:int" default="27" minOccurs="0"/> <xs:element name="Dephase" type="xs:int" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Pan" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="InterpolationMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SustainIsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="SustainPos" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopStart" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopEnd" type="xs:int" default="71" minOccurs="0"/> <xs:element name="LoopMode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Forward"/> <xs:enumeration value="Backward"/> <xs:enumeration value="PingPong"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Decay" type="xs:int" default="128" minOccurs="0"/> <xs:element name="Nodes" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="PlayMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Points"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Length" type="xs:int" default="72" minOccurs="0"/> <xs:element name="ValueQuantum" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Points" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Point" type="xs:string" default="0,0.5" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Lfo1" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Mode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Sin"/> <xs:enumeration value="Saw"/> <xs:enumeration value="Pulse"/> <xs:enumeration value="Random"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Frequency" type="xs:int" default="3" minOccurs="0"/> <xs:element name="Amplitude" type="xs:int" default="27" minOccurs="0"/> <xs:element name="Dephase" type="xs:int" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="Lfo2" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Mode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Sin"/> <xs:enumeration value="Saw"/> <xs:enumeration value="Pulse"/> <xs:enumeration value="Random"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Frequency" type="xs:int" default="3" minOccurs="0"/> <xs:element name="Amplitude" type="xs:int" default="27" minOccurs="0"/> <xs:element name="Dephase" type="xs:int" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Pitch" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="InterpolationMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SustainIsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="SustainPos" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopStart" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopEnd" type="xs:int" default="71" minOccurs="0"/> <xs:element name="LoopMode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Forward"/> <xs:enumeration value="Backward"/> <xs:enumeration value="PingPong"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Decay" type="xs:int" default="128" minOccurs="0"/> <xs:element name="Nodes" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="PlayMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Points"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Length" type="xs:int" default="72" minOccurs="0"/> <xs:element name="ValueQuantum" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Points" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Point" type="xs:string" default="0,0.69999998807907104" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Lfo1" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Mode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Sin"/> <xs:enumeration value="Saw"/> <xs:enumeration value="Pulse"/> <xs:enumeration value="Random"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Frequency" type="xs:int" default="3" minOccurs="0"/> <xs:element name="Amplitude" type="xs:int" default="27" minOccurs="0"/> <xs:element name="Dephase" type="xs:int" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="Lfo2" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Mode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Sin"/> <xs:enumeration value="Saw"/> <xs:enumeration value="Pulse"/> <xs:enumeration value="Random"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Frequency" type="xs:int" default="3" minOccurs="0"/> <xs:element name="Amplitude" type="xs:int" default="27" minOccurs="0"/> <xs:element name="Dephase" type="xs:int" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="FilterType" type="xs:int" default="3" minOccurs="0"/> <xs:element name="Cutoff" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="InterpolationMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SustainIsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="SustainPos" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopStart" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopEnd" type="xs:int" default="71" minOccurs="0"/> <xs:element name="LoopMode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Forward"/> <xs:enumeration value="Backward"/> <xs:enumeration value="PingPong"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Decay" type="xs:int" default="128" minOccurs="0"/> <xs:element name="Nodes" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="PlayMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Points"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Length" type="xs:int" default="72" minOccurs="0"/> <xs:element name="ValueQuantum" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Points" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Point" type="xs:string" default="0,0.5" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Lfo" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Mode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Sin"/> <xs:enumeration value="Saw"/> <xs:enumeration value="Pulse"/> <xs:enumeration value="Random"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Frequency" type="xs:int" default="3" minOccurs="0"/> <xs:element name="Amplitude" type="xs:int" default="27" minOccurs="0"/> <xs:element name="Dephase" type="xs:int" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="AutoAmp" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="Attack" type="xs:int" default="100" minOccurs="0"/> <xs:element name="Release" type="xs:int" default="70" minOccurs="0"/> <xs:element name="Amount" type="xs:int" default="60" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Resonance" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="InterpolationMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SustainIsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="SustainPos" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopStart" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopEnd" type="xs:int" default="71" minOccurs="0"/> <xs:element name="LoopMode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Forward"/> <xs:enumeration value="Backward"/> <xs:enumeration value="PingPong"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Decay" type="xs:int" default="128" minOccurs="0"/> <xs:element name="Nodes" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="PlayMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Points"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Length" type="xs:int" default="72" minOccurs="0"/> <xs:element name="ValueQuantum" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Points" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Point" type="xs:string" default="0,0.5" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Lfo" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Mode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Sin"/> <xs:enumeration value="Saw"/> <xs:enumeration value="Pulse"/> <xs:enumeration value="Random"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Frequency" type="xs:int" default="3" minOccurs="0"/> <xs:element name="Amplitude" type="xs:int" default="27" minOccurs="0"/> <xs:element name="Dephase" type="xs:int" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="AutoAmp" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="Attack" type="xs:int" default="100" minOccurs="0"/> <xs:element name="Release" type="xs:int" default="70" minOccurs="0"/> <xs:element name="Amount" type="xs:int" default="60" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="MidiProperties" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="Channel" type="xs:byte" default="1" minOccurs="0"/> <xs:element name="DeviceName" type="xs:string" minOccurs="0"/> <xs:element name="Delay" type="xs:int" default="0" minOccurs="0"/> <xs:element name="Program" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="Bank" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="BaseNote" type="xs:int" default="48" minOccurs="0"/> <xs:element name="Length" type="xs:int" default="8000" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="PluginProperties" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Channel" type="xs:byte" default="1" minOccurs="0"/> <xs:element name="BaseNote" type="xs:int" default="48" minOccurs="0"/> <xs:element name="Volume" type="xs:float" default="1.0" minOccurs="0"/> <xs:element name="AutoAssignTrack" type="xs:boolean" default="true" minOccurs="0"/> <xs:element name="AutoAssignedTrack" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="AutoSuspend" type="xs:boolean" default="true" minOccurs="0"/> <xs:element name="AliasInstrumentIndex" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="PluginDevice" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/> <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/> <xs:element name="RunTimePresetA" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="DeviceSlot" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="ActiveProgram" type="xs:int" default="0" minOccurs="0"/> <xs:element name="PluginName" type="xs:string" minOccurs="0"/> <xs:element name="PlugUniqueId" type="xs:int" default="0" minOccurs="0"/> <xs:element name="ParameterChunkType" default="Chunk" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Chunk"/> <xs:enumeration value="ParameterBag"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ParameterChunk" type="xs:string"/> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Value" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Visualization" default="Device only" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Dont Show"/> <xs:enumeration value="Device only"/> <xs:enumeration value="Mixer and Device"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="MidiMappings" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="MidiMapping" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Channel" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="CCNumber" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="Mode" type="xs:int" default="0" minOccurs="0"/> <xs:element name="Min" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Max" type="xs:float" default="1.0" minOccurs="0"/> <xs:element name="Inverse" type="xs:boolean" default="false" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="type" use="required" type="xs:string" fixed="AudioPluginDevice"/> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="type" use="required" type="xs:string" fixed="FilterDevicePreset"/> </xs:complexType> </xs:element> <xs:element name="RunTimePresetB" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="DeviceSlot" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="ActiveProgram" type="xs:int" default="0" minOccurs="0"/> <xs:element name="PluginName" type="xs:string" minOccurs="0"/> <xs:element name="PlugUniqueId" type="xs:int" default="0" minOccurs="0"/> <xs:element name="ParameterChunkType" default="Chunk" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Chunk"/> <xs:enumeration value="ParameterBag"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ParameterChunk" type="xs:string"/> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Value" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Visualization" default="Device only" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Dont Show"/> <xs:enumeration value="Device only"/> <xs:enumeration value="Mixer and Device"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="MidiMappings" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="MidiMapping" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Channel" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="CCNumber" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="Mode" type="xs:int" default="0" minOccurs="0"/> <xs:element name="Min" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Max" type="xs:float" default="1.0" minOccurs="0"/> <xs:element name="Inverse" type="xs:boolean" default="false" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="type" use="required" type="xs:string" fixed="AudioPluginDevice"/> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="type" use="required" type="xs:string" fixed="FilterDevicePreset"/> </xs:complexType> </xs:element> <xs:element name="ActiveProgram" type="xs:int" default="0" minOccurs="0"/> <xs:element name="PluginName" type="xs:string" minOccurs="0"/> <xs:element name="PlugUniqueId" type="xs:int" default="0" minOccurs="0"/> <xs:element name="ParameterChunkType" default="Chunk" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Chunk"/> <xs:enumeration value="ParameterBag"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ParameterChunk" type="xs:string"/> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Value" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Visualization" default="Device only" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Dont Show"/> <xs:enumeration value="Device only"/> <xs:enumeration value="Mixer and Device"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="MidiMappings" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="MidiMapping" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Channel" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="CCNumber" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="Mode" type="xs:int" default="0" minOccurs="0"/> <xs:element name="Min" type="xs:float" default="0.0" minOccurs="0"/> <xs:element name="Max" type="xs:float" default="1.0" minOccurs="0"/> <xs:element name="Inverse" type="xs:boolean" default="false" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="type" use="required" type="xs:string" fixed="AudioPluginDevice"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="doc_version" use="required" type="xs:int" fixed="5"/> </xs:complexType> </xs:element> </xs:schema> --- NEW FILE: RenoiseDeviceChain3.xsd --- <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:element name="RenoiseDeviceChain"> <xs:complexType> <xs:all> <xs:element name="Devices" minOccurs="0"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="ShaperDevice" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/> <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="Threshold" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Value" type="xs:float" default="8384" minOccurs="0"/> <xs:element name="Visualization" default="Device only" minOccurs="0"> <xs:simpleType> [...4588 lines suppressed...] </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="type" use="required" type="xs:string" fixed="VstDevice"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="doc_version" use="required" type="xs:int" fixed="3"/> </xs:complexType> </xs:element> </xs:schema> --- NEW FILE: RenoiseSong9.xsd --- <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:element name="RenoiseSong"> <xs:complexType> <xs:all> <xs:element name="GlobalSongData" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Octave" type="xs:int" default="4" minOccurs="0"/> <xs:element name="EditStep" type="xs:int" default="1" minOccurs="0"/> <xs:element name="LoopPlay" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="LoopCoeff" type="xs:int" default="4" minOccurs="0"/> <xs:element name="LoopStart" type="xs:int" default="0" minOccurs="0"/> <xs:element name="BeatsPerMin" type="xs:int" default="80" minOccurs="0"/> <xs:element name="TicksPerLine" type="xs:int" default="6" minOccurs="0"/> <xs:element name="ShuffleIsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="ShuffleAmounts" minOccurs="0"> <xs:complexType> <xs:sequence> [...33596 lines suppressed...] </xs:element> <xs:element name="LoopSelection" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="CursorPos" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="RangePos" type="xs:int" default="-1" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="PatternNameWidth" type="xs:int" default="0" minOccurs="0"/> <xs:element name="HighliteStep" type="xs:int" default="0" minOccurs="0"/> <xs:element name="HighliteOffset" type="xs:int" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="doc_version" use="required" type="xs:int" fixed="9"/> </xs:complexType> </xs:element> </xs:schema> Index: RenoiseSong4.xsd =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/schemas/RenoiseSong4.xsd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RenoiseSong4.xsd 23 Aug 2007 17:33:24 -0000 1.1 --- RenoiseSong4.xsd 6 Nov 2007 00:38:32 -0000 1.2 *************** *** 1,30546 **** <?xml version="1.0" encoding="UTF-8"?> - <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> ! ! <xs:element name="RenoiseSong"> ! ! <xs:complexType> ! ! <xs:all> ! [...45790 lines suppressed...] ! </xs:all> ! </xs:complexType> ! </xs:element> ! <xs:element name="LoopSelection" minOccurs="0"> ! <xs:complexType> ! <xs:all> ! <xs:element name="CursorPos" type="xs:int" default="-1" minOccurs="0"/> ! <xs:element name="RangePos" type="xs:int" default="-1" minOccurs="0"/> ! </xs:all> ! </xs:complexType> ! </xs:element> ! <xs:element name="PatternNameWidth" type="xs:int" default="0" minOccurs="0"/> ! </xs:all> ! </xs:complexType> ! </xs:element> ! </xs:all> ! <xs:attribute name="doc_version" use="required" type="xs:int" fixed="4"/> ! </xs:complexType> ! </xs:element> </xs:schema> --- NEW FILE: RenoiseDeviceChain5.xsd --- <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:element name="RenoiseDeviceChain"> <xs:complexType> <xs:all> <xs:element name="Devices" minOccurs="0"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="Filter1Device" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/> <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/> <xs:element name="RunTimePresetA" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="DeviceSlot" minOccurs="0"> <xs:complexType> [...10629 lines suppressed...] </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="type" use="required" type="xs:string" fixed="AudioPluginDevice"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="doc_version" use="required" type="xs:int" fixed="5"/> </xs:complexType> </xs:element> </xs:schema> --- NEW FILE: RenoiseInstrument2.xsd --- <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:element name="RenoiseInstrument"> <xs:complexType> <xs:all> <xs:element name="Name" type="xs:string" minOccurs="0"/> <xs:element name="SplitMap" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Split" type="xs:int" default="0" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="NewNoteAction" default="Cut" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Cut"/> <xs:enumeration value="NoteOff"/> <xs:enumeration value="None"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Samples" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Sample" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Name" type="xs:string" minOccurs="0"/> <xs:element name="FileName" type="xs:string" minOccurs="0"/> <xs:element name="FileModificationDate" type="xs:date" minOccurs="0"/> <xs:element name="FileModificationDayTime" type="xs:time" minOccurs="0"/> <xs:element name="Volume" type="xs:float" default="1.0" minOccurs="0"/> <xs:element name="Panning" type="xs:float" default="0.5" minOccurs="0"/> <xs:element name="Finetune" type="xs:byte" default="0" minOccurs="0"/> <xs:element name="BaseNote" type="xs:byte" default="48" minOccurs="0"/> <xs:element name="BeatSyncIsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="BeatSyncLines" type="xs:short" default="16" minOccurs="0"/> <xs:element name="LoopMode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Forward"/> <xs:enumeration value="Backward"/> <xs:enumeration value="PingPong"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="LoopStart" type="xs:unsignedInt" default="0" minOccurs="0"/> <xs:element name="LoopEnd" type="xs:unsignedInt" default="0" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Envelopes" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Volume" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="IsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="InterpolationMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SustainIsActive" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="SustainPos" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopStart" type="xs:int" default="0" minOccurs="0"/> <xs:element name="LoopEnd" type="xs:int" default="71" minOccurs="0"/> <xs:element name="LoopMode" default="Off" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Off"/> <xs:enumeration value="Forward"/> <xs:enumeration value="Backward"/> <xs:enumeration value="PingPong"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Decay" type="xs:int" default="128" minOccurs="0"/> <xs:element name="Nodes" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="PlayMode" default="Curve" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Linear"/> <xs:enumeration value="Points"/> <xs:enumeration value="Curve"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Length" type="xs:int" default="72" minOccurs="0"/> <xs:element name="Points" minOccurs="0"> <xs:complexType> <xs:sequence> ... [truncated message content] |
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-09-23 22:02:17
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv10631 Modified Files: xrns_randomizer.cfg xrns_randomizer.php Log Message: fixed spelling mistake, pentatonic_neutral Index: xrns_randomizer.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_randomizer.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** xrns_randomizer.php 23 Sep 2007 19:49:53 -0000 1.6 --- xrns_randomizer.php 23 Sep 2007 22:02:16 -0000 1.7 *************** *** 30,34 **** 'pentatonic_major', 'pentatonic_minor', ! 'pentatonic_netural', ); --- 30,34 ---- 'pentatonic_major', 'pentatonic_minor', ! 'pentatonic_neutral', ); *************** *** 62,66 **** } else if ($mode == 'melodic_minor') { ! // Melodic minor $notes = array('C-', 'D-', 'D#', 'F-', 'G-', 'A-', 'B-'); } --- 62,66 ---- } else if ($mode == 'melodic_minor') { ! // Melodic Minor $notes = array('C-', 'D-', 'D#', 'F-', 'G-', 'A-', 'B-'); } *************** *** 77,82 **** $notes = array('C-', 'D#', 'F-', 'G-', 'A#'); } ! else if ($mode == 'pentatonic_netural') { ! // Pentatonic Minor $notes = array('C-', 'D-', 'F-', 'G-', 'A#'); } --- 77,82 ---- $notes = array('C-', 'D#', 'F-', 'G-', 'A#'); } ! else if ($mode == 'pentatonic_neutral') { ! // Pentatonic Neutral $notes = array('C-', 'D-', 'F-', 'G-', 'A#'); } Index: xrns_randomizer.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_randomizer.cfg,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** xrns_randomizer.cfg 23 Sep 2007 19:49:53 -0000 1.3 --- xrns_randomizer.cfg 23 Sep 2007 22:02:16 -0000 1.4 *************** *** 4,6 **** url=http://www.trotch.com/xrns_scripts description=XRNS Randomizer is a script, which allows you to randomize a XRNS file using one of two different randomization modes and save the result into a new file. ! gui=label(Select the file you want to randomize:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Select a randomization mode:); options(def:chaos, shuffle, harmonic_minor, locrian, lydian, melodic_minor, pentatonic_blues, pentatonic_major, pentatonic_minor, pentatonic_netural); label(Keep octave?:); options(def:0, 1); --- 4,6 ---- url=http://www.trotch.com/xrns_scripts description=XRNS Randomizer is a script, which allows you to randomize a XRNS file using one of two different randomization modes and save the result into a new file. ! gui=label(Select the file you want to randomize:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Select a randomization mode:); options(def:chaos, shuffle, harmonic_minor, locrian, lydian, melodic_minor, pentatonic_blues, pentatonic_major, pentatonic_minor, pentatonic_neutral); label(Keep octave?:); options(def:0, 1); |
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-09-23 19:49:56
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19078 Modified Files: xrns_randomizer.cfg xrns_randomizer.php Log Message: New randomize modes based on scales, option to keep note octave. Index: xrns_randomizer.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_randomizer.php,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** xrns_randomizer.php 2 Sep 2007 15:50:36 -0000 1.5 --- xrns_randomizer.php 23 Sep 2007 19:49:53 -0000 1.6 *************** *** 4,11 **** Requires: PHP5 and Info-Zip (http://www.info-zip.org/) ! Usage: `php xrns_randomizer.php /path/to/file1.xrns file2.xrns [chaos|shuffle]` Will output randomized file to current working directory ! Public Domain, last modified August 25th, 2007 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ --- 4,11 ---- Requires: PHP5 and Info-Zip (http://www.info-zip.org/) ! Usage: `php xrns_randomizer.php /path/to/file1.xrns file2.xrns [mode] [keep_octave]` Will output randomized file to current working directory ! Public Domain, last modified September 23rd, 2007 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ *************** *** 20,23 **** --- 20,36 ---- // ---------------------------------------------------------------------------- + $valid_modes = array( + 'chaos', + 'shuffle', + 'harmonic_minor', + 'locrian', + 'lydian', + 'melodic_minor', + 'pentatonic_blues', + 'pentatonic_major', + 'pentatonic_minor', + 'pentatonic_netural', + ); + $tmp_dir = '/tmp'; *************** *** 32,46 **** // ---------------------------------------------------------------------------- ! function randomize_note() { ! $letter = 'ABCDEFG'; ! $symbol = '-#'; ! $number = '0123456789'; ! $random = ''; ! $random .= substr($letter, mt_rand(0, strlen($letter)-1), 1); ! if ($random == 'B' || $random == 'E') $random .= '-'; ! else $random .= substr($symbol, mt_rand(0, strlen($symbol)-1), 1); ! $random .= substr($number, mt_rand(0, strlen($number)-1), 1); return $random; --- 45,96 ---- // ---------------------------------------------------------------------------- ! function randomize_note($mode = null, $note = null) { ! // Scales ! $notes = array(); ! if ($mode == 'harmonic_minor') { ! // Harmonic Minor ! $notes = array('C-', 'D-', 'D#', 'F-', 'G-', 'G#'); ! } ! else if ($mode == 'locrian') { ! // Locrian ! $notes = array('C-', 'C#', 'D#', 'F-', 'F#', 'G#', 'A#', 'C-'); ! } ! else if ($mode == 'lydian') { ! // Lydian ! $notes = array('C-', 'D-', 'E-', 'F#', 'G-', 'A-', 'B-'); ! } ! else if ($mode == 'melodic_minor') { ! // Melodic minor ! $notes = array('C-', 'D-', 'D#', 'F-', 'G-', 'A-', 'B-'); ! } ! else if ($mode == 'pentatonic_blues') { ! // Pentatonic Blues ! $notes = array('C-', 'D#', 'F-', 'F#', 'G-'); ! } ! else if ($mode == 'pentatonic_major') { ! // Pentatonic Major ! $notes = array('C-', 'D-', 'F-', 'G-', 'A-'); ! } ! else if ($mode == 'pentatonic_minor') { ! // Pentatonic Minor ! $notes = array('C-', 'D#', 'F-', 'G-', 'A#'); ! } ! else if ($mode == 'pentatonic_netural') { ! // Pentatonic Minor ! $notes = array('C-', 'D-', 'F-', 'G-', 'A#'); ! } ! else { ! // Chaos, all notes ! $notes = array('C-', 'C#', 'D-', 'D#', 'E-', 'F-', 'F#', 'G-', 'G#', 'A-', 'A#', 'B-'); ! } ! // Octaves ! $number = null; ! if ($note) $number = substr($note, -1, 1); // Preserve octave ! if (!ctype_digit($number)) $number = rand(0, 9); // Pick a random octave ! ! $key = array_rand($notes); ! $random = $notes[$key] . $number; return $random; *************** *** 66,70 **** if ($argc < 3) { echo "Error: $argv[0] expects at least 2 parameters.\n"; ! echo "Usage: `php $argv[0] /path/to/file1.xrns file2.xrns [chaos|shuffle]`\n"; echo "$argv[0] will output randomized file (file2.xrns) to current working directory.\n"; die(); --- 116,121 ---- if ($argc < 3) { echo "Error: $argv[0] expects at least 2 parameters.\n"; ! echo "Usage: `php $argv[0] /path/to/file1.xrns file2.xrns [mode] [keep_octave]`\n"; ! echo "Valid modes are: \n * ", implode("\n * ", $valid_modes) . "\n"; echo "$argv[0] will output randomized file (file2.xrns) to current working directory.\n"; die(); *************** *** 77,85 **** } $song1 = $argv[1]; $song2 = $argv[2]; $mode = 'chaos'; // Default ! if (isset($argv[3]) && strtolower($argv[3]) == 'shuffle') $mode = 'shuffle'; // ---------------------------------------------------------------------------- --- 128,144 ---- } + // File names $song1 = $argv[1]; $song2 = $argv[2]; + // Mode $mode = 'chaos'; // Default ! if (isset($argv[3])) { ! if (in_array(strtolower($argv[3]), $valid_modes)) $mode = strtolower($argv[3]); ! } ! ! // Keep Octave ! $keep_octave = (isset($argv[4]) && $argv[4] != 0) ? true : false; ! // ---------------------------------------------------------------------------- *************** *** 110,116 **** // ---------------------------------------------------------------------------- ! switch($mode) { ! ! case ('shuffle'): // Mode: shuffle --- 169,173 ---- // ---------------------------------------------------------------------------- ! if ($mode == 'shuffle') { // Mode: shuffle *************** *** 149,161 **** } ! break; ! ! ! default: - // Mode: chaos - // Randomize every note in the entire song ! echo "Mode: chaos \n"; foreach ($sx1->PatternPool->Patterns->Pattern as $p) { foreach ($p->Tracks->PatternTrack as $x) { --- 206,216 ---- } ! } ! else { ! echo "Mode: $mode"; ! if ($keep_octave) echo ", will preserve octave"; ! echo "\n"; foreach ($sx1->PatternPool->Patterns->Pattern as $p) { foreach ($p->Tracks->PatternTrack as $x) { *************** *** 165,169 **** foreach ($y->NoteColumns->NoteColumn as $z) { if ($z->Note && $z->Note != 'OFF') { ! $z->Note = randomize_note(); } } --- 220,227 ---- foreach ($y->NoteColumns->NoteColumn as $z) { if ($z->Note && $z->Note != 'OFF') { ! ! if ($keep_octave) $z->Note = randomize_note($mode, $z->Note); ! else $z->Note = randomize_note($mode); ! } } *************** *** 174,177 **** --- 232,236 ---- } + } Index: xrns_randomizer.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_randomizer.cfg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns_randomizer.cfg 25 Aug 2007 15:20:24 -0000 1.2 --- xrns_randomizer.cfg 23 Sep 2007 19:49:53 -0000 1.3 *************** *** 1,6 **** [config] ! caption=XRNS Randomizer 1.0 author=Coded by XXXXXXXXXXXXX. url=http://www.trotch.com/xrns_scripts description=XRNS Randomizer is a script, which allows you to randomize a XRNS file using one of two different randomization modes and save the result into a new file. ! gui=label(Select the file you want to randomize:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Select a randomization mode:); options(def:chaos, shuffle) --- 1,6 ---- [config] ! caption=XRNS Randomizer author=Coded by XXXXXXXXXXXXX. url=http://www.trotch.com/xrns_scripts description=XRNS Randomizer is a script, which allows you to randomize a XRNS file using one of two different randomization modes and save the result into a new file. ! gui=label(Select the file you want to randomize:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Select a randomization mode:); options(def:chaos, shuffle, harmonic_minor, locrian, lydian, melodic_minor, pentatonic_blues, pentatonic_major, pentatonic_minor, pentatonic_netural); label(Keep octave?:); options(def:0, 1); |
|
From: Bantai <ba...@us...> - 2007-09-12 07:17:46
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv28749 Modified Files: xrns2midi.html Log Message: Current implemented commands Index: xrns2midi.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/xrns2midi.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** xrns2midi.html 6 Sep 2007 21:57:53 -0000 1.6 --- xrns2midi.html 12 Sep 2007 07:17:19 -0000 1.7 *************** *** 19,23 **** </h4> <p> ! Last update: 6 Sep 2007<br /> Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a><br /> Latest version: v0.20<br /> --- 19,23 ---- </h4> <p> ! Last update: 12 Sep 2007<br /> Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a><br /> Latest version: v0.20<br /> *************** *** 86,89 **** --- 86,116 ---- On the other hand, there is also room for plenty improvement, feature-wise and stability-wise. The XRNS-PHP SourceForge Tracker lists <a href="http://sourceforge.net/tracker/?group_id=203983&atid=987786">Feature Requests</a> and <a href="http://sourceforge.net/tracker/?group_id=203983&atid=987783">Bug Reports</a>. </p> + <h3> + Implemented effect commands + </h3> + <h4> + Pattern Effect Commands + </h4> + <ul> + <li>F0XX: Set BPM</li> + <li>F1XX: Set Speed (minus F100: Stop Song)</li> + </ul> + <h4> + Volume Column Effects + </h4> + <ul> + <li>00 - 7F: Set volume of note</li> + <li>Dx: Delay note for x ticks</li> + <li>Ex: Retrig note spaced by x ticks</li> + <li>Fx: Cut note after x ticks</li> + </ul> + <h4> + Panning Column Effects + </h4> + <ul> + <li>Dx: Delay note for x ticks</li> + <li>Ex: Retrig note spaced by x ticks</li> + <li>Fx: Cut note after x ticks</li> + </ul> <h2> Changelog |
|
From: Bantai <ba...@us...> - 2007-09-09 11:24:51
|
Update of /cvsroot/xrns-php/xrns-php/scripts/midi_class_v16/classes In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv12764 Modified Files: midi.class.php Log Message: Added newlines in exception message Index: midi.class.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/midi_class_v16/classes/midi.class.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** midi.class.php 26 Aug 2007 12:05:40 -0000 1.2 --- midi.class.php 6 Sep 2007 21:25:59 -0000 1.3 *************** *** 540,544 **** $t = $this->_getTime($line); $dt = $t - $time; ! if ($dt < 0) throw new Exception('Incorrectly placed event found!'); $time = $t; $midStr .= _writeVarLen($dt); --- 540,544 ---- $t = $this->_getTime($line); $dt = $t - $time; ! if ($dt < 0) throw new Exception("\nIncorrectly placed event found!\nLine: " . $line . "\n"); $time = $t; $midStr .= _writeVarLen($dt); |
|
From: Bantai <ba...@us...> - 2007-09-09 11:14:23
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11440 Modified Files: xrns2midi.cfg xrns2midi.php xrns2midi_classes.php Log Message: XRNS2MIDI v0.20 Index: xrns2midi.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns2midi.cfg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns2midi.cfg 25 Aug 2007 22:37:43 -0000 1.2 --- xrns2midi.cfg 6 Sep 2007 21:22:57 -0000 1.3 *************** *** 1,4 **** [config] ! caption=XRNS2MIDI Alpha 0.19 author=Coded by Marvin Tjon (Bantai) url=http://xrns-php.sourceforge.net/xrns2midi.html --- 1,4 ---- [config] ! caption=XRNS2MIDI Alpha 0.20 author=Coded by Marvin Tjon (Bantai) url=http://xrns-php.sourceforge.net/xrns2midi.html Index: xrns2midi_classes.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns2midi_classes.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns2midi_classes.php 25 Aug 2007 22:37:44 -0000 1.2 --- xrns2midi_classes.php 6 Sep 2007 21:22:57 -0000 1.3 *************** *** 1,7 **** <?php ! // XRNS2MID version 0.19 by Marvin Tjon (Bantai) // ! // Last saved on 26 Aug 2007 // Based on XRNS2MID version 0.03 by Dac Chartrand // --- 1,7 ---- <?php ! // XRNS2MID version 0.20 by Marvin Tjon (Bantai) // ! // Last saved on 6 Sep 2007 // Based on XRNS2MID version 0.03 by Dac Chartrand // *************** *** 220,224 **** * @return Array[MidiEvents] */ ! function getEvents() { $this->sortEvents(); --- 220,224 ---- * @return Array[MidiEvents] */ ! function &getEvents() { $this->sortEvents(); *************** *** 243,247 **** $evt->col = $col; $this->events[$pos][$tick][$col][] = $evt; ! if ($evt->type == 1) //note-on { MasterTrack::setLastNote($col, $evt); --- 243,247 ---- $evt->col = $col; $this->events[$pos][$tick][$col][] = $evt; ! if ($evt->evttype == 1 || $evt->evttype == 2) //note-on && note-off { MasterTrack::setLastNote($col, $evt); *************** *** 368,371 **** --- 368,372 ---- public $division = 96; // MIDI clicks per quarter note public $lpb = 4; //initial lpb + public $timestamp = 0; //initial timestamp //global pattern effects *************** *** 391,395 **** self::$midi->open(); self::$midi->newTrack(); ! self::$midi->setTimebase(96); $this->notes = self::$midi->getNoteList(); } --- 392,396 ---- self::$midi->open(); self::$midi->newTrack(); ! self::$midi->setTimebase($this->division); $this->notes = self::$midi->getNoteList(); } *************** *** 492,496 **** */ function setRealBpm($pos, $realbpm) ! { $this->addEventArr($pos,0, 0, 9, array('num' => (int)floor(60000000 / $realbpm))); } --- 493,498 ---- */ function setRealBpm($pos, $realbpm) ! { ! $this->globals['realbpm'][$pos] = $realbpm; $this->addEventArr($pos,0, 0, 9, array('num' => (int)floor(60000000 / $realbpm))); } *************** *** 546,550 **** } else if ($pos > 0) { ! $haystack = array_reverse($this->globals[$param], true); $prev_key = 0; foreach ($haystack as $key => $val) --- 548,554 ---- } else if ($pos > 0) { ! //$haystack = array_reverse($this->globals[$param], true); ! krsort($this->globals[$param]); ! $haystack = $this->globals[$param]; $prev_key = 0; foreach ($haystack as $key => $val) *************** *** 590,601 **** function getNextGlobal($pos, $param) { if ($pos < 0) $pos = 0; $arr = array_keys($this->globals[$param]); $a = max($arr); for ($i=$pos;$i<=$a;$i++) if (isset($this->globals[$param][$i])) ! return new Globals($i, $this->globals[$param][$i]); ! return false; } --- 594,621 ---- function getNextGlobal($pos, $param) { + + if ($pos < 0) $pos = 0; + if (isset($this->globals[$param][$pos])) + { + return new Globals(floor($pos), $this->globals[$param][$pos]); + } + ksort($this->globals[$param]); + foreach ($this->globals[$param] as $key => $val) + if ($key >= $pos) + return new Globals($pos, $val); + + return false; + + /* if ($pos < 0) $pos = 0; + $arr = array_keys($this->globals[$param]); $a = max($arr); for ($i=$pos;$i<=$a;$i++) if (isset($this->globals[$param][$i])) ! return new Globals($i, $this->globals[$param][$i]); ! return false; ! */ } *************** *** 638,646 **** //only write if changed ! if ($pos == 0 || $this->getPreviousGlobal($pos-1, 'bpm')->val != $realbpm) $this->setRealBpm($pos, $realbpm); ! $this->globals['timestamp'][$pos] = $this->getTime($pos); } --- 658,666 ---- //only write if changed ! if ($pos == 0 || $this->getPreviousGlobal($pos-1, 'realbpm')->val != $realbpm) $this->setRealBpm($pos, $realbpm); ! $this->globals['timestamp'][$pos] = $this->getTimeStamp($pos, 0); } *************** *** 671,686 **** * @return int */ function getTime($pos) { ! if ($prevTimeStamp = $this->getPreviousGlobal($pos-1, 'timestamp')) { $prevLpb = $this->getPreviousGlobal($pos-1, 'lpb'); ! $resolution = ($this->division / $prevLpb->val); $time = $prevTimeStamp->val + $resolution * ($pos - $prevTimeStamp->pos); } ! else { ! $prevLpb = $this->getDefaultGlobal('lpb'); $resolution = ($this->division / $prevLpb->val); $time = $resolution * $pos; --- 691,712 ---- * @return int */ + /* function getTime($pos) { ! if (isset($this->globals['timestamp'][$pos])) ! { ! return $this->globals['timestamp'][$pos]; ! } ! //We need the most recent timestamp to base the current one on ! elseif ($prevTimeStamp = $this->getPreviousGlobal($pos-1, 'timestamp')) { $prevLpb = $this->getPreviousGlobal($pos-1, 'lpb'); ! $resolution = ($this->division / $prevLpb->val); $time = $prevTimeStamp->val + $resolution * ($pos - $prevTimeStamp->pos); } ! else //If not, simply count from line 0 { ! $prevLpb = $this->getPreviousGlobal($pos, 'lpb'); $resolution = ($this->division / $prevLpb->val); $time = $resolution * $pos; *************** *** 688,692 **** return (int) round($time); } ! /** * Calculates absolute midi timestamp from tracker line at current speed. --- 714,718 ---- return (int) round($time); } ! /* /** * Calculates absolute midi timestamp from tracker line at current speed. *************** *** 699,702 **** --- 725,729 ---- * @return int */ + /* function getTimestamp($pos, $offset) { *************** *** 714,717 **** --- 741,769 ---- return $this->getTime($pos); } + */ + function getTimestamp($pos, $offset) + { + $t3 = 0; + + if ($offset != 0) + { + $lpb2 = $this->getPreviousGlobal($pos, 'lpb'); + $speed2 = $this->getPreviousGlobal($pos, 'speed'); + $reso2 = ($this->division / $lpb2->val); + $t3 = $reso2 * ($offset / $speed2->val); + } + elseif (isset($this->globals['timestamp'][$pos])) + return $this->globals['timestamp'][$pos]; + + $t1 = $this->getPreviousGlobal($pos-1, 'timestamp'); + $lpb1 = $this->getPreviousGlobal($pos-1, 'lpb'); + $reso1 = ($this->division / $lpb1->val); + $t2 = ($pos - $t1->pos) * $reso1; + + $time = (int)$t1->val + $t2 + $t3; + + return $time; + } + /** *************** *** 742,748 **** //TODO: note delay for note-offs //TODO: double retrigs ! //TODO: http://tutorials.renoise.com/?n=Renoise.DelayCutTrick ! if($lastnote->evttype == 2) ! return; if ($vol) //does the SimpleXML object contain a volume value? --- 794,800 ---- //TODO: note delay for note-offs //TODO: double retrigs ! //Done: http://tutorials.renoise.com/?n=Renoise.DelayCutTrick ! //if($lastnote->evttype == 2) ! // return; if ($vol) //does the SimpleXML object contain a volume value? *************** *** 752,757 **** //set default to remove any values (that can be interpreted as fx) // outside midi range, since we are already handling fx here ! $lastnote->vol = 0x7F; ! $lastnote->pan = 0x40; //Note volume (0 - 7F, 80) --- 804,808 ---- //set default to remove any values (that can be interpreted as fx) // outside midi range, since we are already handling fx here ! $lastnote->vol = 0x7F; //Note volume (0 - 7F, 80) *************** *** 782,798 **** if ($pan) //does the SimpleXML object contain a panning value? ! { if ($pan <= 0x80) ! $lastnote->pan = (int) intval((string) $pan, 16); //Delay note X ticks (D0 - DF) //Only valid if ticks < speed; check in getTimeStamp() ! elseif ($vol > 0xD0 && $vol <= 0xDF) ! $lastnote->offset = $vol - 0xD0; //Retrig note X ticks (E0 - EF) //Notes = ceil(speed / X); X(0) = 1; ! elseif ($vol > 0xE0 && $vol <= 0xEF) ! $lastnote->retrig = $vol - 0xE0; } } --- 833,863 ---- if ($pan) //does the SimpleXML object contain a panning value? ! { ! $pan = (int) intval((string) $pan, 16); ! ! //set default to remove any values (that can be interpreted as fx) ! // outside midi range, since we are already handling fx here ! $lastnote->pan = 0x40; ! if ($pan <= 0x80) ! $lastnote->pan = (int) intval((string) $pan, 16); //Delay note X ticks (D0 - DF) //Only valid if ticks < speed; check in getTimeStamp() ! elseif ($pan > 0xD0 && $pan <= 0xDF) ! $lastnote->offset = $pan - 0xD0; //Retrig note X ticks (E0 - EF) //Notes = ceil(speed / X); X(0) = 1; ! elseif ($pan > 0xE0 && $pan <= 0xEF) ! $lastnote->retrig = $pan - 0xE0; ! ! //Cut Note after X Ticks (F0 - FE) ! elseif ($pan > 0xF0 && $pan <= 0xFE) ! { ! $evt = clone $lastnote; ! $evt->evttype = 2; ! MidiList::getTrack($evt->inst)->addEvent($pos, $pan-0xF0, $evt->col, $evt); ! } } } Index: xrns2midi.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns2midi.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** xrns2midi.php 26 Aug 2007 12:03:59 -0000 1.4 --- xrns2midi.php 6 Sep 2007 21:22:57 -0000 1.5 *************** *** 1,7 **** <?php ! // XRNS2MID version 0.19 by Marvin Tjon (Bantai) // ! // Last saved on 26 Aug 2007 // Based on XRNS2MID version 0.03 by Dac Chartrand // --- 1,7 ---- <?php ! // XRNS2MID version 0.20 by Marvin Tjon (Bantai) // ! // Last saved on 6 Sep 2007 // Based on XRNS2MID version 0.03 by Dac Chartrand // *************** *** 90,95 **** else { //Specify manually ! $xrns_file = "C:/[bb5entries]/test/ogg.xrns"; ! $mid_file = "C:/[bb5entries]/test/ogg.019.mid"; if (!file_exists($xrns_file)) die("Error: Input file not found.\n"); --- 90,95 ---- else { //Specify manually ! $xrns_file = "C:/[bb5entries]/test/note-off.xrns"; ! $mid_file = "C:/[bb5entries]/test/note-off.020.mid"; if (!file_exists($xrns_file)) die("Error: Input file not found.\n"); *************** *** 126,129 **** --- 126,130 ---- echo "XRNS Document Version: " . $doc_version = $sx['doc_version'] . "\n\n"; if ($schema_check) + { if (!xrns_xsd_check($sx, $doc_version)) { *************** *** 131,134 **** --- 132,137 ---- die("\n". $xrns_file . " failed to validate against schema. The song appears to be broken.\n\n" ); } + echo "\n"; + } *************** *** 191,195 **** //$patternid = (int)$sx->PatternSequence->PatternSequence->Pattern[$pn]; if (isset($p->Name)) $patternName = (string)$p->Name; else $patternName = ''; ! echo "\n Parsing pattern [$pn]: $patternid $patternName... \n"; $master->addEventArr($lines,0, 0,11,array('type'=>'Marker', 'string'=>"Pattern [$pn]: $patternid $patternName")); foreach (array($p->Tracks->PatternTrack,$p->Tracks->PatternMasterTrack, $p->Tracks->PatternSendTrack) as $tx) --- 194,198 ---- //$patternid = (int)$sx->PatternSequence->PatternSequence->Pattern[$pn]; if (isset($p->Name)) $patternName = (string)$p->Name; else $patternName = ''; ! echo " Parsing pattern [$pn]: $patternid $patternName... \n"; $master->addEventArr($lines,0, 0,11,array('type'=>'Marker', 'string'=>"Pattern [$pn]: $patternid $patternName")); foreach (array($p->Tracks->PatternTrack,$p->Tracks->PatternMasterTrack, $p->Tracks->PatternSendTrack) as $tx) *************** *** 244,248 **** $lnF = MasterTrack::getLastNote($n_column); //find last note originating from this note-column ! if ($lnF !== false) //if there is a new note with instr number and there is a note before it { //OPTION: NNA forced note-off by any subsequent note in the note-column --- 247,251 ---- $lnF = MasterTrack::getLastNote($n_column); //find last note originating from this note-column ! if ($lnF !== false && $lnF->evttype != 2) //if there is a new note with instr number and there is a note before it { //OPTION: NNA forced note-off by any subsequent note in the note-column *************** *** 252,255 **** --- 255,259 ---- $evt->vol = 0; //another way to set note-off $evt->setOffset(0); + $evt->retrig = null; if (false) //bypass note-off offset for now { *************** *** 269,273 **** // Off Note; ignore note-offs at beginning of midicol $lnF = MasterTrack::getLastNote($n_column); //find last note originating from this note-column ! if ($lnF !== false) //if there is a new note with instr number and there is a note before it { $evt = clone $lnF; //make a copy of the last note --- 273,277 ---- // Off Note; ignore note-offs at beginning of midicol $lnF = MasterTrack::getLastNote($n_column); //find last note originating from this note-column ! if ($lnF !== false && $lnF->evttype != 2) //if there is a new note with instr number and there is a note before it { $evt = clone $lnF; //make a copy of the last note *************** *** 401,463 **** { $id = $miditrack->id; ! echo " Sending events for MidiTrack $id...\n"; foreach ($miditrack as $pos=>&$ticks) ! { foreach ($ticks as $tick=>&$events) ! foreach ($events as &$subevents) ! foreach ($subevents as $evtnum=>&$evt) ! { ! $timestamp = $master->getTimeStamp($pos,$tick); ! ! //note-delay ! //if offset is valid, move event to tick position ! //if offset exceeds speed, do event on this tick, further down this loop ! if ($evt->offset) ! { ! $offset = $evt->offset; ! $evt->offset = 0; ! $speed = $master->getNearestGlobal($pos, 'speed')->val; ! if ($speed > $offset) ! { ! $miditrack->addEvent($pos, $offset, $evt->col, $evt); ! continue; ! } ! } ! ! //everything that comes after this needs this timestamp ! $evt->setTimestamp($timestamp); ! ! //retrigger ! if ($evt->retrig && $evt->evttype != 2) ! { ! $retrig = $evt->retrig; ! $evt->retrig = 0; ! $speed = $master->getNearestGlobal($pos, 'speed')->val; ! if ($speed > $retrig) ! { ! $offset = 0; ! $ticksleft = $speed; ! while($ticksleft > 0) ! { ! if (isset($lastevt)) ! { ! $lastevt->evttype = 2; ! $lastevt->timestamp = $evt->timestamp; ! $miditrack->addEvent($pos, $offset, $evt->col, $lastevt); ! } ! if ($offset == 0) ! MasterTrack::$midi->addMsg($id, $evt->getMsg()); ! else ! $miditrack->addEvent($pos, $offset, $evt->col, $evt); ! $ticksleft -= $retrig; ! $offset += $retrig; ! $lastevt = clone $evt; ! } ! continue; //this is event is done, so skip the rest ! } ! } ! ! MasterTrack::$midi->addMsg($id, $evt->getMsg()); ! } } --- 405,484 ---- { $id = $miditrack->id; ! echo " Sending events for MidiTrack $id...\n"; foreach ($miditrack as $pos=>&$ticks) ! { ! //echo "Line: $pos \n"; ! //TODO: remove previous data foreach ($ticks as $tick=>&$events) ! { ! //echo "\tTick: $tick \n"; ! foreach ($events as &$subevents) ! { ! foreach ($subevents as $evtnum=>&$evt) ! { ! //note-delay ! //if offset is valid, move event to tick position ! //if offset exceeds speed, do event on this tick, further down this loop ! if (isset($evt->offset) && $evt->offset != 0) ! { ! $offset = $evt->offset; ! $evt->offset = 0; ! $speed = $master->getNearestGlobal($pos, 'speed')->val; ! ! if ($speed > $offset) ! { ! $ticks[$offset][$evt->col][] = $evt; ! unset($subevents[$evtnum]); ! ksort($ticks); ! continue; ! } ! } ! ! //everything that comes after this needs this timestamp ! $timestamp = $master->getTimeStamp($pos,$tick); ! $evt->setTimestamp($timestamp); ! ! //retrigger ! if (isset($evt->retrig) && $evt->retrig != 0 && $evt->evttype != 2) ! { ! $retrig = $evt->retrig; ! $evt->retrig = 0; ! $speed = $master->getNearestGlobal($pos, 'speed')->val; ! if ($speed > $retrig) ! { ! $offset = 0; ! $ticksleft = $speed; ! unset($lastevt); ! while($ticksleft > 0) ! { ! if (isset($lastevt)) ! { ! $lastevt->evttype = 2; ! $ticks[$offset][$lastevt->col][] = $lastevt; ! } ! if ($offset == 0) ! MasterTrack::$midi->addMsg($id, $evt->getMsg()); ! else ! { ! $ticks[$offset][$evt->col][] = $evt; ! } ! ! $ticksleft -= $retrig; ! $offset += $retrig; ! $lastevt = clone $evt; ! } ! ksort($ticks); ! unset($subevents[$evtnum]); ! continue; //this is event is done, so skip the rest ! } ! } ! MasterTrack::$midi->addMsg($id, $evt->getMsg()); ! unset($subevents[$evtnum]); ! } ! //unset($subevents); ! } ! //unset($events); ! } ! //unset($ticks); } |
|
From: Bantai <ba...@us...> - 2007-09-08 14:54:20
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4593 Modified Files: xrns-sf.html Log Message: 1.04 Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/xrns-sf.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** xrns-sf.html 6 Sep 2007 22:36:32 -0000 1.1 --- xrns-sf.html 8 Sep 2007 14:54:05 -0000 1.2 *************** *** 1,205 **** <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> <title>XRNS Script Frontend Documentation</title> <style type="text/css"> body { font-family: sans-serif; } p { font-family: monospace; } p.code{ border: 1px dotted black; color:rgb(0,150,0); background-color:rgb(250,250,250); } p.warning{ font-weight:bold; color:rgb(150,0,0); } a { font-family: monospace; text-decoration:none; color:rgb(0,0,128); } a:link,a:visited,a:active { color:rgb(0,0,128); } a:hover { text-decoration:underline; color:rgb(128,0,0); } </style> </head> <body> ! <h3>XRNS Script Frontend 1.03</h3> <p> Developed by Alexander Stoica 2007<br /> <br /> License: Public Domain <br /> <a href="http://xrns-php.sourceforge.net">http://xrns-php.sourceforge.net</a> <br /><br /> Use <a href="mailto:in...@be...">in...@be...</a> for feedback or bug reports. <br /><br /> <a href="http://www.beatslaughter.de">http://www.beatslaughter.de</a><br /> </p> <br /> <h4>What is it?</h4> XRNS Script Frontend can be used, to provide a graphical user interface for command line scripts written in PHP on the windows operating system. <br /> <h4>How does it work?</h4> The frontend includes a stripped down version of the PHP scripting language, which is known for easy XML programming and is widely used. It's also possible to use external command line tools without requiring the user to copy them somewhere into a known path. Each script has a small config file, which defines how the GUI should be build and also holds some other infos. A more in depth look at this file will follow shortly. <br /><br /> The folder "php" holds the PHP commandline interpreter and a windows batch file, which allows one to generate a phpinfo.txt, which might be of help when developing own scripts. Any additional scripts go into the "scripts" folder with their corresponding config file. If a script relies on any extra command line tools, one should put them into the "utils" folder. <br /><br /> Since version 1.02 there are no scripts included anymore. Instead you can download these from the SourceForge download page. <br /> <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> <br /><br /> Alternatively you can download work in progress versions of the scripts. Simply start the file "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. <p class="warning"> Warning! These are work in progress and probably unstable, use at your own risk. </p> <br /> <h4>Script configuration file format reference</h4> The script configuration files are just normal *.ini files widely used by other software too. You should name the configuration file using the same basename as your script. For example, if the script is named "yourscript.php", the configuration file should be named "yourscript.cfg". <br /><br /> The first line should always be the name of the section. <p class="code">[config]</p> The following keys are used to provide general information about the script and are self explaining. <p class="code"> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does. </p> The "gui" key specifies, how the interface will be created. It accepts simple keywords, which are translated by the frontend. The order of the keywords is important, since all the information the user selects gets passed in that order as commandline parameters to the PHP script. Mutliple keywords need to be separated by a semicolon ";". <br /><br /> Following the tradition of the first example in other programming languages, here is a simple label showing "Hello world". The "label" keyword is used to place additional descriptions on the interface for the user. The text needs to be enclosed by round brackets "()". <p class="code"> gui=label(Hello world) </p> The "text" keyword can be used to request any type of text to be passed to the script. If you specify the keyword with optional round brackets "()", one can set a default text show in the textfield. <p class="code"> gui=text<br /> gui=text(default text) </p> The "clipboard" keyword will pass the clipboard contents to the script through a temporary file. The script is responsible for writing back the modified data to this file. When the script has finished executing, the contents of that temporary file will be shown in the textbox on the interface. <p class="code"> gui=clipboard </p> The "folder" keyword allows the user to browse for a folder. The chosen path will then be passed to the script. <p class="code"> gui=folder </p> The "file" keyword allows the user to browse for a file to open. The chosen file will then be passed to the script. This keyword is usually used to select a source file. <p class="code"> gui=file </p> It's also possible to specify extensions, including a default one, which will be used when the user leaves the extension blank when entering or selecting a filename in the file chooser dialog. All extensions are enclosed in round brackets "()" and each extension will be separated by a comma ",". Prepend a "def:" to the extension, which one wants to define as default. <p class="code"> gui=file(def:xrns, xrni, zip) </p> The keyword "output" behaves nearly like the "file" keyword with some exceptions. The current directory will be set to the path of this file, similar like the user has called the PHP interpreter from this location. This keyword is usually used to select a destination file. <p class="code"> gui=output<br /> gui=output(def:xrns, xrni, zip) </p> The last keyword is "options". It's used to display a combobox, where one can choose one of multiple options. It's also possible to define a default selected entry. <p class="code"> gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> As a summary, here is an example of how a complete configuration file looks like. <p class="code"> [config]<br /> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does.<br /> gui=label(Select an option:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> <h4>Thanks and Credits</h4> This product includes PHP software, freely available from:<br /> <a href=http://www.php.net/software/>http://www.php.net/software</a>. <br /><br /> Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> <a href="http://www.xiph.org">http://www.xiph.org</a> <br /><br /> Info-ZIP Workgroup for the zip and unzip utilities.<br /> <a href="http://www.info-zip.org">http://www.info-zip.org</a> <br /><br /> gnu.org for the CVS command line utility.<br /> <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> <br /><br /> Pelle Orinius for his excellent C programming IDE and compiler.<br /> <a href="http://www.smorgasbordet.com/pellesc">http://www.smorgasbordet.com/pellesc</a> <br /><br /> Dac Chartrand for his original idea.<br /> <a href="http://www.trotch.com">http://www.trotch.com</a> <br /> <h4>History</h4> Version 1.03 (08/31/2007)<br /> <ul> <li>Changed: The update redirects now to the SourceForge download page.</li> <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> </ul> Version 1.02 (08/29/2007)<br /> <ul> <li>Added: New keyword "text", to accept any text input from the user.</li> <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> </ul> Version 1.01 (08/19/2007)<br /> <ul> <li>Fixed: Using one of the keywords "options", "file" or "output" with only one parameter made the application hang.</li> </ul> Version 1.0 (08/13/2007)<br /> <ul> <li>initial release</li> </ul> <br /> </body> </html> --- 1,418 ---- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> + <title>XRNS Script Frontend Documentation</title> + <style type="text/css"> + body { + font-family: sans-serif; + } + + p { + font-family: monospace; + } + + p.code{ + border: 1px dotted black; + color:rgb(0,150,0); + background-color:rgb(250,250,250); + } + + p.warning{ + font-weight:bold; + color:rgb(150,0,0); + } + + a { + font-family: monospace; + text-decoration:none; + color:rgb(0,0,128); + } + + a:link,a:visited,a:active { + color:rgb(0,0,128); + } + + a:hover { + text-decoration:underline; + color:rgb(128,0,0); + } + </style> + </head> + + <body> ! ! <h3>XRNS Script Frontend 1.04</h3> ! <p> + Developed by Alexander Stoica 2007<br /> + <br /> + License: Public Domain + <br /> + <a href="http://xrns-php.sourceforge.net">http://xrns-php.sourceforge.net</a> + <br /><br /> + Use <a href="mailto:in...@be...">in...@be...</a> for feedback or bug reports. + <br /><br /> + <a href="http://www.beatslaughter.de">http://www.beatslaughter.de</a><br /> + </p> + + <br /> + <h4>What is it?</h4> + XRNS Script Frontend can be used, to provide a graphical user interface for command line + scripts written in PHP on the windows operating system. + <br /> + + <h4>How does it work?</h4> + The frontend includes a stripped down version of the PHP scripting language, which is + known for easy XML programming and is widely used. It's also possible to use external + command line tools without requiring the user to copy them somewhere into a known path. + Each script has a small config file, which defines how the GUI should be build and + also holds some other infos. A more in depth look at this file will follow shortly. + <br /><br /> + The folder "php" holds the PHP commandline interpreter and a windows batch file, which + allows one to generate a phpinfo.txt, which might be of help when developing own scripts. + Any additional scripts go into the "scripts" folder with their corresponding config file. + If a script relies on any extra command line tools, one should put them into the "utils" + folder. + <br /><br /> + Since version 1.02 there are no scripts included anymore. Instead you can download these from the + SourceForge download page. + <br /> + <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> + <br /><br /> + Alternatively you can download work in progress versions of the scripts. Simply start the file + "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. + <p class="warning"> + Warning! These are work in progress and probably unstable, use at your own risk. + </p> + <br /> + + <h4>Script configuration file format reference</h4> + The script configuration files are just normal *.ini files widely used by other software too. + You should name the configuration file using the same basename as your script. For example, + if the script is named "yourscript.php", the configuration file should be named "yourscript.cfg". + <br /><br /> + The first line should always be the name of the section. + <p class="code">[config]</p> + The following keys are used to provide general information about the script and are self explaining. + <p class="code"> + caption=Name of the script<br /> + author=Coded by John Doe.<br /> + url=http://www.johndoe.com<br /> + description=Short description, what your script does. + </p> + The "gui" key specifies, how the interface will be created. It accepts simple keywords, which are + translated by the frontend. The order of the keywords is important, since all the information the user + selects gets passed in that order as commandline parameters to the PHP script. Mutliple keywords need to be + separated by a semicolon ";". + <br /><br /> + Following the tradition of the first example in other programming languages, here is a simple label + showing "Hello world". The "label" keyword is used to place additional descriptions on the interface + for the user. The text needs to be enclosed by round brackets "()". + <p class="code"> + gui=label(Hello world) + </p> + The "text" keyword can be used to request any type of text to be passed to the script. If you specify the keyword with + optional round brackets "()", one can set a default text show in the textfield. + <p class="code"> + gui=text<br /> + gui=text(default text) + </p> + The "clipboard" keyword will pass the clipboard contents to the script through a temporary file. The script + is responsible for writing back the modified data to this file. When the script has finished executing, the contents + of that temporary file will be shown in the textbox on the interface. + <p class="code"> + gui=clipboard + </p> + The "folder" keyword allows the user to browse for a folder. The chosen path will then be passed to the script. + <p class="code"> + gui=folder + </p> + The "file" keyword allows the user to browse for a file to open. The chosen file will then be passed to the script. + This keyword is usually used to select a source file. + <p class="code"> + gui=file + </p> + It's also possible to specify extensions, including a default one, which will be used when the user leaves the + extension blank when entering or selecting a filename in the file chooser dialog. All extensions are enclosed in round + brackets "()" and each extension will be separated by a comma ",". Prepend a "def:" to the extension, which one wants to define + as default. + <p class="code"> + gui=file(def:xrns, xrni, zip) + </p> + The keyword "output" behaves nearly like the "file" keyword with some exceptions. The current directory will be set to + the path of this file, similar like the user has called the PHP interpreter from this location. This keyword is usually + used to select a destination file. + <p class="code"> + gui=output<br /> + gui=output(def:xrns, xrni, zip) + </p> + The last keyword is "options". It's used to display a combobox, where one can choose one of multiple options. + It's also possible to define a default selected entry. + <p class="code"> + gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) + </p> + As a summary, here is an example of how a complete configuration file looks like. + <p class="code"> + [config]<br /> + caption=Name of the script<br /> + author=Coded by John Doe.<br /> + url=http://www.johndoe.com<br /> + description=Short description, what your script does.<br /> + gui=label(Select an option:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) + </p> + + + <h4>Thanks and Credits</h4> + This product includes PHP software, freely available from:<br /> + <a href=http://www.php.net/software/>http://www.php.net/software</a>. + <br /><br /> + Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> + <a href="http://www.xiph.org">http://www.xiph.org</a> + <br /><br /> + Info-ZIP Workgroup for the zip and unzip utilities.<br /> + <a href="http://www.info-zip.org">http://www.info-zip.org</a> + <br /><br /> + gnu.org for the CVS command line utility.<br /> + <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> + <br /><br /> + Pelle Orinius for his excellent C programming IDE and compiler.<br /> + <a href="http://www.smorgasbordet.com/pellesc">http://www.smorgasbordet.com/pellesc</a> + <br /><br /> + Dac Chartrand for his original idea.<br /> + <a href="http://www.trotch.com">http://www.trotch.com</a> + <br /> + + <h4>History</h4> + + Version 1.04 (09/08/2007)<br /> + + <ul> + + <li>Changed: Updated included PHP version to 5.2.4.</li> + + </ul> + Version 1.03 (08/31/2007)<br /> + <ul> + <li>Changed: The update redirects now to the SourceForge download page.</li> + <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> + </ul> + Version 1.02 (08/29/2007)<br /> + <ul> + <li>Added: New keyword "text", to accept any text input from the user.</li> + <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> + </ul> + Version 1.01 (08/19/2007)<br /> + <ul> + <li>Fixed: Using one of the keywords "options", "file" or "output" with only one parameter made the application hang.</li> + </ul> + Version 1.0 (08/13/2007)<br /> + <ul> + <li>initial release</li> + </ul> + <br /> + </body> + </html> + |
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-09-08 14:38:52
|
Update of /cvsroot/xrns-php/xrns-sf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30508 Modified Files: main.c main.rc xrns-sf.html xrns-sf.ppj Log Message: Changed files for 1.04 Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/xrns-sf.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns-sf.html 6 Sep 2007 21:46:53 -0000 1.2 --- xrns-sf.html 8 Sep 2007 14:38:51 -0000 1.3 *************** *** 1,205 **** <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> <title>XRNS Script Frontend Documentation</title> <style type="text/css"> body { font-family: sans-serif; } p { font-family: monospace; } p.code{ border: 1px dotted black; color:rgb(0,150,0); background-color:rgb(250,250,250); } p.warning{ font-weight:bold; color:rgb(150,0,0); } a { font-family: monospace; text-decoration:none; color:rgb(0,0,128); } a:link,a:visited,a:active { color:rgb(0,0,128); } a:hover { text-decoration:underline; color:rgb(128,0,0); } </style> </head> <body> ! <h3>XRNS Script Frontend 1.03</h3> <p> Developed by Alexander Stoica 2007<br /> <br /> License: Public Domain <br /> <a href="http://xrns-php.sourceforge.net">http://xrns-php.sourceforge.net</a> <br /><br /> Use <a href="mailto:in...@be...">in...@be...</a> for feedback or bug reports. <br /><br /> <a href="http://www.beatslaughter.de">http://www.beatslaughter.de</a><br /> </p> <br /> <h4>What is it?</h4> XRNS Script Frontend can be used, to provide a graphical user interface for command line scripts written in PHP on the windows operating system. <br /> <h4>How does it work?</h4> The frontend includes a stripped down version of the PHP scripting language, which is known for easy XML programming and is widely used. It's also possible to use external command line tools without requiring the user to copy them somewhere into a known path. Each script has a small config file, which defines how the GUI should be build and also holds some other infos. A more in depth look at this file will follow shortly. <br /><br /> The folder "php" holds the PHP commandline interpreter and a windows batch file, which allows one to generate a phpinfo.txt, which might be of help when developing own scripts. Any additional scripts go into the "scripts" folder with their corresponding config file. If a script relies on any extra command line tools, one should put them into the "utils" folder. <br /><br /> Since version 1.02 there are no scripts included anymore. Instead you can download these from the SourceForge download page. <br /> <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> <br /><br /> Alternatively you can download work in progress versions of the scripts. Simply start the file "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. <p class="warning"> Warning! These are work in progress and probably unstable, use at your own risk. </p> <br /> <h4>Script configuration file format reference</h4> The script configuration files are just normal *.ini files widely used by other software too. You should name the configuration file using the same basename as your script. For example, if the script is named "yourscript.php", the configuration file should be named "yourscript.cfg". <br /><br /> The first line should always be the name of the section. <p class="code">[config]</p> The following keys are used to provide general information about the script and are self explaining. <p class="code"> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does. </p> The "gui" key specifies, how the interface will be created. It accepts simple keywords, which are translated by the frontend. The order of the keywords is important, since all the information the user selects gets passed in that order as commandline parameters to the PHP script. Mutliple keywords need to be separated by a semicolon ";". <br /><br /> Following the tradition of the first example in other programming languages, here is a simple label showing "Hello world". The "label" keyword is used to place additional descriptions on the interface for the user. The text needs to be enclosed by round brackets "()". <p class="code"> gui=label(Hello world) </p> The "text" keyword can be used to request any type of text to be passed to the script. If you specify the keyword with optional round brackets "()", one can set a default text show in the textfield. <p class="code"> gui=text<br /> gui=text(default text) </p> The "clipboard" keyword will pass the clipboard contents to the script through a temporary file. The script is responsible for writing back the modified data to this file. When the script has finished executing, the contents of that temporary file will be shown in the textbox on the interface. <p class="code"> gui=clipboard </p> The "folder" keyword allows the user to browse for a folder. The chosen path will then be passed to the script. <p class="code"> gui=folder </p> The "file" keyword allows the user to browse for a file to open. The chosen file will then be passed to the script. This keyword is usually used to select a source file. <p class="code"> gui=file </p> It's also possible to specify extensions, including a default one, which will be used when the user leaves the extension blank when entering or selecting a filename in the file chooser dialog. All extensions are enclosed in round brackets "()" and each extension will be separated by a comma ",". Prepend a "def:" to the extension, which one wants to define as default. <p class="code"> gui=file(def:xrns, xrni, zip) </p> The keyword "output" behaves nearly like the "file" keyword with some exceptions. The current directory will be set to the path of this file, similar like the user has called the PHP interpreter from this location. This keyword is usually used to select a destination file. <p class="code"> gui=output<br /> gui=output(def:xrns, xrni, zip) </p> The last keyword is "options". It's used to display a combobox, where one can choose one of multiple options. It's also possible to define a default selected entry. <p class="code"> gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> As a summary, here is an example of how a complete configuration file looks like. <p class="code"> [config]<br /> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does.<br /> gui=label(Select an option:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> <h4>Thanks and Credits</h4> This product includes PHP software, freely available from:<br /> <a href=http://www.php.net/software/>http://www.php.net/software</a>. <br /><br /> Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> <a href="http://www.xiph.org">http://www.xiph.org</a> <br /><br /> Info-ZIP Workgroup for the zip and unzip utilities.<br /> <a href="http://www.info-zip.org">http://www.info-zip.org</a> <br /><br /> gnu.org for the CVS command line utility.<br /> <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> <br /><br /> Pelle Orinius for his excellent C programming IDE and compiler.<br /> <a href="http://www.smorgasbordet.com/pellesc">http://www.smorgasbordet.com/pellesc</a> <br /><br /> XXXXXXXXXXXXX for his original idea.<br /> <a href="http://www.trotch.com">http://www.trotch.com</a> <br /> <h4>History</h4> Version 1.03 (08/31/2007)<br /> <ul> <li>Changed: The update redirects now to the SourceForge download page.</li> <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> </ul> Version 1.02 (08/29/2007)<br /> <ul> <li>Added: New keyword "text", to accept any text input from the user.</li> <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> </ul> Version 1.01 (08/19/2007)<br /> <ul> <li>Fixed: Using one of the keywords "options", "file" or "output" with only one parameter made the application hang.</li> </ul> Version 1.0 (08/13/2007)<br /> <ul> <li>initial release</li> </ul> <br /> </body> </html> --- 1,418 ---- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> + <title>XRNS Script Frontend Documentation</title> + <style type="text/css"> + body { + font-family: sans-serif; + } + + p { + font-family: monospace; + } + + p.code{ + border: 1px dotted black; + color:rgb(0,150,0); + background-color:rgb(250,250,250); + } + + p.warning{ + font-weight:bold; + color:rgb(150,0,0); + } + + a { + font-family: monospace; + text-decoration:none; + color:rgb(0,0,128); + } + + a:link,a:visited,a:active { + color:rgb(0,0,128); + } + + a:hover { + text-decoration:underline; + color:rgb(128,0,0); + } + </style> + </head> + + <body> ! ! <h3>XRNS Script Frontend 1.04</h3> ! <p> + Developed by Alexander Stoica 2007<br /> + <br /> + License: Public Domain + <br /> + <a href="http://xrns-php.sourceforge.net">http://xrns-php.sourceforge.net</a> + <br /><br /> + Use <a href="mailto:in...@be...">in...@be...</a> for feedback or bug reports. + <br /><br /> + <a href="http://www.beatslaughter.de">http://www.beatslaughter.de</a><br /> + </p> + + <br /> + <h4>What is it?</h4> + XRNS Script Frontend can be used, to provide a graphical user interface for command line + scripts written in PHP on the windows operating system. + <br /> + + <h4>How does it work?</h4> + The frontend includes a stripped down version of the PHP scripting language, which is + known for easy XML programming and is widely used. It's also possible to use external + command line tools without requiring the user to copy them somewhere into a known path. + Each script has a small config file, which defines how the GUI should be build and + also holds some other infos. A more in depth look at this file will follow shortly. + <br /><br /> + The folder "php" holds the PHP commandline interpreter and a windows batch file, which + allows one to generate a phpinfo.txt, which might be of help when developing own scripts. + Any additional scripts go into the "scripts" folder with their corresponding config file. + If a script relies on any extra command line tools, one should put them into the "utils" + folder. + <br /><br /> + Since version 1.02 there are no scripts included anymore. Instead you can download these from the + SourceForge download page. + <br /> + <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> + <br /><br /> + Alternatively you can download work in progress versions of the scripts. Simply start the file + "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. + <p class="warning"> + Warning! These are work in progress and probably unstable, use at your own risk. + </p> + <br /> + + <h4>Script configuration file format reference</h4> + The script configuration files are just normal *.ini files widely used by other software too. + You should name the configuration file using the same basename as your script. For example, + if the script is named "yourscript.php", the configuration file should be named "yourscript.cfg". + <br /><br /> + The first line should always be the name of the section. + <p class="code">[config]</p> + The following keys are used to provide general information about the script and are self explaining. + <p class="code"> + caption=Name of the script<br /> + author=Coded by John Doe.<br /> + url=http://www.johndoe.com<br /> + description=Short description, what your script does. + </p> + The "gui" key specifies, how the interface will be created. It accepts simple keywords, which are + translated by the frontend. The order of the keywords is important, since all the information the user + selects gets passed in that order as commandline parameters to the PHP script. Mutliple keywords need to be + separated by a semicolon ";". + <br /><br /> + Following the tradition of the first example in other programming languages, here is a simple label + showing "Hello world". The "label" keyword is used to place additional descriptions on the interface + for the user. The text needs to be enclosed by round brackets "()". + <p class="code"> + gui=label(Hello world) + </p> + The "text" keyword can be used to request any type of text to be passed to the script. If you specify the keyword with + optional round brackets "()", one can set a default text show in the textfield. + <p class="code"> + gui=text<br /> + gui=text(default text) + </p> + The "clipboard" keyword will pass the clipboard contents to the script through a temporary file. The script + is responsible for writing back the modified data to this file. When the script has finished executing, the contents + of that temporary file will be shown in the textbox on the interface. + <p class="code"> + gui=clipboard + </p> + The "folder" keyword allows the user to browse for a folder. The chosen path will then be passed to the script. + <p class="code"> + gui=folder + </p> + The "file" keyword allows the user to browse for a file to open. The chosen file will then be passed to the script. + This keyword is usually used to select a source file. + <p class="code"> + gui=file + </p> + It's also possible to specify extensions, including a default one, which will be used when the user leaves the + extension blank when entering or selecting a filename in the file chooser dialog. All extensions are enclosed in round + brackets "()" and each extension will be separated by a comma ",". Prepend a "def:" to the extension, which one wants to define + as default. + <p class="code"> + gui=file(def:xrns, xrni, zip) + </p> + The keyword "output" behaves nearly like the "file" keyword with some exceptions. The current directory will be set to + the path of this file, similar like the user has called the PHP interpreter from this location. This keyword is usually + used to select a destination file. + <p class="code"> + gui=output<br /> + gui=output(def:xrns, xrni, zip) + </p> + The last keyword is "options". It's used to display a combobox, where one can choose one of multiple options. + It's also possible to define a default selected entry. + <p class="code"> + gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) + </p> + As a summary, here is an example of how a complete configuration file looks like. + <p class="code"> + [config]<br /> + caption=Name of the script<br /> + author=Coded by John Doe.<br /> + url=http://www.johndoe.com<br /> + description=Short description, what your script does.<br /> + gui=label(Select an option:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) + </p> + + + <h4>Thanks and Credits</h4> + This product includes PHP software, freely available from:<br /> + <a href=http://www.php.net/software/>http://www.php.net/software</a>. + <br /><br /> + Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> + <a href="http://www.xiph.org">http://www.xiph.org</a> + <br /><br /> + Info-ZIP Workgroup for the zip and unzip utilities.<br /> + <a href="http://www.info-zip.org">http://www.info-zip.org</a> + <br /><br /> + gnu.org for the CVS command line utility.<br /> + <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> + <br /><br /> + Pelle Orinius for his excellent C programming IDE and compiler.<br /> + <a href="http://www.smorgasbordet.com/pellesc">http://www.smorgasbordet.com/pellesc</a> + <br /><br /> + XXXXXXXXXXXXX for his original idea.<br /> + <a href="http://www.trotch.com">http://www.trotch.com</a> + <br /> + + <h4>History</h4> + + Version 1.04 (09/08/2007)<br /> + + <ul> + + <li>Changed: Updated included PHP version to 5.2.4.</li> + + </ul> + Version 1.03 (08/31/2007)<br /> + <ul> + <li>Changed: The update redirects now to the SourceForge download page.</li> + <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> + </ul> + Version 1.02 (08/29/2007)<br /> + <ul> + <li>Added: New keyword "text", to accept any text input from the user.</li> + <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> + </ul> + Version 1.01 (08/19/2007)<br /> + <ul> + <li>Fixed: Using one of the keywords "options", "file" or "output" with only one parameter made the application hang.</li> + </ul> + Version 1.0 (08/13/2007)<br /> + <ul> + <li>initial release</li> + </ul> + <br /> + </body> + </html> + Index: xrns-sf.ppj =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/xrns-sf.ppj,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** xrns-sf.ppj 23 Aug 2007 15:44:14 -0000 1.1 --- xrns-sf.ppj 8 Sep 2007 14:38:51 -0000 1.2 *************** *** 1,61 **** --- 1,122 ---- # + # PROJECT FILE generated by "Pelles C for Windows, version 4.50". + # WARNING! DO NOT EDIT THIS FILE. + # + + POC_PROJECT_VERSION = 4.00# + POC_PROJECT_TYPE = 0# + POC_PROJECT_ARGUMENTS = # + POC_PROJECT_WORKPATH = # + POC_PROJECT_EXECUTOR = # + CC = pocc.exe# + AS = poasm.exe# + RC = porc.exe# + LINK = polink.exe# + CCFLAGS = -Tx86-coff -Ot -Ox -W1 -Gz -Ze -D_UNICODE -DUNICODE# + ASFLAGS = -AIA32 -Gz# + RCFLAGS = # + LINKFLAGS = -release -subsystem:windows -machine:ix86 kernel32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib advapi32.lib delayimp.lib# + WizCreator = Pelle Orinius# + + .SILENT: + + # + # Build xrns-sf.exe. + # + xrns-sf.exe: \ + output\main.obj \ + output\main.res \ + output\hyperlink.obj + $(LINK) $(LINKFLAGS) -out:"$@" $** + + # + # Build main.obj. + # + output\main.obj: \ + main.c \ + main.h \ + hyperlink.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + + # + # Build main.res. + # + output\main.res: \ + main.rc \ + main.h \ + hyperlink.h \ + main.ico \ + renoise-logo.bmp \ + manifest.xml + $(RC) $(RCFLAGS) "$!" -Fo"$@" + + .EXCLUDEDFILES: + + # + # Build hyperlink.obj. + # + output\hyperlink.obj: \ + hyperlink.c \ + hyperlink.h + $(CC) $(CCFLAGS) "$!" -Fo"$@" + Index: main.rc =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/main.rc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** main.rc 6 Sep 2007 21:46:53 -0000 1.3 --- main.rc 8 Sep 2007 14:38:51 -0000 1.4 *************** *** 1,88 **** // RESOURCE SCRIPT generated by "Pelles C for Windows, version 4.50". #include <windows.h> #include <commctrl.h> #include <richedit.h> #include "main.h" LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US IDI_APP ICON "main.ico" IDB_RLOGO BITMAP "renoise-logo.bmp" DLG_MAIN DIALOGEX DISCARDABLE 50, 50, 480, 250 STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|WS_THICKFRAME|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_VISIBLE CAPTION "XRNS Script Frontend" CLASS "xrns-sf" FONT 8, "MS Sans Serif", 0, 0, 1 BEGIN CONTROL "", DLG_MAIN_BANNER, "Static", SS_BLACKRECT, 0, 0, 480, 30 CONTROL "", DLG_MAIN_COMBO_SCRIPTS, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|CBS_HASSTRINGS|WS_VSCROLL|WS_TABSTOP, 366, 8, 108, 12 CONTROL "", DLG_MAIN_CONTROLAREA, "Static", SS_WHITERECT|WS_BORDER, 0, 30, 480, 198 CONTROL "Show script info", DLG_MAIN_LINK_DESC, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 6, 212, 70, 10 CONTROL "Show console", DLG_MAIN_LINK_CONSOLE, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 80, 212, 70, 10 CONTROL "About", IDABOUT, "Button", WS_TABSTOP, 4, 232, 60, 15 CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 352, 232, 60, 15 CONTROL "Run Script", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 416, 232, 60, 15 END DLG_ABOUT DIALOGEX DISCARDABLE 6, 18, 200, 148 STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|DS_NOIDLEMSG|WS_CAPTION|WS_VISIBLE EXSTYLE WS_EX_TOOLWINDOW CAPTION "About" FONT 8, "MS Sans Serif", 0, 0, 1 BEGIN CONTROL "", DLG_ABOUT_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 CONTROL "License: Public Domain", -1, "Static", WS_GROUP, 10, 38, 180, 8 CONTROL "http://xrns-php.sourceforge.net", DLG_ABOUT_LINK_SOURCEFORGE, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 48, 99, 8 CONTROL "Frontend developed by Alexander Stoica", -1, "Static", WS_GROUP, 10, 68, 180, 8, WS_EX_TRANSPARENT CONTROL "http://www.beatslaughter.de", DLG_ABOUT_LINK_BEATSLAUGHTER, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 78, 91, 8 CONTROL "In cooperation with XXXXXXXXXXXXX ", -1, "Static", WS_GROUP, 10, 90, 180, 8, WS_EX_TRANSPARENT CONTROL "http://www.trotch.com", DLG_ABOUT_LINK_TROTCH, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 100, 72, 8 CONTROL "", -1, "Static", SS_ETCHEDHORZ|SS_CENTERIMAGE|WS_BORDER, 0, 122, 210, 10 CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 134, 128, 60, 15 END DLG_INFO DIALOGEX DISCARDABLE 6, 18, 200, 119 STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|DS_NOIDLEMSG|WS_CAPTION|WS_VISIBLE EXSTYLE WS_EX_TOOLWINDOW CAPTION "Script info" FONT 8, "MS Sans Serif", 0, 0, 1 BEGIN CONTROL "", DLG_INFO_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 CONTROL "", DLG_INFO_LINK, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER|HLS_PLAYCLICK|WS_TABSTOP, 0, 80, 200, 12 CONTROL "", DLG_INFO_TEXT, "Edit", ES_MULTILINE|ES_AUTOVSCROLL|ES_WANTRETURN|ES_READONLY|WS_VSCROLL|WS_BORDER|WS_TABSTOP, 0, 30, 200, 50 CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 135, 98, 60, 15 END VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,0,3,0 ! PRODUCTVERSION 1,0,3,0 FILEFLAGSMASK 0x3F FILEFLAGS 0x0 FILEOS VOS__WINDOWS32 FILETYPE VFT_APP FILESUBTYPE VFT2_UNKNOWN BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904B0" BEGIN VALUE "CompanyName", "Alexander Stoica\0" VALUE "FileDescription", "XRNS Script Frontend\0" ! VALUE "FileVersion", "1.03\0" VALUE "InternalName", "xrns-sf.exe\0" VALUE "LegalCopyright", "License: Public Domain\0" VALUE "OriginalFilename", "xrns-sf.exe\0" VALUE "ProductName", "XRNS Script Frontend\0" ! VALUE "ProductVersion", "1.03\0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 0x4B0 END END 1 MANIFEST "manifest.xml" --- 1,176 ---- // RESOURCE SCRIPT generated by "Pelles C for Windows, version 4.50". + + #include <windows.h> + #include <commctrl.h> + #include <richedit.h> + #include "main.h" + + LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US + + IDI_APP ICON "main.ico" + IDB_RLOGO BITMAP "renoise-logo.bmp" + + DLG_MAIN DIALOGEX DISCARDABLE 50, 50, 480, 250 + STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|WS_THICKFRAME|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_VISIBLE + CAPTION "XRNS Script Frontend" + CLASS "xrns-sf" + FONT 8, "MS Sans Serif", 0, 0, 1 + BEGIN + CONTROL "", DLG_MAIN_BANNER, "Static", SS_BLACKRECT, 0, 0, 480, 30 + CONTROL "", DLG_MAIN_COMBO_SCRIPTS, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|CBS_HASSTRINGS|WS_VSCROLL|WS_TABSTOP, 366, 8, 108, 12 + CONTROL "", DLG_MAIN_CONTROLAREA, "Static", SS_WHITERECT|WS_BORDER, 0, 30, 480, 198 + CONTROL "Show script info", DLG_MAIN_LINK_DESC, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 6, 212, 70, 10 + CONTROL "Show console", DLG_MAIN_LINK_CONSOLE, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER, 80, 212, 70, 10 + CONTROL "About", IDABOUT, "Button", WS_TABSTOP, 4, 232, 60, 15 + CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 352, 232, 60, 15 + CONTROL "Run Script", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 416, 232, 60, 15 + END + + DLG_ABOUT DIALOGEX DISCARDABLE 6, 18, 200, 148 + STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|DS_NOIDLEMSG|WS_CAPTION|WS_VISIBLE + EXSTYLE WS_EX_TOOLWINDOW + CAPTION "About" + FONT 8, "MS Sans Serif", 0, 0, 1 + BEGIN + CONTROL "", DLG_ABOUT_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 + CONTROL "License: Public Domain", -1, "Static", WS_GROUP, 10, 38, 180, 8 + CONTROL "http://xrns-php.sourceforge.net", DLG_ABOUT_LINK_SOURCEFORGE, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 48, 99, 8 + CONTROL "Frontend developed by Alexander Stoica", -1, "Static", WS_GROUP, 10, 68, 180, 8, WS_EX_TRANSPARENT + CONTROL "http://www.beatslaughter.de", DLG_ABOUT_LINK_BEATSLAUGHTER, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 78, 91, 8 + CONTROL "In cooperation with XXXXXXXXXXXXX ", -1, "Static", WS_GROUP, 10, 90, 180, 8, WS_EX_TRANSPARENT + CONTROL "http://www.trotch.com", DLG_ABOUT_LINK_TROTCH, "HyperlinkCtrl32", HLS_LEFT|HLS_TOP|HLS_ULHOVER|HLS_PLAYCLICK|HLS_AUTOSIZE|WS_TABSTOP, 10, 100, 72, 8 + CONTROL "", -1, "Static", SS_ETCHEDHORZ|SS_CENTERIMAGE|WS_BORDER, 0, 122, 210, 10 + CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 134, 128, 60, 15 + END + + DLG_INFO DIALOGEX DISCARDABLE 6, 18, 200, 119 + STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|DS_NOIDLEMSG|WS_CAPTION|WS_VISIBLE + EXSTYLE WS_EX_TOOLWINDOW + CAPTION "Script info" + FONT 8, "MS Sans Serif", 0, 0, 1 + BEGIN + CONTROL "", DLG_INFO_BANNER, "Static", SS_BLACKRECT, 0, 0, 200, 30 + CONTROL "", DLG_INFO_LINK, "HyperlinkCtrl32", HLS_HCENTER|HLS_VCENTER|HLS_ULHOVER|HLS_PLAYCLICK|WS_TABSTOP, 0, 80, 200, 12 + CONTROL "", DLG_INFO_TEXT, "Edit", ES_MULTILINE|ES_AUTOVSCROLL|ES_WANTRETURN|ES_READONLY|WS_VSCROLL|WS_BORDER|WS_TABSTOP, 0, 30, 200, 50 + CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON|WS_TABSTOP, 135, 98, 60, 15 + END + + VS_VERSION_INFO VERSIONINFO ! ! FILEVERSION 1,0,4,0 ! ! PRODUCTVERSION 1,0,4,0 ! FILEFLAGSMASK 0x3F + FILEFLAGS 0x0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "Alexander Stoica\0" + VALUE "FileDescription", "XRNS Script Frontend\0" ! ! VALUE "FileVersion", "1.04\0" ! VALUE "InternalName", "xrns-sf.exe\0" + VALUE "LegalCopyright", "License: Public Domain\0" + VALUE "OriginalFilename", "xrns-sf.exe\0" + VALUE "ProductName", "XRNS Script Frontend\0" ! ! VALUE "ProductVersion", "1.04\0" ! END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 0x4B0 + END + END + + 1 MANIFEST "manifest.xml" + + Index: main.c =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/main.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** main.c 6 Sep 2007 21:46:53 -0000 1.3 --- main.c 8 Sep 2007 14:38:51 -0000 1.4 *************** *** 1,1507 **** /**************************************************************************** * * * File : main.c * * * * Purpose : Generic dialog based Win32 application. * * * * History : Date Reason * * 08/23/07 Last modfied by Alexander Stoica * * * ****************************************************************************/ [...4492 lines suppressed...] + + hFile = CreateFile(szBuffer, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_SEQUENTIAL_SCAN, NULL); + + if (hFile != INVALID_HANDLE_VALUE) + { + WriteFile(hFile, &wp.rcNormalPosition, sizeof(wp.rcNormalPosition), &dwBytesWritten, NULL); + WriteFile(hFile, &gCfg, sizeof(CONFIG), &dwBytesWritten, NULL); + CloseHandle(hFile); + } + } + |
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-09-07 17:16:19
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9537 Modified Files: xrns_ogg.php Log Message: Argh, I keep forgeting the date, maybe I should remove it altogether. Index: xrns_ogg.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_ogg.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** xrns_ogg.php 7 Sep 2007 17:11:15 -0000 1.4 --- xrns_ogg.php 7 Sep 2007 17:16:01 -0000 1.5 *************** *** 11,15 **** Also works with .xrni files ! Public Domain, last modified August 25th, 2007 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ --- 11,15 ---- Also works with .xrni files ! Public Domain, last modified September 7th, 2007 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ |
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-09-07 17:11:17
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv8431 Modified Files: xrns_ogg.php Log Message: skip files smaller than 4096 bytes, fixed: extension of filenames with dots was not beign detected fixes: switch() was broken Index: xrns_ogg.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_ogg.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** xrns_ogg.php 25 Aug 2007 15:20:24 -0000 1.3 --- xrns_ogg.php 7 Sep 2007 17:11:15 -0000 1.4 *************** *** 3,8 **** /* ! Requires: PHP5, Info-Zip (http://www.info-zip.org/), ! oggenc (http://www.rarewares.org/ogg-oggenc.php), and optionally flac (http://flac.sourceforge.net/) --- 3,8 ---- /* ! Requires: PHP5, Info-Zip (http://www.info-zip.org/), ! oggenc (http://www.rarewares.org/ogg-oggenc.php), and optionally flac (http://flac.sourceforge.net/) *************** *** 40,72 **** $path_to_oggenc = 'oggenc'; // oggenc assumed to be in path ! $path_to_flac = 'flac'; // flac assumed to be in path $array = scandir($source); ! ! foreach ($array as $file) { $fullpath = $source . '/' . $file; ! ! switch (preg_match('/(\.(.*)$)/i', $file, $matches)) { ! ! case (strtolower($matches[2]) == 'flac') : ! $command = $path_to_flac . ' -d --delete-input-file "'.$fullpath.'"'; $res = -1; // any nonzero value $UnusedArrayResult = array(); $UnusedStringResult = exec($command, $UnusedArrayResult, $res); ! if ($res != 0) echo "Warning: flac return_val was $res, there was a problem decompressing flac $file\n"; ! else $fullpath = str_replace(".flac", ".wav", $fullpath); ! ! case (strtolower($matches[2]) == 'wav' || (strtolower($matches[2]) == 'aif') || (strtolower($matches[2]) == 'aiff')): ! ! $command = $path_to_oggenc . " --quality $quality \"$fullpath\" "; ! $res = -1; // any nonzero value ! $UnusedArrayResult = array(); ! $UnusedStringResult = exec($command, $UnusedArrayResult, $res); ! if ($res != 0) echo "Warning: oggenc return_val was $res, there was a problem compressing $file\n"; ! else unlink($fullpath); ! ! } ! } } --- 40,76 ---- $path_to_oggenc = 'oggenc'; // oggenc assumed to be in path ! $path_to_flac = 'flac'; // flac assumed to be in path $array = scandir($source); ! ! foreach ($array as $file) { $fullpath = $source . '/' . $file; ! ! if (filesize($fullpath) <= 4096) continue; // Skip files smaller than 4096 bytes ! ! switch (strtolower(end(explode('.', $file)))) { ! ! case ('flac') : ! $command = $path_to_flac . ' -d --delete-input-file "'.$fullpath.'"'; $res = -1; // any nonzero value $UnusedArrayResult = array(); $UnusedStringResult = exec($command, $UnusedArrayResult, $res); ! if ($res != 0) echo "Warning: flac return_val was $res, there was a problem decompressing flac $file\n"; ! else $fullpath = str_replace(".flac", ".wav", $fullpath); ! ! case ('wav'): ! case ('aif'): ! case ('aiff'): ! ! $command = $path_to_oggenc . " --quality $quality \"$fullpath\" "; ! $res = -1; // any nonzero value ! $UnusedArrayResult = array(); ! $UnusedStringResult = exec($command, $UnusedArrayResult, $res); ! if ($res != 0) echo "Warning: oggenc return_val was $res, there was a problem compressing $file\n"; ! else unlink($fullpath); ! ! } ! } } *************** *** 104,108 **** // Quality ! if(ctype_digit($argv[3]) && $argv[3] > 0 && $argv[3] <= 10) $quality = $argv[3]; else $quality = 3; // default --- 108,112 ---- // Quality ! if(isset($argv[3]) && ctype_digit($argv[3]) && $argv[3] > 0 && $argv[3] <= 10) $quality = $argv[3]; else $quality = 3; // default *************** *** 121,125 **** if ((preg_match('/(\.xrni$)/i', $song1))) { $unzip1 = $tmp_dir . '/xrns_ogg_' . md5(uniqid(mt_rand(), true)) . '_Ins01/'; ! } else { $unzip1 = $tmp_dir . '/xrns_ogg_' . md5(uniqid(mt_rand(), true)) . '_Track01/'; --- 125,129 ---- if ((preg_match('/(\.xrni$)/i', $song1))) { $unzip1 = $tmp_dir . '/xrns_ogg_' . md5(uniqid(mt_rand(), true)) . '_Ins01/'; ! } else { $unzip1 = $tmp_dir . '/xrns_ogg_' . md5(uniqid(mt_rand(), true)) . '_Track01/'; *************** *** 139,156 **** // SampleData directory ! if (is_dir($unzip1 . 'SampleData/')) { // Xrni or Xrns? if (preg_match('/(\.xrni$)/i',$song1)) { ! $source = $unzip1 . 'SampleData/'; ogg_files($source, $quality); ! ! } ! else foreach(new DirectoryIterator($unzip1 . 'SampleData/') as $file) { ! ! if ($file == '.' || $file == '..') continue; // Skip these files ! ! $source = $unzip1 . 'SampleData/' . $file; ! if (is_dir($source)) ogg_files($source, $quality); } --- 143,160 ---- // SampleData directory ! if (is_dir($unzip1 . 'SampleData/')) { // Xrni or Xrns? if (preg_match('/(\.xrni$)/i',$song1)) { ! $source = $unzip1 . 'SampleData/'; ogg_files($source, $quality); ! ! } ! else foreach(new DirectoryIterator($unzip1 . 'SampleData/') as $file) { ! ! if ($file == '.' || $file == '..') continue; // Skip these files ! ! $source = $unzip1 . 'SampleData/' . $file; ! if (is_dir($source)) ogg_files($source, $quality); } |
|
From: Bantai <ba...@us...> - 2007-09-06 22:36:31
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11589 Added Files: xrns-sf.html Log Message: XRNS-SF info page, copied from the XRNS-SF module --- NEW FILE: xrns-sf.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> <title>XRNS Script Frontend Documentation</title> <style type="text/css"> body { font-family: sans-serif; } p { font-family: monospace; } p.code{ border: 1px dotted black; color:rgb(0,150,0); background-color:rgb(250,250,250); } p.warning{ font-weight:bold; color:rgb(150,0,0); } a { font-family: monospace; text-decoration:none; color:rgb(0,0,128); } a:link,a:visited,a:active { color:rgb(0,0,128); } a:hover { text-decoration:underline; color:rgb(128,0,0); } </style> </head> <body> <h3>XRNS Script Frontend 1.03</h3> <p> Developed by Alexander Stoica 2007<br /> <br /> License: Public Domain <br /> <a href="http://xrns-php.sourceforge.net">http://xrns-php.sourceforge.net</a> <br /><br /> Use <a href="mailto:in...@be...">in...@be...</a> for feedback or bug reports. <br /><br /> <a href="http://www.beatslaughter.de">http://www.beatslaughter.de</a><br /> </p> <br /> <h4>What is it?</h4> XRNS Script Frontend can be used, to provide a graphical user interface for command line scripts written in PHP on the windows operating system. <br /> <h4>How does it work?</h4> The frontend includes a stripped down version of the PHP scripting language, which is known for easy XML programming and is widely used. It's also possible to use external command line tools without requiring the user to copy them somewhere into a known path. Each script has a small config file, which defines how the GUI should be build and also holds some other infos. A more in depth look at this file will follow shortly. <br /><br /> The folder "php" holds the PHP commandline interpreter and a windows batch file, which allows one to generate a phpinfo.txt, which might be of help when developing own scripts. Any additional scripts go into the "scripts" folder with their corresponding config file. If a script relies on any extra command line tools, one should put them into the "utils" folder. <br /><br /> Since version 1.02 there are no scripts included anymore. Instead you can download these from the SourceForge download page. <br /> <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> <br /><br /> Alternatively you can download work in progress versions of the scripts. Simply start the file "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. <p class="warning"> Warning! These are work in progress and probably unstable, use at your own risk. </p> <br /> <h4>Script configuration file format reference</h4> The script configuration files are just normal *.ini files widely used by other software too. You should name the configuration file using the same basename as your script. For example, if the script is named "yourscript.php", the configuration file should be named "yourscript.cfg". <br /><br /> The first line should always be the name of the section. <p class="code">[config]</p> The following keys are used to provide general information about the script and are self explaining. <p class="code"> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does. </p> The "gui" key specifies, how the interface will be created. It accepts simple keywords, which are translated by the frontend. The order of the keywords is important, since all the information the user selects gets passed in that order as commandline parameters to the PHP script. Mutliple keywords need to be separated by a semicolon ";". <br /><br /> Following the tradition of the first example in other programming languages, here is a simple label showing "Hello world". The "label" keyword is used to place additional descriptions on the interface for the user. The text needs to be enclosed by round brackets "()". <p class="code"> gui=label(Hello world) </p> The "text" keyword can be used to request any type of text to be passed to the script. If you specify the keyword with optional round brackets "()", one can set a default text show in the textfield. <p class="code"> gui=text<br /> gui=text(default text) </p> The "clipboard" keyword will pass the clipboard contents to the script through a temporary file. The script is responsible for writing back the modified data to this file. When the script has finished executing, the contents of that temporary file will be shown in the textbox on the interface. <p class="code"> gui=clipboard </p> The "folder" keyword allows the user to browse for a folder. The chosen path will then be passed to the script. <p class="code"> gui=folder </p> The "file" keyword allows the user to browse for a file to open. The chosen file will then be passed to the script. This keyword is usually used to select a source file. <p class="code"> gui=file </p> It's also possible to specify extensions, including a default one, which will be used when the user leaves the extension blank when entering or selecting a filename in the file chooser dialog. All extensions are enclosed in round brackets "()" and each extension will be separated by a comma ",". Prepend a "def:" to the extension, which one wants to define as default. <p class="code"> gui=file(def:xrns, xrni, zip) </p> The keyword "output" behaves nearly like the "file" keyword with some exceptions. The current directory will be set to the path of this file, similar like the user has called the PHP interpreter from this location. This keyword is usually used to select a destination file. <p class="code"> gui=output<br /> gui=output(def:xrns, xrni, zip) </p> The last keyword is "options". It's used to display a combobox, where one can choose one of multiple options. It's also possible to define a default selected entry. <p class="code"> gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> As a summary, here is an example of how a complete configuration file looks like. <p class="code"> [config]<br /> caption=Name of the script<br /> author=Coded by John Doe.<br /> url=http://www.johndoe.com<br /> description=Short description, what your script does.<br /> gui=label(Select an option:); options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10) </p> <h4>Thanks and Credits</h4> This product includes PHP software, freely available from:<br /> <a href=http://www.php.net/software/>http://www.php.net/software</a>. <br /><br /> Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> <a href="http://www.xiph.org">http://www.xiph.org</a> <br /><br /> Info-ZIP Workgroup for the zip and unzip utilities.<br /> <a href="http://www.info-zip.org">http://www.info-zip.org</a> <br /><br /> gnu.org for the CVS command line utility.<br /> <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> <br /><br /> Pelle Orinius for his excellent C programming IDE and compiler.<br /> <a href="http://www.smorgasbordet.com/pellesc">http://www.smorgasbordet.com/pellesc</a> <br /><br /> Dac Chartrand for his original idea.<br /> <a href="http://www.trotch.com">http://www.trotch.com</a> <br /> <h4>History</h4> Version 1.03 (08/31/2007)<br /> <ul> <li>Changed: The update redirects now to the SourceForge download page.</li> <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> </ul> Version 1.02 (08/29/2007)<br /> <ul> <li>Added: New keyword "text", to accept any text input from the user.</li> <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> </ul> Version 1.01 (08/19/2007)<br /> <ul> <li>Fixed: Using one of the keywords "options", "file" or "output" with only one parameter made the application hang.</li> </ul> Version 1.0 (08/13/2007)<br /> <ul> <li>initial release</li> </ul> <br /> </body> </html> |
|
From: Bantai <ba...@us...> - 2007-09-06 22:30:48
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv8899 Modified Files: index.html Log Message: Link to XRNS-SF page. XRNS Search and Replace. Index: index.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/index.html,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** index.html 24 Aug 2007 22:48:34 -0000 1.9 --- index.html 6 Sep 2007 22:30:47 -0000 1.10 *************** *** 19,23 **** </h4> <p> ! Last update: 25 Aug 2007<br /> Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a> </p> --- 19,23 ---- </h4> <p> ! Last update: 7 Sep 2007<br /> Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a> </p> *************** *** 60,64 **** <ul> <li> ! <b>xrns-sf</b>: XRNS Script Frontend, a graphical interface to any PHP script (for Windows) </li> <li> --- 60,64 ---- <ul> <li> ! <b><a href="xrns-sf.html">xrns-sf</a></b>: XRNS Script Frontend, a graphical interface to any PHP script (for Windows) </li> <li> *************** *** 80,83 **** --- 80,86 ---- <b>xml2mid:</b> converts a MidiXML file to MIDI format </li> + <li> + <b>xrns_searchandreplace:</b> Replaces every occurance of specific note in the song to another one + </li> </ul> <h2> |
|
From: Bantai <ba...@us...> - 2007-09-06 21:58:08
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv27033 Modified Files: xrns2midi.html Log Message: v0.20 release Index: xrns2midi.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/xrns2midi.html,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** xrns2midi.html 25 Aug 2007 22:37:43 -0000 1.5 --- xrns2midi.html 6 Sep 2007 21:57:53 -0000 1.6 *************** *** 19,25 **** </h4> <p> ! Last update: 26 Aug 2007<br /> Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a><br /> ! Latest version: v0.19<br /> Developers: <a href="http://sourceforge.net/users/bantai/">Marvin Tjon (Bantai)</a>, <a href="http://sourceforge.net/users/conner_bw">Dac Chartrand (Conner_Bw)</a> </p> --- 19,25 ---- </h4> <p> ! Last update: 6 Sep 2007<br /> Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a><br /> ! Latest version: v0.20<br /> Developers: <a href="http://sourceforge.net/users/bantai/">Marvin Tjon (Bantai)</a>, <a href="http://sourceforge.net/users/conner_bw">Dac Chartrand (Conner_Bw)</a> </p> *************** *** 90,93 **** --- 90,106 ---- </h2> <h3> + v0.20 + </h3> + <ol> + <p>This release has many bug-fixes related to tick-based timing, and volume and panning column effects, including but not limited to:</p> + <li>Fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1789187&group_id=203983&atid=987783">Missing BPM changes on LPB switch</a>.</li> + <li>Fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1784837&group_id=203983&atid=987783">Wrong timestamp at line with tempo or speed change</a>.</li> + <li>Fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1784823&group_id=203983&atid=987783">Wrongly executed tick-based effects</a>.</li> + <li><a href="http://tutorials.renoise.com/?n=Renoise.DelayCutTrick">Delay Cut Trick</a> now supported.</li> + <li>Panning column effects Dx, Ex and Fx are now implemented.</li> + <li>Note-offs can be used with Dx-command. Not tested with other effects.</li> + <li>Enabled XRNS schema validation.</li> + </ol> + <h3> v0.19 </h3> |
|
From: Bantai <ba...@us...> - 2007-09-06 21:47:06
|
Update of /cvsroot/xrns-php/xrns-sf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv22268 Modified Files: main.c main.rc xrns-sf.html Added Files: get_cvs_dev_version_scripts.cmd Log Message: Update from 31-8-2007 Index: main.c =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/main.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** main.c 29 Aug 2007 18:45:31 -0000 1.2 --- main.c 6 Sep 2007 21:46:53 -0000 1.3 *************** *** 6,10 **** * * * History : Date Reason * ! * 08/29/07 Last modfied by Alexander Stoica * * * ****************************************************************************/ --- 6,10 ---- * * * History : Date Reason * ! * 08/23/07 Last modfied by Alexander Stoica * * * ****************************************************************************/ *************** *** 47,51 **** #define PROGRAMNAME _T("XRNS Script Frontend") ! #define PROGRAMVERSION _T("Version: 1.02") #define BUFFER 32768 --- 47,51 ---- #define PROGRAMNAME _T("XRNS Script Frontend") ! #define PROGRAMVERSION _T("Version: 1.03") #define BUFFER 32768 *************** *** 59,63 **** LABEL, CLIPBOARD, ! TEXT } CTRLTYPE; --- 59,63 ---- LABEL, CLIPBOARD, ! TEXT } CTRLTYPE; *************** *** 562,566 **** WIN32_FIND_DATA fd; HANDLE hFound = INVALID_HANDLE_VALUE; ! int iAnswer; GetModuleFileName(ghInstance, szSearchString, DIMOF(szSearchString)); --- 562,566 ---- WIN32_FIND_DATA fd; HANDLE hFound = INVALID_HANDLE_VALUE; ! int iAnswer; GetModuleFileName(ghInstance, szSearchString, DIMOF(szSearchString)); *************** *** 602,607 **** iAnswer = MessageBox(NULL, _T("No script configuration files were found! Do you want to look online for scripts?"), _T("Error"), MB_YESNO|MB_ICONERROR); ! if (iAnswer == IDYES) ! ShellExecute(NULL, _T("open"), _T("update_scripts.cmd"), NULL, NULL, SW_SHOWNORMAL); exit(EXIT_FAILURE); --- 602,607 ---- iAnswer = MessageBox(NULL, _T("No script configuration files were found! Do you want to look online for scripts?"), _T("Error"), MB_YESNO|MB_ICONERROR); ! if (iAnswer == IDYES) ! Hyperlink_OpenUrl(_T("http://sourceforge.net/project/showfiles.php?group_id=203983")); exit(EXIT_FAILURE); *************** *** 662,685 **** szFound = StrPBrk(szToken, _T(",")); ! if (szFound != NULL) ! { ! do ! { ! szFound = CharNext(szFound); ! ZeroMemory(CharPrev(szToken, szFound), sizeof(TCHAR)); ! ZeroMemory(szTemp, DIMOF(szTemp)); ! lstrcpy(szTemp, szToken); ! StrTrim(szTemp, _T("( )")); ! if (StrStrI(szTemp, _T("def:"))) ! iDefaultValue = ComboBox_AddString(hwndTemp, &szTemp[4]); ! else ! ComboBox_AddString(hwndTemp, szTemp); ! szToken = szFound; ! } ! while ((szFound = StrPBrk(szToken, _T(","))) != NULL); ! } ZeroMemory(szTemp, DIMOF(szTemp)); --- 662,685 ---- szFound = StrPBrk(szToken, _T(",")); ! if (szFound != NULL) ! { ! do ! { ! szFound = CharNext(szFound); ! ZeroMemory(CharPrev(szToken, szFound), sizeof(TCHAR)); ! ZeroMemory(szTemp, DIMOF(szTemp)); ! lstrcpy(szTemp, szToken); ! StrTrim(szTemp, _T("( )")); ! if (StrStrI(szTemp, _T("def:"))) ! iDefaultValue = ComboBox_AddString(hwndTemp, &szTemp[4]); ! else ! ComboBox_AddString(hwndTemp, szTemp); ! szToken = szFound; ! } ! while ((szFound = StrPBrk(szToken, _T(","))) != NULL); ! } ZeroMemory(szTemp, DIMOF(szTemp)); *************** *** 764,771 **** if ((szToken = StrPBrk(szToken, _T("("))) != NULL) ! { ! StrTrim(szToken, _T("( )")); ! SetWindowText(hwndTemp, szToken); ! } pci = HEAPALLOC(sizeof(CTRL)); --- 764,771 ---- if ((szToken = StrPBrk(szToken, _T("("))) != NULL) ! { ! StrTrim(szToken, _T("( )")); ! SetWindowText(hwndTemp, szToken); ! } pci = HEAPALLOC(sizeof(CTRL)); *************** *** 953,957 **** case FOLDER: case CLIPBOARD: ! case TEXT: DestroyWindow(pci->hwndTextBox); --- 953,957 ---- case FOLDER: case CLIPBOARD: ! case TEXT: DestroyWindow(pci->hwndTextBox); *************** *** 1221,1225 **** case FILE: case FOLDER: ! case TEXT: GetWindowText(pci->hwndTextBox, szBuffer, DIMOF(szBuffer)); --- 1221,1225 ---- case FILE: case FOLDER: ! case TEXT: GetWindowText(pci->hwndTextBox, szBuffer, DIMOF(szBuffer)); *************** *** 1405,1409 **** } case OPTIONS: ! case TEXT: SetWindowPos(hwnd, HWND_TOP, 0, 0, rcControlArea.right, 20, SWP_NOMOVE|SWP_NOZORDER); --- 1405,1409 ---- } case OPTIONS: ! case TEXT: SetWindowPos(hwnd, HWND_TOP, 0, 0, rcControlArea.right, 20, SWP_NOMOVE|SWP_NOZORDER); --- NEW FILE: get_cvs_dev_version_scripts.cmd --- : ::::::::::::::::::::::::::::::::::::::::::::::::: : : download cvs developement versions of the scripts : : ::::::::::::::::::::::::::::::::::::::::::::::::: : : warning! these are work in progress and are : : probably unstable, use at your own risk. : : ::::::::::::::::::::::::::::::::::::::::::::::::: : @.\utils\cvs -z9 -d:pserver:ano...@xr...:/cvsroot/xrns-php co -d scripts -P xrns-php/scripts/ Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/xrns-sf.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** xrns-sf.html 29 Aug 2007 18:45:31 -0000 1.1 --- xrns-sf.html 6 Sep 2007 21:46:53 -0000 1.2 *************** *** 19,22 **** --- 19,27 ---- } + p.warning{ + font-weight:bold; + color:rgb(150,0,0); + } + a { font-family: monospace; *************** *** 37,41 **** <body> ! <h3>XRNS Script Frontend 1.02</h3> <p> Developed by Alexander Stoica 2007<br /> --- 42,46 ---- <body> ! <h3>XRNS Script Frontend 1.03</h3> <p> Developed by Alexander Stoica 2007<br /> *************** *** 69,76 **** folder. <br /><br /> ! Since version 1.02 there are no scripts and additional utilities supplied anymore. Instead ! it's possible now to get everything needed online from SourceForge. Just run the included ! file "update_scripts.cmd". If you don't have internet available at your machine, you can simply ! copy the program to an USB stick and run it from there, then copy it back to your machine. <br /> --- 74,87 ---- folder. <br /><br /> ! Since version 1.02 there are no scripts included anymore. Instead you can download these from the ! SourceForge download page. ! <br /> ! <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">http://sourceforge.net/project/showfiles.php?group_id=203983</a> ! <br /><br /> ! Alternatively you can download work in progress versions of the scripts. Simply start the file ! "get_cvs_dev_version_scripts.cmd" and it will download these from the SourceForge page. ! <p class="warning"> ! Warning! These are work in progress and probably unstable, use at your own risk. ! </p> <br /> *************** *** 155,158 **** --- 166,175 ---- <a href=http://www.php.net/software/>http://www.php.net/software</a>. <br /><br /> + Xiph.Org Foundation for the flac and ogg encoder/decoder utilities.<br /> + <a href="http://www.xiph.org">http://www.xiph.org</a> + <br /><br /> + Info-ZIP Workgroup for the zip and unzip utilities.<br /> + <a href="http://www.info-zip.org">http://www.info-zip.org</a> + <br /><br /> gnu.org for the CVS command line utility.<br /> <a href="http://www.nongnu.org/cvs">http://www.nongnu.org/cvs</a> *************** *** 166,173 **** <h4>History</h4> Version 1.02 (08/29/2007)<br /> <ul> <li>Added: New keyword "text", to accept any text input from the user.</li> ! <li>Changed: The frontend has no included scripts and tools anymore, instead it's possible to get all the files with an online update.</li> </ul> Version 1.01 (08/19/2007)<br /> --- 183,195 ---- <h4>History</h4> + Version 1.03 (08/31/2007)<br /> + <ul> + <li>Changed: The update redirects now to the SourceForge download page.</li> + <li>Changed: The file "update_scripts.cmd" was renamed to "get_cvs_dev_version_scripts.cmd", so that it's more clear that these are work in progress versions.</li> + </ul> Version 1.02 (08/29/2007)<br /> <ul> <li>Added: New keyword "text", to accept any text input from the user.</li> ! <li>Changed: The frontend has no included scripts anymore, instead it's possible to get all the files with an online update.</li> </ul> Version 1.01 (08/19/2007)<br /> Index: main.rc =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/main.rc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** main.rc 29 Aug 2007 18:45:31 -0000 1.2 --- main.rc 6 Sep 2007 21:46:53 -0000 1.3 *************** *** 57,62 **** VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,0,2,0 ! PRODUCTVERSION 1,0,2,0 FILEFLAGSMASK 0x3F FILEFLAGS 0x0 --- 57,62 ---- VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,0,3,0 ! PRODUCTVERSION 1,0,3,0 FILEFLAGSMASK 0x3F FILEFLAGS 0x0 *************** *** 71,80 **** VALUE "CompanyName", "Alexander Stoica\0" VALUE "FileDescription", "XRNS Script Frontend\0" ! VALUE "FileVersion", "1.02\0" VALUE "InternalName", "xrns-sf.exe\0" VALUE "LegalCopyright", "License: Public Domain\0" VALUE "OriginalFilename", "xrns-sf.exe\0" VALUE "ProductName", "XRNS Script Frontend\0" ! VALUE "ProductVersion", "1.02\0" END END --- 71,80 ---- VALUE "CompanyName", "Alexander Stoica\0" VALUE "FileDescription", "XRNS Script Frontend\0" ! VALUE "FileVersion", "1.03\0" VALUE "InternalName", "xrns-sf.exe\0" VALUE "LegalCopyright", "License: Public Domain\0" VALUE "OriginalFilename", "xrns-sf.exe\0" VALUE "ProductName", "XRNS Script Frontend\0" ! VALUE "ProductVersion", "1.03\0" END END |
|
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2007-09-06 03:18:47
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv20995 Modified Files: xrns_merge.php Log Message: Forgot to change date. Index: xrns_merge.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_merge.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** xrns_merge.php 6 Sep 2007 03:10:39 -0000 1.6 --- xrns_merge.php 6 Sep 2007 03:18:48 -0000 1.7 *************** *** 7,11 **** Will output merged file to current working directory ! Public Domain, last modified August 25th, 2007 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ --- 7,11 ---- Will output merged file to current working directory ! Public Domain, last modified September 5th, 2007 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ |