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 - 2009-05-18 14:52:14
|
Update of /cvsroot/xrns-php/xrns-php/scripts/schemas In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9311/scripts/schemas Modified Files: RenoiseInstrument7.xsd Added Files: VERSIONS README.txt RenoiseSong15.xsd RenoiseDeviceChain8.xsd FilterDevicePreset3.xsd Log Message: New Schemase from Renoise 2.1 --- NEW FILE: RenoiseDeviceChain8.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" type="RenoiseDeviceChain"/> <xs:complexType name="RenoiseDeviceChain"> <xs:all> <xs:element name="Devices" minOccurs="0"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="MidiCCDevice" minOccurs="0" maxOccurs="unbounded" type="MidiCCDevice"/> <xs:element name="BusCompressorDevice" minOccurs="0" maxOccurs="unbounded" type="BusCompressorDevice"/> <xs:element name="ChorusDevice" minOccurs="0" maxOccurs="unbounded" type="ChorusDevice"/> <xs:element name="CompressorDevice" minOccurs="0" maxOccurs="unbounded" type="CompressorDevice"/> <xs:element name="DcOffsetDevice" minOccurs="0" maxOccurs="unbounded" type="DcOffsetDevice"/> <xs:element name="DelayDevice" minOccurs="0" maxOccurs="unbounded" type="DelayDevice"/> <xs:element name="DistortionDevice" minOccurs="0" maxOccurs="unbounded" type="DistortionDevice"/> <xs:element name="Distortion2Device" minOccurs="0" maxOccurs="unbounded" type="Distortion2Device"/> <xs:element name="Eq10Device" minOccurs="0" maxOccurs="unbounded" type="Eq10Device"/> <xs:element name="Eq5Device" minOccurs="0" maxOccurs="unbounded" type="Eq5Device"/> <xs:element name="Filter1Device" minOccurs="0" maxOccurs="unbounded" type="Filter1Device"/> [...1333 lines suppressed...] <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" type="CCMappingDocument"/> </xs:sequence> <xs:attribute name="type" use="optional" type="xs:string"/> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="type" use="optional" type="xs:string"/> </xs:complexType> </xs:schema> --- NEW FILE: VERSIONS README.txt --- File Extension & XSD definitions: --------------------------------- XRNS (Extended Renoise Song) -> RenoiseSongXX.xsd XRNI (Extended Renoise Instrument) -> RenoiseInstrumentXX.xsd XRNT (Extended Renoise Track) -> RenoiseDeviceChainsXX.xsd XRDP (Extended Renoise Device Preset) -> FilterDevicePresetXX.xsd Note: XRNS, XRNI and XRNTs are zip containers (you can open them with any PKZip compatible tool). The main XML file is then in the root of the Archive. XRDP is a plain XML file with a *.XRDP file extension. Renoise Releases & XSD definition versions: ------------------------------------------- Renoise 1.5.0 (and below) -> N/A: Used different "closed" binary formats Renoise 1.8.0 -> RenoiseSong 4 -> RenoiseInstrument 2 -> RenoiseDeviceChain 3 -> (no FilterDevicePresets) Renoise 1.9.0 -> RenoiseSong: 9 -> RenoiseInstrument: 5 -> RenoiseDeviceChain: 5 -> FilterDevicePreset: 1 Renoise 1.9.1 -> RenoiseSong: 10 -> RenoiseInstrument: 6 -> RenoiseDeviceChain: 6 -> FilterDevicePreset: 1 Renoise 2.0.0 -> RenoiseSong: 14 -> RenoiseInstrument: 7 -> RenoiseDeviceChain: 7 -> FilterDevicePreset: 2 Renoise 2.1.0 -> RenoiseSong: 15 -> RenoiseInstrument: 7 -> RenoiseDeviceChain: 8 -> FilterDevicePreset: 3 Note: all missing intermediate XSD versions (e.g. RenoiseSong 5-8) can safely be ignored. These are only used in "private" alpha/beta releases, which never went public. --- NEW FILE: FilterDevicePreset3.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" type="FilterDevicePreset"/> <xs:complexType name="FilterDevicePreset"> <xs:all> <xs:element name="DeviceSlot" minOccurs="0" type="AudioPluginDevice"/> <xs:element name="DeviceSlot" minOccurs="0" type="BusCompressorDevice"/> <xs:element name="DeviceSlot" minOccurs="0" type="ChorusDevice"/> <xs:element name="DeviceSlot" minOccurs="0" type="CompressorDevice"/> <xs:element name="DeviceSlot" minOccurs="0" type="DcOffsetDevice"/> <xs:element name="DeviceSlot" minOccurs="0" type="DelayDevice"/> <xs:element name="DeviceSlot" minOccurs="0" type="Distortion2Device"/> <xs:element name="DeviceSlot" minOccurs="0" type="DistortionDevice"/> <xs:element name="DeviceSlot" minOccurs="0" type="Eq10Device"/> <xs:element name="DeviceSlot" minOccurs="0" type="Eq5Device"/> <xs:element name="DeviceSlot" minOccurs="0" type="Filter1Device"/> <xs:element name="DeviceSlot" minOccurs="0" type="Filter2Device"/> <xs:element name="DeviceSlot" minOccurs="0" type="Filter3Device"/> <xs:element name="DeviceSlot" minOccurs="0" type="FilterDistortionDevice"/> [...1065 lines suppressed...] <xs:element name="SrcInstrument" type="xs:int" default="-1" minOccurs="0"/> <xs:element name="VelocityScaling" default="Log Slow" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Log Fast"/> <xs:enumeration value="Log Slow"/> <xs:enumeration value="Linear"/> <xs:enumeration value="Exp Slow"/> <xs:enumeration value="Exp Fast"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="VelocityMin" type="xs:int" default="0" minOccurs="0"/> <xs:element name="VelocityMax" type="xs:int" default="127" minOccurs="0"/> <xs:element name="DestMin" minOccurs="0" type="FilterDeviceParameter"/> <xs:element name="DestMax" minOccurs="0" type="FilterDeviceParameter"/> </xs:all> <xs:attribute name="type" use="required" type="xs:string" fixed="VelocityDevice"/> </xs:complexType> </xs:schema> --- NEW FILE: RenoiseSong15.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" type="RenoiseSong"/> <xs:complexType name="RenoiseSong"> <xs:all> <xs:element name="GlobalSongData" minOccurs="0" type="GlobalSongData"/> <xs:element name="RecordManager" minOccurs="0" type="RecordManager"/> <xs:element name="Instruments" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Instrument" minOccurs="0" maxOccurs="unbounded" type="RenoiseInstrument"/> </xs:sequence> <xs:attribute name="type" use="optional" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="SelectedInstrumentIndex" type="xs:int" default="0" minOccurs="0"/> <xs:element name="SelectedSampleIndex" type="xs:int" default="0" minOccurs="0"/> <xs:element name="Tracks" minOccurs="0"> <xs:complexType> [...1988 lines suppressed...] <xs:sequence> <xs:element name="Pattern" type="xs:int" default="0" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="LoopSelection" minOccurs="0" type="PatternSequenceSelection"/> <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:attribute name="type" use="optional" type="xs:string"/> </xs:complexType> <xs:complexType name="PatternSequenceSelection"> <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:attribute name="type" use="optional" type="xs:string"/> </xs:complexType> </xs:schema> Index: RenoiseInstrument7.xsd =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/schemas/RenoiseInstrument7.xsd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RenoiseInstrument7.xsd 6 Jan 2009 21:31:28 -0000 1.1 --- RenoiseInstrument7.xsd 18 May 2009 14:52:10 -0000 1.2 *************** *** 1,816 **** <?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"/> [...1131 lines suppressed...] ! <xs:element name="MidiMapping" minOccurs="0" maxOccurs="unbounded" type="CCMappingDocument"/> ! </xs:sequence> ! <xs:attribute name="type" use="optional" type="xs:string"/> ! </xs:complexType> ! </xs:element> ! </xs:all> ! <xs:attribute name="type" use="optional" type="xs:string"/> ! </xs:complexType> ! <xs:complexType name="CCMappingDocument"> ! <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:attribute name="type" use="optional" type="xs:string"/> ! </xs:complexType> </xs:schema> |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2009-01-06 22:16:42
|
Update of /cvsroot/xrns-php/xrns-php/scripts/schemas In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32656/scripts/schemas Added Files: RenoiseInstrument7.xsd RenoiseSong14.xsd RenoiseDeviceChain7.xsd FilterDevicePreset2.xsd Log Message: Schemas from Renoise 2.0 RC3 --- NEW FILE: FilterDevicePreset2.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="Threshold" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Value" type="xs:float" default="-12" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="Ratio" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="Value" type="xs:float" default="0.0" minOccurs="0"/> [...1839 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="2"/> </xs:complexType> </xs:element> </xs:schema> --- NEW FILE: RenoiseInstrument7.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="CopyIntoNewSampleNameCounter" type="xs:int" default="0" minOccurs="0"/> <xs:element name="CopyIntoNewInstrumentNameCounter" type="xs:int" default="0" minOccurs="0"/> <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="InstrumentType" default="ext. MIDI" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="ext. MIDI"/> <xs:enumeration value="LineIn Ret"/> </xs:restriction> </xs:simpleType> </xs:element> <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="OutputRoutings" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="OutputRouting" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Enabled" type="xs:boolean" default="true" minOccurs="0"/> <xs:element name="Name" type="xs:string" default="Bus #01" minOccurs="0"/> <xs:element name="MixMode" default="L+R" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="L"/> <xs:enumeration value="R"/> <xs:enumeration value="L+R"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="AutoAssign" type="xs:boolean" default="true" minOccurs="0"/> <xs:element name="AssignedTrack" type="xs:int" default="-1" minOccurs="0"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <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="AliasFxIndices" type="xs:string" default="-1,-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="SelectedPresetIsModified" type="xs:boolean" default="false" 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="PluginType" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="AU"/> <xs:enumeration value="VST"/> <xs:enumeration value="LADSAP"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PluginIdentifier" type="xs:string" minOccurs="0"/> <xs:element name="PluginDisplayName" type="xs:string" minOccurs="0"/> <xs:element name="PluginShortDisplayName" type="xs:string" minOccurs="0"/> <xs:element name="PluginEditorWindowPosition" type="xs:string" default="-1,-1" 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="PluginType" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="AU"/> <xs:enumeration value="VST"/> <xs:enumeration value="LADSAP"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PluginIdentifier" type="xs:string" minOccurs="0"/> <xs:element name="PluginDisplayName" type="xs:string" minOccurs="0"/> <xs:element name="PluginShortDisplayName" type="xs:string" minOccurs="0"/> <xs:element name="PluginEditorWindowPosition" type="xs:string" default="-1,-1" 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="PluginType" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="AU"/> <xs:enumeration value="VST"/> <xs:enumeration value="LADSAP"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PluginIdentifier" type="xs:string" minOccurs="0"/> <xs:element name="PluginDisplayName" type="xs:string" minOccurs="0"/> <xs:element name="PluginShortDisplayName" type="xs:string" minOccurs="0"/> <xs:element name="PluginEditorWindowPosition" type="xs:string" default="-1,-1" 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="7"/> </xs:complexType> </xs:element> </xs:schema> --- NEW FILE: RenoiseDeviceChain7.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="BusCompressorDevice" 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="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="RunTimePresetA" minOccurs="0"> <xs:complexType> <xs:all> <xs:element name="DeviceSlot" minOccurs="0"> [...11820 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="7"/> </xs:complexType> </xs:element> </xs:schema> --- NEW FILE: RenoiseSong14.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="RecordQuantizationEnabled" type="xs:boolean" default="false" minOccurs="0"/> <xs:element name="RecordQuantizationAmount" 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:float" default="128" minOccurs="0"/> <xs:element name="LinesPerBeat" type="xs:int" default="4" minOccurs="0"/> <xs:element name="TicksPerLine" type="xs:int" default="12" minOccurs="0"/> <xs:element name="ShuffleIsActive" type="xs:boolean" default="false" minOccurs="0"/> [...37195 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="14"/> </xs:complexType> </xs:element> </xs:schema> |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2009-01-01 00:35:29
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv5576/scripts Modified Files: xrns_delete_unused_tracks.php Log Message: Fixed comments Index: xrns_delete_unused_tracks.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_delete_unused_tracks.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns_delete_unused_tracks.php 6 Nov 2007 22:21:32 -0000 1.2 --- xrns_delete_unused_tracks.php 1 Jan 2009 00:35:23 -0000 1.3 *************** *** 4,9 **** 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 --- 4,9 ---- Requires: PHP5 and Info-Zip (http://www.info-zip.org/) ! Usage: `php xrns_delete_unused_tracks.php /path/to/file1.xrns file2.xrns` ! Will output resulting file to current working directory Public Domain, last modified November 6th, 2007 |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2009-01-01 00:32:00
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv5387/scripts Added Files: xrns_sort_instruments.php xrns_sort_instruments.cfg Log Message: Initial check-in: This script sorts instruments from biggest filesize to smallest --- NEW FILE: xrns_sort_instruments.cfg --- [config] caption=XRNS Sort Instruments author=Coded by XXXXXXXXXXXXX. url=http://www.trotch.com/ description=This script sorts instruments from biggest filesize to smallest gui=label(Select the file you want to sort:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip) --- NEW FILE: xrns_sort_instruments.php --- <?php /* Requires: PHP5 and Info-Zip (http://www.info-zip.org/) Usage: `php xrns_sort_instruments.php /path/to/file1.xrns file2.xrns` Will output resulting file to current working directory Public Domain, last modified December 31st, 2008 Coded by XXXXXXXXXXXXX of http://www.trotch.com/ */ // ---------------------------------------------------------------------------- // Variables // ---------------------------------------------------------------------------- $tmp_dir = '/tmp'; // ---------------------------------------------------------------------------- // Requires // ---------------------------------------------------------------------------- require_once('xrns_functions.php'); // ---------------------------------------------------------------------------- // Functions // ---------------------------------------------------------------------------- function dirsize($dirname) { if (!is_dir($dirname) || !is_readable($dirname)) { return false; } $dirname_stack[] = $dirname; $size = 0; do { $dirname = array_shift($dirname_stack); $handle = opendir($dirname); while (false !== ($file = readdir($handle))) { if ($file != '.' && $file != '..' && is_readable($dirname . '/' . $file)) { if (is_dir($dirname . '/' . $file)) { $dirname_stack[] = $dirname . '/' . $file; } $size += filesize($dirname . '/' . $file); } } closedir($handle); } while (count($dirname_stack) > 0); return $size; } // ---------------------------------------------------------------------------- // 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_sort_instruments_' . 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'); // ---------------------------------------------------------------------------- // Do the dirty // ---------------------------------------------------------------------------- $sort_me = array(); $size_me = array(); $i = 0; foreach ($sx1->Instruments->Instrument as $inst) { // Store Instrument nodes $sort_me[$i] = $inst; // Store instrument sizes $size = dirsize($unzip1 . 'SampleData/Instrument' . str_pad(($i), 2, '0', STR_PAD_LEFT) . ' (' . trim($inst->Name) . ')'); $size_me[$i] = $size; ++$i; } arsort($size_me); // Sort // print_r($size_me); // Debug // Make a new directory to avoid overwriting instruments with the same name mkdir($unzip1 .'SampleDataNew'); $sorted = array(); $dupe_dir = array(); $search_replace = array(); $i = 0; foreach($size_me as $key => $val) { // We need to clone otherwise the nodes, which are references by default, // disapear when we delete them $sorted[$i] = clone $sort_me[$key]; // Keep track of instruments in order to swap them later $tmp = sprintf("%02X", $key); $search_replace[$tmp] = sprintf("%02X", $i); // Move the files if ($val !== false) { $name = trim($sort_me[$key]->Name); $dirname1 = $unzip1 . 'SampleData/Instrument' . str_pad(($key), 2, '0', STR_PAD_LEFT) . " ($name)"; $dirname2 = $unzip1 . 'SampleDataNew/Instrument' . str_pad(($i), 2, '0', STR_PAD_LEFT) . " ($name)"; dircopy($dirname1, $dirname2); // Debug // echo "Source: $dirname1 \n"; // echo "Dest: $dirname2 \n\n"; } ++$i; } // Put humpty back together again obliterate_directory($unzip1 . 'SampleData'); mkdir($unzip1 .'SampleData'); dircopy($unzip1 . 'SampleDataNew', $unzip1 . 'SampleData'); // print_r($search_replace); // Debug // Search and replace foreach ($sx1->PatternPool->Patterns->Pattern as $p) { foreach ($p->Tracks->PatternTrack as $x) if ($x->Lines->Line) { foreach ($x->Lines->Line as $y) if ($y->NoteColumns->NoteColumn) { foreach ($y->NoteColumns->NoteColumn as $z) if ($z->Instrument) { $tmp = $z->Instrument . ''; // Stringify if(isset($search_replace[$tmp])) $z->Instrument = $search_replace[$tmp]; } } } } // Delete stuff $total = count($sx1->Instruments->Instrument); for($i = $total - 1; $i >= 0; --$i) { unset($sx1->Instruments->Instrument[$i]); } // Append stuff foreach($sorted as $inst) { simplexml_append($sx1->Instruments, $inst); } // ---------------------------------------------------------------------------- // 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 - 2008-12-30 16:40:55
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv21495/scripts Modified Files: xrns_reorganize_instruments_notes.php class.xrns_reorganize_instruments_notes.php Log Message: Bugfixes Index: class.xrns_reorganize_instruments_notes.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/class.xrns_reorganize_instruments_notes.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** class.xrns_reorganize_instruments_notes.php 29 Dec 2008 18:08:17 -0000 1.2 --- class.xrns_reorganize_instruments_notes.php 30 Dec 2008 16:40:49 -0000 1.3 *************** *** 9,20 **** ! Usage: Reorganizes the notes of instruments to their specific tracks. ! It helps you to restructure your songs for the mixing requirements of Renoise. ! This tool is for usage with former XM files only. ! It does not work with more than one note column. - You have to include an empty instrument on position 00 Last modified: December 29th, 2008 Coded by: Christian Messow alias vereiser of http://www.vereiser.de */ --- 9,35 ---- ! Usage: This script reorganizes all notes in a song, so that each instrument will use a separate track. ! Typically XM modules triggered multiple instruments in the same track, ! which would complicate any further work in Renoise. So this script is for xm files converted ! to xrns only. ! ! Note: ! 1. The first slot in the instrument bar has to be blank. ! 2. Delete all instrument slots which you do not need. ! (Especially all slots after the last used instrument slot) ! 3. If you want to run this script on your php-server, the zip.exe and unzip.exe have ! to be placed in the same folder as this script Last modified: December 29th, 2008 Coded by: Christian Messow alias vereiser of http://www.vereiser.de + History: Version 1.0 (April 24th) + Version 1.0.1 (December 29th) + - fixed: instruments with a number higher than 9 will not ignore anymore + - adding: delete unused tracks + Version 1.0.2 (December 30th) + - fixed: empty notes of a not track owned instrument will be muted + - adding: every line of an instrument with a C parameter setted to 00 is defined + with a note off (needed for using VSTi) + */ *************** *** 239,243 **** private function deleteAllNotesWhichAreNotPartOfTheInstrument( $instruments, $instrument_positions ) { - $cleaningData = array(); $ip_keys = array_keys( $instrument_positions ); --- 254,257 ---- *************** *** 283,287 **** $instrumentNumberNoteColumn = (string) $line->NoteColumns->NoteColumn[$a]->Instrument->{0}; ! // * if instrument is not part of the instrument track if ( --- 297,301 ---- $instrumentNumberNoteColumn = (string) $line->NoteColumns->NoteColumn[$a]->Instrument->{0}; ! // * following notes are part of the actual instrument, if ( *************** *** 292,296 **** $this->is_track_instrument = true; } ! // * if instrument is not part of the instrument track if --- 306,320 ---- $this->is_track_instrument = true; } ! ! // * following notes are part of a foreign instrument ! if ! ( ! $instrumentNumberNoteColumn !== $decInstrument && ! $decInstrument && $instrumentNumberNoteColumn !== "" ! ) ! { ! $this->is_track_instrument = false; ! } ! // * if instrument is not part of the instrument track if *************** *** 301,321 **** { $this->muteNoteColumn( $line->NoteColumns->NoteColumn[$a] ); - $cleaned = true; } else { // * if no instrument note is set, check if the empty note ! // is part of the instrument, which should not deleted if ( $instrumentNumberNoteColumn === "" && !$this->is_track_instrument ) { $this->muteNoteColumn( $line->NoteColumns->NoteColumn[$a] ); - $this->is_track_instrument = false; - $cleaned = true; } ! } ! ! if ( $cleaned ) ! { ! $cleaningData[$decInstrument][] = "$instrumentNumberNoteColumn\n"; } } --- 325,350 ---- { $this->muteNoteColumn( $line->NoteColumns->NoteColumn[$a] ); } else { // * if no instrument note is set, check if the empty note ! // is part of the instrument, which should not be deleted if ( $instrumentNumberNoteColumn === "" && !$this->is_track_instrument ) { $this->muteNoteColumn( $line->NoteColumns->NoteColumn[$a] ); } ! else ! { ! // * To use a VSTi on an instrument, each line with the pattern command C setted to 00 ! // will be defined with a note off ! if ! ( ! $instrumentNumberNoteColumn === "" && ! $line->NoteColumns->NoteColumn[$a]->Volume == 0 ! ) ! { ! $line->NoteColumns->NoteColumn[$a]->Note = "OFF"; ! } ! } } } *************** *** 327,346 **** } } - - /* - $fp = fopen( dirname(__FILE__)."/data.txt", "w" ); - - foreach ( $cleaningData as $ckey => $cleaningDat ) - { - fwrite( $fp, "Instrument: $ckey\n" ); - - - foreach ( $cleaningDat as $dates ) - { - fwrite( $fp, "$dates\n" ); - } - } - fclose($fp); - */ } --- 356,359 ---- Index: xrns_reorganize_instruments_notes.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_reorganize_instruments_notes.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xrns_reorganize_instruments_notes.php 29 Dec 2008 18:08:17 -0000 1.2 --- xrns_reorganize_instruments_notes.php 30 Dec 2008 16:40:49 -0000 1.3 *************** *** 1,22 **** <?php ! /** ! * Usage: This script reorganizes all notes in a song, so that each instrument will use a separate track. ! * Typically XM modules triggered multiple instruments in the same track, ! * which would complicate any further work in Renoise. So this script is for xm files converted ! * to xrns only. ! * First Version: April 11th, 2008 ! * Last modified: Novembre 10th, 2008 ! * Coded by: Christian Messow alias vereiser of http://www.vereiser.de/ ! * Note: 1. If you want to run this script on your php-server, the zip.exe and unzip.exe have ! * to be placed in the same folder as this script ! * 2. The first instrument in the instrument bar must be blank ! * ! */ // ____________________________________________________________________________________________________ // ========================================== Load Externals ========================================== ! error_reporting (E_ALL| E_STRICT); putenv( "TZ=US/Eastern" ); require_once( 'xrns_functions.php' ); --- 1,42 ---- <?php ! /* ! _¯¯¯¯¯_____¯¯¯---- === ______¯¯¯¯¯ ! _¯ ¯¯ ¯¯ ¯ ___ _ ¯ ¯ ¯ ! ¯¯ ¯¯ D3R Ver3!seR --- ¯¯ ¯ === ¯¯ __¯¯ ¯ ! ¯¯ ---¯¯ ____ ¯¯ ¯¯ ¯ ! ¯¯ ¯¯ == ___ ¯¯¯¯ ---- ¯¯ ¯¯¯ _____ __ ! ! ! Usage: This script reorganizes all notes in a song, so that each instrument will use a separate track. ! Typically XM modules triggered multiple instruments in the same track, ! which would complicate any further work in Renoise. So this script is for xm files converted ! to xrns only. ! ! Note: ! 1. The first slot in the instrument bar has to be blank. ! 2. Delete all instrument slots which you do not need. ! (Especially all slots after the last used instrument slot) ! 3. If you want to run this script on your php-server, the zip.exe and unzip.exe have ! to be placed in the same folder as this script ! ! Last modified: December 29th, 2008 ! Coded by: Christian Messow alias vereiser of http://www.vereiser.de ! History: Version 1.0 (April 24th) ! Version 1.0.1 (December 29th) ! - fixed: instruments with a number higher than 9 will not ignore anymore ! - adding: delete unused tracks ! Version 1.0.2 (December 30th) ! - fixed: empty notes of a not track owned instrument will be muted ! - adding: every line of an instrument with a C parameter setted to 00 is defined ! with a note off (needed for using VSTi) ! ! ! */ // ____________________________________________________________________________________________________ // ========================================== Load Externals ========================================== ! error_reporting ( E_PARSE ); putenv( "TZ=US/Eastern" ); require_once( 'xrns_functions.php' ); |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-12-29 18:08:23
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv18131/scripts Modified Files: xrns_reorganize_instruments_notes.cfg xrns_reorganize_instruments_notes.php class.xrns_reorganize_instruments_notes.php Log Message: Bugfixes Index: class.xrns_reorganize_instruments_notes.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/class.xrns_reorganize_instruments_notes.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** class.xrns_reorganize_instruments_notes.php 23 Jun 2008 20:10:49 -0000 1.1 --- class.xrns_reorganize_instruments_notes.php 29 Dec 2008 18:08:17 -0000 1.2 *************** *** 1,1169 **** <?php ! ! /****************************************************************************************************** ! _ _____ ! ¯ ¯ ¯¯ ___ _ ¯ ¯¯ ! ¯ ¯ D3R Ver3!seR ¯¯ ¯ __ ¯¯ ! ¯ ¯ ¯¯ ¯ ¯¯ ! ¯ ¯ ___ ¯¯ ¯ ¯¯ _____ ! ! [...2790 lines suppressed...] ! $reorganized_xml = $this->deleteUnusedTracks( $reorganized_xml ); ! $this->addProcessMessage( "Unused tracks deleted.", "special_operations" ); ! } ! ! // * Write destination file ! if ( !$this->writeDestinationFileToDisk( $reorganized_xml ) ) ! { ! return false; ! } + $this->addProcessMessage( "File $this->destination_file written successfully.", "finalization" ); + + $this->script_end = microtime(true); + + return true; + } + } + ?> \ No newline at end of file Index: xrns_reorganize_instruments_notes.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_reorganize_instruments_notes.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** xrns_reorganize_instruments_notes.php 23 Jun 2008 20:10:49 -0000 1.1 --- xrns_reorganize_instruments_notes.php 29 Dec 2008 18:08:17 -0000 1.2 *************** *** 1,47 **** <?php ! /****************************************************************************************************** ! Usage: Reorganizes the notes of instruments to their specific tracks ! Last modified: April 13th, 2008 ! Coded by: Christian Messow alias vereiser of http://www.vereiser.de/ ! ******************************************************************************************************/ ! ! ! // ____________________________________________________________________________________________________ ! // ========================================== Load Externals ========================================== ! error_reporting (E_ALL| E_STRICT); ! require_once('xrns_functions.php'); ! require_once('class.xrns_reorganize_instruments_notes.php'); ! ! // ____________________________________________________________________________________________________ ! // ========================================= Default Settings ========================================= ! $SETTINGS["reorganize_instruments"] = array ! ( ! "source_xml" => true, ! "tmp_dir" => "/tmp", ! "argc" => $argc, ! "script" => $argv[0], ! "source" => $argv[1], ! "destination" => $argv[2], ! "overwrite" => $argv[3], ! "tracks" => "none", ! "instruments" => "none", ! "delete_unused_tracks" => "no", ! "delete_unused_instruments" => "no" ! ); ! // ____________________________________________________________________________________________________ ! // ============================================ Run Script ============================================ ! $reorg_instruments = new xrns_reorganize_instruments( $SETTINGS["reorganize_instruments"] ); ! ! if ( !$reorg_instruments->run() ) ! { ! echo $reorg_instruments->show_errors(); ! exit(2); ! } ! else ! { ! echo $reorg_instruments->show_messages(); ! } ! ?> --- 1,84 ---- <?php ! /** ! * Usage: This script reorganizes all notes in a song, so that each instrument will use a separate track. ! * Typically XM modules triggered multiple instruments in the same track, ! * which would complicate any further work in Renoise. So this script is for xm files converted ! * to xrns only. ! * First Version: April 11th, 2008 ! * Last modified: Novembre 10th, 2008 ! * Coded by: Christian Messow alias vereiser of http://www.vereiser.de/ ! * Note: 1. If you want to run this script on your php-server, the zip.exe and unzip.exe have ! * to be placed in the same folder as this script ! * 2. The first instrument in the instrument bar must be blank ! * ! */ ! ! // ____________________________________________________________________________________________________ ! // ========================================== Load Externals ========================================== ! error_reporting (E_ALL| E_STRICT); ! putenv( "TZ=US/Eastern" ); ! require_once( 'xrns_functions.php' ); ! require_once( 'class.xrns_reorganize_instruments_notes.php' ); ! ! if ( isset( $_GET["local"] ) ) ! { ! $baseDir = dirname(__FILE__)."/../../.."; ! $argc = 4; ! $argv = array ! ( ! 0 => "$baseDir/xrns_reorganize_instruments_notes.php", ! 1 => "$baseDir/www/Renoise XRNS-Tools/example/test.xrns", ! 2 => "test2.xrns", ! 3 => "yes" ! ); ! } ! ! // ____________________________________________________________________________________________________ ! // ========================================= Default Settings ========================================= ! $SETTINGS["reorganize_instruments"] = array ! ( ! "source_xml" => true, ! "tmp_dir" => dirname(__FILE__)."/../temp", ! "argc" => $argc, ! "script" => $argv[0], ! "source" => $argv[1], ! "destination" => $argv[2], ! "overwrite" => $argv[3], ! "tracks" => "none", ! "instruments" => "none", ! "delete_unused_tracks" => $argv[4], ! "delete_unused_instruments" => "no" ! ); ! ! // ____________________________________________________________________________________________________ ! // ============================================ Run Script ============================================ ! $error = false; ! $reorg_instruments = new xrnsReorganizeInstruments( $SETTINGS["reorganize_instruments"] ); ! ! if ( !$reorg_instruments->run() ) ! { ! $message = $reorg_instruments->showErrorMessages(); ! $error = true; ! } ! else ! { ! $message = $reorg_instruments->showProcessMessages(); ! } ! ! if ( isset( $_GET["local"] ) ) ! { ! echo "<pre>$message</pre>"; ! } ! else ! { ! echo "$message"; ! } ! ! if ( $error ) ! { ! exit(2); ! } ?> + Index: xrns_reorganize_instruments_notes.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_reorganize_instruments_notes.cfg,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** xrns_reorganize_instruments_notes.cfg 23 Jun 2008 20:10:49 -0000 1.1 --- xrns_reorganize_instruments_notes.cfg 29 Dec 2008 18:08:17 -0000 1.2 *************** *** 3,6 **** author=Coded by Christian Messow (vereiser). url=http://www.vereiser.de/ ! description=This script reorganizes all notes in a song, so that each instrument will use a separate track. Typically XM modules triggered multiple instruments in the same track, which would complicate any further work in Renoise. ! gui=label(Select the file you want to reorganize:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Overwrite destination file?:); options(yes,def:no); --- 3,6 ---- author=Coded by Christian Messow (vereiser). url=http://www.vereiser.de/ ! description=This script reorganizes all notes in a song, so that each instrument will use a separate track. Typically XM modules triggered multiple instruments in the same track, which would complicate any further work in Renoise. (Note: The first slot in the instrument bar has to be blank to run this script successfully.) ! gui=label(Select the file you want to reorganize:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Overwrite destination file?:); options(yes,def:no); label(Delete unused tracks?:); options(yes,def:no); |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-08-07 20:47:08
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16546/scripts Modified Files: rndpack.php Log Message: Removed multi-byte functions, replaced them with the defaults. Index: rndpack.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/rndpack.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** rndpack.php 7 Aug 2008 19:03:41 -0000 1.1 --- rndpack.php 7 Aug 2008 20:47:17 -0000 1.2 *************** *** 59,63 **** $haystack = $GLOBALS['argv']; foreach($haystack as $key => $val) { ! if (mb_strtolower($val) == mb_strtolower($needle)) return $key; } return false; --- 59,63 ---- $haystack = $GLOBALS['argv']; foreach($haystack as $key => $val) { ! if (strtolower($val) == strtolower($needle)) return $key; } return false; *************** *** 76,80 **** function getFileList($num, array $inpath, $r, $l, $u, $e) { ! if ($e) $e = mb_split(',', $e); // Restrict extension(s) $files = array(); --- 76,80 ---- function getFileList($num, array $inpath, $r, $l, $u, $e) { ! if ($e) $e = split(',', $e); // Restrict extension(s) $files = array(); *************** *** 91,95 **** if ($file->isFile()) { if ($e) { ! $ext = mb_strtolower(end(explode('.', $file))); if (!in_array($ext, $e)) continue; // No match, skip } --- 91,95 ---- if ($file->isFile()) { if ($e) { ! $ext = strtolower(end(explode('.', $file))); if (!in_array($ext, $e)) continue; // No match, skip } |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-08-07 19:03:33
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv5430/scripts Added Files: rndpack.cfg rndpack.php Log Message: Generate a random sample pack by scanning directories --- NEW FILE: rndpack.php --- <?php // ---------------------------------------------------------------------------- // Functions // ---------------------------------------------------------------------------- function rules($string = null) { if ($string) echo " -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Error: $string -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- "; echo' Random Sample Pack Generator Original code: bYtE-sMaShEr (aka Shaun Winters) 2008 Rewritten in PHP, the most hated of all loafs, by XXXXXXXXX (aka XXXXXXXXXXXXX) Usage: rndpack [options] numSamples outputPath inputPath[...inputPath] Options: -R Recursive -E [ext[,ext]] Restrict extension -P Preserve filenames -U [bytes] Upper filesize limit -L [bytes] Lower filesize limit Example: Generate 100 sample pack, recursively searching through input paths for mp3s and wavs: rndpack -r -e wav,mp3 100 ./samples/random "./samples/drum kits" ./samples/noises Warning: This is a homebrew music community tool designed to simplify the creative process. It is unforgiving, and may glitch out if used incorrectly. Use at your own risk! ' . "\n"; exit; } function _reindex() { // Re-Index $GLOBALS['argc'] = count($GLOBALS['argv']); $i = 0; $tmp = array(); foreach($GLOBALS['argv'] as $val) { $tmp[$i] = $val; ++$i; } $GLOBALS['argv'] = $tmp; } // Something is f*cked with array_search(), workaround function function _getKey($needle) { $haystack = $GLOBALS['argv']; foreach($haystack as $key => $val) { if (mb_strtolower($val) == mb_strtolower($needle)) return $key; } return false; } /** * @param int $num * @param array $inpath * @param bool $r Recusrive * @param int $u Upper filesize limit * @param int $l Lower filesize limit * @param string $e Restrict extension * @return array */ function getFileList($num, array $inpath, $r, $l, $u, $e) { if ($e) $e = mb_split(',', $e); // Restrict extension(s) $files = array(); foreach ($inpath as $path) { if ($r) { $dir = new RecursiveDirectoryIterator($path); $d = new RecursiveIteratorIterator($dir); } else $d = new DirectoryIterator($path); foreach($d as $file) { if ($file->isFile()) { if ($e) { $ext = mb_strtolower(end(explode('.', $file))); if (!in_array($ext, $e)) continue; // No match, skip } $f = realpath($file->getPathname()); if (filesize($f) >= $l && filesize($f) <= $u) $files[] = $f; } } } $count = count($files); if ($count > $num) { // We have more files than we want // randomly reduce this to $num for ($i = $count; $i > $num; --$i) { $tmp = rand(0, $i); if (isset($files[$tmp])) unset($files[$tmp]); else array_shift($files); shuffle($files); // Extra random } } return $files; } // ---------------------------------------------------------------------------- // Options // ---------------------------------------------------------------------------- // Recursive $r = false; if ($key = _getKey('-r')) { $r = true; unset($argv[$key]); _reindex(); } // Restrict extension(s) $e = null; if ($key = _getKey('-e')) { $e = @$argv[$key + 1]; unset($argv[$key + 1], $argv[$key]); _reindex(); } // Preserve filenames $p = false; if ($key = _getKey('-p')) { $p = true; unset($argv[$key]); _reindex(); } // Upper filesize limit $u = 1000000000; if ($key = _getKey('-u')) { $u = @$argv[$key + 1]; unset($argv[$key + 1], $argv[$key]); _reindex(); } // Lower filesize limit $l = 0; if ($key = _getKey('-l')) { $l = @$argv[$key + 1]; unset($argv[$key + 1], $argv[$key]); _reindex(); } // ---------------------------------------------------------------------------- // Check User Input // ---------------------------------------------------------------------------- // Check number of parameters if ($argc < 4) rules("$argv[0] expects at least 3 parameters."); $outpath = $argv[2]; if (!is_dir($outpath )) rules("{$outpath} is not a directory."); else $outpath = realpath($outpath); $inpath = array_slice($argv, 3, $argc); foreach ($inpath as $tmp) { if (!is_dir($tmp)) rules("{$tmp} is not a directory."); } $num = $argv[1]; if (!filter_var($num, FILTER_VALIDATE_INT) || $num < 1) rules("{$num} is not an integer."); // Sanity check the options, too if (!filter_var($u, FILTER_VALIDATE_INT) || $u < 1) rules("-u {$u} is invalid."); if ($l < 0) rules("-l {$l} is invalid."); // ---------------------------------------------------------------------------- // Procedure // ---------------------------------------------------------------------------- $files = getFileList($num, $inpath, $r, $l, $u, $e); echo count($files) . " files found, copying...\n"; foreach ($files as $file) { // Extract the filename if (isset($_ENV['OS']) && strripos($_ENV['OS'], "windows", 0) !== FALSE) $filename = end(explode("\\", $file)); else $filename = end(explode('/', $file)); if (!$p) { // Randomize the name of the file $ext = end(explode('.', $filename)); $filename = uniqid() . '.' . $ext; } $copy = "{$outpath}/$filename"; if (!is_file($copy)) copy($file, $copy); // Prevent overwritting } echo "Done!\n" ?> --- NEW FILE: rndpack.cfg --- [config] caption=rndpack author=Original code: bYtE-sMaShEr (aka Shaun Winters), Rewritten in PHP5 by XXXXXXXXX (aka XXXXXXXXXXXXX) url=http://www.trotch.com/ description=Generate a random sample pack by scanning directories gui=label('Options:'); text(-r -e ogg,wav,mp3 -p); label('Number of Samples:'); text(100); label('Output Path:'); folder; label('Input Path:'); folder; |
From: Bantai <ba...@us...> - 2008-07-03 10:54:25
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19005 Modified Files: xrns2midi.cfg xrns2midi_classes.php Log Message: [Fixed] F0 - "cut note after 0 ticks" command was ignored Index: xrns2midi.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns2midi.cfg,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** xrns2midi.cfg 6 Sep 2007 21:22:57 -0000 1.3 --- xrns2midi.cfg 3 Jul 2008 10:23:10 -0000 1.4 *************** *** 1,4 **** [config] ! caption=XRNS2MIDI Alpha 0.20 author=Coded by Marvin Tjon (Bantai) url=http://xrns-php.sourceforge.net/xrns2midi.html --- 1,4 ---- [config] ! caption=XRNS2MIDI 0.22 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.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** xrns2midi_classes.php 6 Nov 2007 22:25:14 -0000 1.4 --- xrns2midi_classes.php 3 Jul 2008 10:23:10 -0000 1.5 *************** *** 1,7 **** <?php ! // XRNS2MID version 0.21 by Marvin Tjon (Bantai) // ! // Last saved on 8 Oct 2007 // Based on XRNS2MID version 0.03 by Dac Chartrand // --- 1,7 ---- <?php ! // XRNS2MID version 0.22 by Marvin Tjon (Bantai) // ! // Last saved on 3 Jul 2008 // Based on XRNS2MID version 0.03 by Dac Chartrand // *************** *** 834,838 **** //Cut Note after X Ticks (F0 - FE) ! elseif ($vol > 0xF0 && $vol <= 0xFE) { $evt = clone $lastnote; --- 834,838 ---- //Cut Note after X Ticks (F0 - FE) ! elseif ($vol >= 0xF0 && $vol <= 0xFE) { $evt = clone $lastnote; |
From: Bantai <ba...@us...> - 2008-07-03 10:44:18
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv28229 Modified Files: xrns2midi.php Log Message: - version info 0.22 - midi-cc detection (no processing whatsoever) Index: xrns2midi.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns2midi.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** xrns2midi.php 6 Nov 2007 22:25:14 -0000 1.6 --- xrns2midi.php 3 Jul 2008 10:44:12 -0000 1.7 *************** *** 2,8 **** <?php ! // XRNS2MIDI version 0.21 by Marvin Tjon (Bantai) // ! // Last saved on 8 Oct 2007 // Based on XRNS2MIDI version 0.03 by Dac Chartrand // --- 2,8 ---- <?php ! // XRNS2MIDI version 0.22 by Marvin Tjon (Bantai) // ! // Last saved on 3 Jul 2008 // Based on XRNS2MIDI version 0.03 by Dac Chartrand // *************** *** 12,20 **** // - xrns_functions.php ! // To-Do for 0.21: // - poly-aftertouch for volume $time['start'] = microtime(true); ! $xrns2midi_version = "0.21"; // ---------------------------------------------------------------------------- --- 12,21 ---- // - xrns_functions.php ! // To-Do // - poly-aftertouch for volume + // - effect column commands, eg. 0Exx $time['start'] = microtime(true); ! $xrns2midi_version = "0.22"; // ---------------------------------------------------------------------------- *************** *** 344,347 **** --- 345,352 ---- { $master->doVolPanFx($pos, $z->Volume, $z->Panning, $lastnote); + if ($z->Panning == 90) + $midicc = true; + else + $midicc = false; } *************** *** 356,362 **** { foreach ($y->EffectColumns->EffectColumn as $z) ! { ! if ($z->Number == '00') ! continue; //fetch hexadecimal pattern command from song.xrns --- 361,374 ---- { foreach ($y->EffectColumns->EffectColumn as $z) ! { ! if ($midicc !== false){ ! //new midicc evt ! //track -> addEvent($pos, 0,$n_column, $evt); ! ! //midicc are always in the first effect column, so reset ! $midicc = false; ! continue; ! } ! //fetch hexadecimal pattern command from song.xrns |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-06-23 20:35:36
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv14541/scripts Modified Files: xrns_randomizer.cfg xrns_merge.cfg xrns_ogg.cfg Log Message: Fixed dead URLS, credited VV in xrns_ogg.cfg Index: xrns_merge.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_merge.cfg,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** xrns_merge.cfg 23 Aug 2007 00:15:22 -0000 1.1.1.1 --- xrns_merge.cfg 23 Jun 2008 20:35:39 -0000 1.2 *************** *** 1,6 **** [config] ! caption=XRNS Merge 1.0 author=Coded by XXXXXXXXXXXXX. ! url=http://www.trotch.com/xrns_scripts description=XRNS Merge is a script, which allows you to join two XRNS files and save the result into a new file. Original idea by Mark Dollin. gui=label(Select the files you want to join:); file(def:xrns, zip); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip) --- 1,6 ---- [config] ! caption=XRNS Merge author=Coded by XXXXXXXXXXXXX. ! url=http://www.trotch.com/ description=XRNS Merge is a script, which allows you to join two XRNS files and save the result into a new file. Original idea by Mark Dollin. gui=label(Select the files you want to join:); file(def:xrns, zip); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip) Index: xrns_ogg.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_ogg.cfg,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** xrns_ogg.cfg 6 Nov 2007 19:32:04 -0000 1.3 --- xrns_ogg.cfg 23 Jun 2008 20:35:39 -0000 1.4 *************** *** 1,6 **** [config] ! caption=XRNS Ogg 1.0 ! author=Coded by XXXXXXXXXXXXX. ! 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 --- 1,6 ---- [config] ! caption=XRNS Ogg ! author=Coded by XXXXXXXXXXXXX and Vincent Voois ! url=http://www.trotch.com/ 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_randomizer.cfg =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_randomizer.cfg,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** xrns_randomizer.cfg 7 Nov 2007 10:49:59 -0000 1.5 --- xrns_randomizer.cfg 23 Jun 2008 20:35:39 -0000 1.6 *************** *** 2,6 **** 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_neutral); label(Keep octave?:); options(def:No, Yes); --- 2,6 ---- caption=XRNS Randomizer author=Coded by XXXXXXXXXXXXX. ! url=http://www.trotch.com/ ! description=XRNS Randomizer is a script, which allows you to randomize a XRNS 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: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-06-23 20:10:50
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv3799/scripts Added Files: xrns_reorganize_instruments_notes.php xrns_reorganize_instruments_notes.cfg class.xrns_reorganize_instruments_notes.php Log Message: Author: vereiser @ http://www.vereiser.de/ This script reorganizes all notes in a song, so that each instrument will use a separate track. Typically XM modules triggered multiple instruments in the same track, which would complicate any further work in Renoise. So this script is for xm files converted to xrns only. --- NEW FILE: class.xrns_reorganize_instruments_notes.php --- (This appears to be a binary file; contents omitted.) --- NEW FILE: xrns_reorganize_instruments_notes.php --- <?php /****************************************************************************************************** Usage: Reorganizes the notes of instruments to their specific tracks Last modified: April 13th, 2008 Coded by: Christian Messow alias vereiser of http://www.vereiser.de/ ******************************************************************************************************/ // ____________________________________________________________________________________________________ // ========================================== Load Externals ========================================== error_reporting (E_ALL| E_STRICT); require_once('xrns_functions.php'); require_once('class.xrns_reorganize_instruments_notes.php'); // ____________________________________________________________________________________________________ // ========================================= Default Settings ========================================= $SETTINGS["reorganize_instruments"] = array ( "source_xml" => true, "tmp_dir" => "/tmp", "argc" => $argc, "script" => $argv[0], "source" => $argv[1], "destination" => $argv[2], "overwrite" => $argv[3], "tracks" => "none", "instruments" => "none", "delete_unused_tracks" => "no", "delete_unused_instruments" => "no" ); // ____________________________________________________________________________________________________ // ============================================ Run Script ============================================ $reorg_instruments = new xrns_reorganize_instruments( $SETTINGS["reorganize_instruments"] ); if ( !$reorg_instruments->run() ) { echo $reorg_instruments->show_errors(); exit(2); } else { echo $reorg_instruments->show_messages(); } ?> --- NEW FILE: xrns_reorganize_instruments_notes.cfg --- [config] caption=XRNS Reorganize Instruments Notes author=Coded by Christian Messow (vereiser). url=http://www.vereiser.de/ description=This script reorganizes all notes in a song, so that each instrument will use a separate track. Typically XM modules triggered multiple instruments in the same track, which would complicate any further work in Renoise. gui=label(Select the file you want to reorganize:); file(def:xrns, zip); label(Specify the destination file:); output(def:xrns, zip); label(Overwrite destination file?:); options(yes,def:no); |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-03-17 23:34:51
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv6280 Modified Files: index.html xrns-sf.html Log Message: Link to xrns-sf.html from first paragraph in index.html, removed a trailing > character from xrns-sf.html Index: index.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/index.html,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** index.html 16 Mar 2008 18:09:20 -0000 1.14 --- index.html 17 Mar 2008 23:34:51 -0000 1.15 *************** *** 14,20 **** </h4> <p><span style="font-weight: bold;"> ! Last update:</span> 16 March 2008<br /><span style="font-weight: bold;"> Latest releases:</span> <a href="https://sourceforge.net/project/showfiles.php?group_id=203983&package_id=243282&release_id=584737">XRNS-SF 1.06</a> ! is the XRNS Script Frontend. Windows users who want an easy GUI and ready to use PHP 5.2 scripting environment with all the required third party utilities are encouraged to download this package. <a href="https://sourceforge.net/project/showfiles.php?group_id=203983&package_id=243442&release_id=584740">XRNS-SCRIPTS 1.06</a> is for users of OS X, Linux, and any other PHP 5.2 compatible operating system with a command prompt. </p><h2>Summary --- 14,20 ---- </h4> <p><span style="font-weight: bold;"> ! Last update:</span> 17 March 2008<br /><span style="font-weight: bold;"> Latest releases:</span> <a href="https://sourceforge.net/project/showfiles.php?group_id=203983&package_id=243282&release_id=584737">XRNS-SF 1.06</a> ! is the <a href="xrns-sf.html">XRNS Script Frontend</a>. Windows users who want an easy GUI and ready to use PHP 5.2 scripting environment with all the required third party utilities are encouraged to download this package. <a href="https://sourceforge.net/project/showfiles.php?group_id=203983&package_id=243442&release_id=584740">XRNS-SCRIPTS 1.06</a> is for users of OS X, Linux, and any other PHP 5.2 compatible operating system with a command prompt. </p><h2>Summary Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/xrns-sf.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** xrns-sf.html 16 Mar 2008 18:06:10 -0000 1.4 --- xrns-sf.html 17 Mar 2008 23:34:51 -0000 1.5 *************** *** 1,458 **** <!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.06</h3> - <p> - Developed by Alexander Stoica 2007 - 2008<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 keywords are "options" and "dropindex". They are 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.06: ! <ul> - <li>options: sends the selected value to the script</li> - <li>dropindex: sends the the selected index to the script (first element starts at 0) </li> - </ul> - <p class="code"> - gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10); dropindex(low, def:med, hi, super) - </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 /><br /> ! ! Marvin Tjon for some extra features added Version in 1.06<br />> ! ! <br /> ! ! <h4>History</h4> - Version 1.06 (03/16/2008)<br /> - <ul> - <li>Changed: Updated included PHP version to 5.2.5.</li> - <li>Added: Success or error dialog depending on the script exit code. Currenly 0 = ok, 1 = write protected, 2+ = generic error, - but may change later. </li> - <li>Added: dropindex keyword, returns the selected index to the script.</li> - <li>Changed: The options keyword returns value of the dropdown again.</li> - </ul> - 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> ! --- 1,230 ---- <!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.06</h3> <p> Developed by Alexander Stoica 2007 - 2008<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> </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 keywords are "options" and "dropindex". They are 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.06: <ul> <li>options: sends the selected value to the script</li> <li>dropindex: sends the the selected index to the script (first element starts at 0) </li> </ul> <p class="code"> gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10); dropindex(low, def:med, hi, super) </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 /><br /> ! Marvin Tjon for some extra features added Version in 1.06<br /> <br /> <h4>History</h4> Version 1.06 (03/16/2008)<br /> <ul> <li>Changed: Updated included PHP version to 5.2.5.</li> <li>Added: Success or error dialog depending on the script exit code. Currenly 0 = ok, 1 = write protected, 2+ = generic error, but may change later. </li> <li>Added: dropindex keyword, returns the selected index to the script.</li> <li>Changed: The options keyword returns value of the dropdown again.</li> </ul> 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> ! </body></html> \ No newline at end of file |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-03-17 23:33:41
|
Update of /cvsroot/xrns-php/xrns-sf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv5832 Modified Files: xrns-sf.html Log Message: Update to current version Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/xrns-sf.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** xrns-sf.html 16 Mar 2008 13:13:06 -0000 1.6 --- xrns-sf.html 17 Mar 2008 23:33:43 -0000 1.7 *************** *** 1,8 **** <!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; --- 1,7 ---- <!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; *************** *** 38,48 **** color:rgb(128,0,0); } ! </style> ! </head> <body> <h3>XRNS Script Frontend 1.06</h3> <p> ! Developed by Alexander Stoica 2007, 2008<br /> <br /> License: Public Domain --- 37,46 ---- color:rgb(128,0,0); } ! </style></head> <body> <h3>XRNS Script Frontend 1.06</h3> <p> ! Developed by Alexander Stoica 2007 - 2008<br /> <br /> License: Public Domain *************** *** 52,56 **** 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> --- 50,54 ---- 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> </p> *************** *** 146,151 **** gui=output(def:xrns, xrni, zip) </p> ! The last keywords are "options" and "dropindex". They are 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.06: <ul> <li>options: sends the selected value to the script</li> --- 144,151 ---- gui=output(def:xrns, xrni, zip) </p> ! The last keywords are "options" and "dropindex". They are 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.06: <ul> <li>options: sends the selected value to the script</li> *************** *** 168,172 **** <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 /> --- 168,172 ---- <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 /> *************** *** 184,192 **** XXXXXXXXXXXXX for his original idea.<br /> <a href="http://www.trotch.com">http://www.trotch.com</a> ! <br /> <h4>History</h4> ! Version 1.06 (12/11/2007)<br /> <ul> <li>Added: Success or error dialog depending on the script exit code. Currenly 0 = ok, 1 = write protected, 2+ = generic error, but may change later. </li> --- 184,194 ---- XXXXXXXXXXXXX for his original idea.<br /> <a href="http://www.trotch.com">http://www.trotch.com</a> ! <br /><br /> ! Marvin Tjon for some extra features added Version in 1.06<br /> <br /> <h4>History</h4> ! Version 1.06 (03/16/2008)<br /> <ul> + <li>Changed: Updated included PHP version to 5.2.5.</li> <li>Added: Success or error dialog depending on the script exit code. Currenly 0 = ok, 1 = write protected, 2+ = generic error, but may change later. </li> *************** *** 207,211 **** <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 /> --- 209,216 ---- <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 /> *************** *** 222,226 **** <li>initial release</li> </ul> ! <br /> ! </body> ! </html> --- 227,230 ---- <li>initial release</li> </ul> ! ! </body></html> \ No newline at end of file |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-03-16 18:09:20
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9716 Modified Files: index.html Log Message: No Warranty... Index: index.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/index.html,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** index.html 16 Mar 2008 18:06:09 -0000 1.13 --- index.html 16 Mar 2008 18:09:20 -0000 1.14 *************** *** 6,11 **** <title>XRNS-PHP: PHP Scripts for Renoise</title><link rel="stylesheet" href="css/default.css" type="text/css" media="screen" /></head> ! ! <body> <h1> XRNS-PHP --- 6,10 ---- <title>XRNS-PHP: PHP Scripts for Renoise</title><link rel="stylesheet" href="css/default.css" type="text/css" media="screen" /></head> ! <body> <h1> XRNS-PHP *************** *** 177,181 **** <a href="http://flac.sourceforge.net/">FLAC</a> </li> ! </ul>If you intend to run these scripts at the command prompt without the <b>XRNS Script Frontend</b> package, ensure you have the aformentioned binaries in your path. <br /><h2>Warranty</h2>This software is provided "as is," without warranty of any kind, express or implied. In no event shall the XRNS-PHP project or its contributors be --- 176,180 ---- <a href="http://flac.sourceforge.net/">FLAC</a> </li> ! </ul>If you intend to run these scripts at the command prompt without the <b>XRNS Script Frontend</b> package, ensure you have the aformentioned binaries in your path. <br /><h2>No warranty</h2>This software is provided "as is," without warranty of any kind, express or implied. In no event shall the XRNS-PHP project or its contributors be |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-03-16 18:06:13
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv8380 Modified Files: index.html xrns-sf.html Log Message: Minor changes for 1.06 release Index: index.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/index.html,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** index.html 15 Feb 2008 01:55:27 -0000 1.12 --- index.html 16 Mar 2008 18:06:09 -0000 1.13 *************** *** 1,14 **** ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ! "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ! <html xmlns="http://www.w3.org/1999/xhtml"> ! <head> <meta name="generator" content="HTML Tidy for tsWebEditor (www.tswebeditor.tk) (vers 4 July 2006), see www.w3.org" /> <meta name="generator" content="tsWebEditor (tswebeditor.net.tc - www.tswebeditor.tk)" /> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> ! <title> ! XRNS-PHP: PHP Scripts for Renoise ! </title> ! <link rel="stylesheet" href="css/default.css" type="text/css" media="screen" /> ! </head> <body> <h1> --- 1,10 ---- ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ! <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta name="generator" content="HTML Tidy for tsWebEditor (www.tswebeditor.tk) (vers 4 July 2006), see www.w3.org" /> <meta name="generator" content="tsWebEditor (tswebeditor.net.tc - www.tswebeditor.tk)" /> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> ! ! <title>XRNS-PHP: PHP Scripts for Renoise</title><link rel="stylesheet" href="css/default.css" type="text/css" media="screen" /></head> ! <body> <h1> *************** *** 18,31 **** PHP Scripts for Renoise </h4> ! <p> ! Last update: 13 Feb 2008<br /> ! Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a><br /> ! <a href="http://xrns-php.cvs.sourceforge.net/xrns-php/xrns-php/scripts/">Browse CVS</a> ! </p> ! <h2> ! Summary </h2> <p> ! The XRNS-PHP project is a collection of tools for Renoise. The XRNS Script Frontend provides a graphical interface for the PHP scripts. </p> <div class="img"> --- 14,26 ---- PHP Scripts for Renoise </h4> ! <p><span style="font-weight: bold;"> ! Last update:</span> 16 March 2008<br /><span style="font-weight: bold;"> ! Latest releases:</span> <a href="https://sourceforge.net/project/showfiles.php?group_id=203983&package_id=243282&release_id=584737">XRNS-SF 1.06</a> ! is the XRNS Script Frontend. Windows users who want an easy GUI ! and ready to use PHP 5.2 scripting environment with all the required ! third party utilities are encouraged to download this package. <a href="https://sourceforge.net/project/showfiles.php?group_id=203983&package_id=243442&release_id=584740">XRNS-SCRIPTS 1.06</a> is for users of OS X, Linux, and any other PHP 5.2 compatible operating system with a command prompt. </p><h2>Summary </h2> <p> ! The XRNS-PHP project is a collection of tools for <a href="http://www.renoise.com/">Renoise</a>. The XRNS Script Frontend provides a graphical interface for the PHP scripts. </p> <div class="img"> *************** *** 39,44 **** </h2> <p> ! <a href="http://www.renoise.com">Renoise</a> is a contemporary software application based on the heritage and development of <a href="http://en.wikipedia.org/wiki/Tracker">tracker</a> styled music sequencers. Its primary use is the composition of music using samples (WAV, AIFF, FLAC, OGG, MP3) and MIDI sequencing of VSTi soft synths. ! </p> <div class="img"> <a href="images/mixer1.png"><img src="images/renoise18mixer.gif" alt="Renoise 1.8 Mixer" /></a> --- 34,41 ---- </h2> <p> ! <a href="http://www.renoise.com">Renoise</a> is a contemporary software application based on the heritage and development of <a href="http://en.wikipedia.org/wiki/Tracker">tracker</a> ! styled music sequencers. Its primary use is the composition of music ! using samples (WAV, AIFF, FLAC, OGG, MP3) and MIDI sequencing of VSTi ! soft synths. </p> <div class="img"> <a href="images/mixer1.png"><img src="images/renoise18mixer.gif" alt="Renoise 1.8 Mixer" /></a> *************** *** 51,59 **** </p> <p> ! The <b>XRNS-PHP</b> project is a collection of tools for <a href="http://www.renoise.com/">Renoise</a> XRNS song modules, XRNI instruments, and clipboard data copied from within Renoise's window. The purpose of these tools is to offer functionality beyond that of Renoise itself. The tools can plugged into <b>XRNS Script Frontend</b>, which provides a graphical interface. </p> <p> ! The <b>XRNS-PHP</b> SourceForge project site is mainly intended for organized development of the tools. As a user, you may find the latest versions of the tools here. ! </p> <p> Currently, we have created the following tools: --- 48,62 ---- </p> <p> ! The <b>XRNS-PHP</b> project is a collection of tools for <a href="http://www.renoise.com/">Renoise</a> ! XRNS song modules, XRNI instruments, and clipboard data copied from ! within Renoise's window. The purpose of these tools is to offer ! functionality beyond that of Renoise itself. The tools can plugged into ! <b>XRNS Script Frontend</b>, which provides a graphical interface. </p> <p> ! The <b>XRNS-PHP</b> ! SourceForge project site is mainly intended for organized development ! of the tools. As a user, you may find the latest versions of the tools ! here. </p> <p> Currently, we have created the following tools: *************** *** 85,93 **** </li> <li> ! <b>xrns_microtuner <i>(CVS only)</i>: </b> Tune XRNI instruments using standard Scala tuning (*.tun) files </li> <li> ! <b>xrns_delete_unused_tracks <i>(CVS only)</i>: </b> Deletes tracks if there are no notes or commands ! </li> </ul> --- 88,95 ---- </li> <li> ! <b>xrns_microtuner: </b> Tune XRNI instruments using standard Scala tuning (*.tun) files </li> <li> ! <b>xrns_delete_unused_tracks: </b> Deletes tracks if there are no notes or commands</li><li><b>SampleToSplit: </b>Auto-magically maps xrni samples to the keys they belong to</li> </ul> *************** *** 96,101 **** </h2> <p> ! Downloads are available on the XRNS-PHP SourceForge project site. Or you can grab the latest revisions from the <a href="http://xrns-php.cvs.sourceforge.net/xrns-php/xrns-php/scripts/">CVS Repository</a> (basically work in progress, but usually tested) if you are impatient or adventurous. Most tools can also be found on Renoise's own website. ! </p> <ul> <li> --- 98,104 ---- </h2> <p> ! Downloads are available on the XRNS-PHP SourceForge project site. Or you can grab the latest revisions from the <a href="http://xrns-php.cvs.sourceforge.net/xrns-php/xrns-php/scripts/">CVS Repository</a> ! (basically work in progress, but usually tested) if you are impatient ! or adventurous. Most tools can also be found on Renoise's own website. </p> <ul> <li> *************** *** 118,122 **** <li>Testing the scripts and <a href="http://sourceforge.net/tracker/?group_id=203983&atid=987783">reporting any bugs</a> </li> ! <li>Brainstorming and developing a new Renoise tool in PHP. A recent example is <a href="http://www.renoise.com/board/index.php?showtopic=13759">Microtonal Instruments</a> </li> <li>Filling any of the positions at our <a href="http://sourceforge.net/people/?group_id=203983">Project Help Job List</a>, in particular <a href="http://sourceforge.net/people/viewjob.php?group_id=203983&job_id=29213">porting XRNS-SF to Mac OS X</a> --- 121,125 ---- <li>Testing the scripts and <a href="http://sourceforge.net/tracker/?group_id=203983&atid=987783">reporting any bugs</a> </li> ! <li>Brainstorming and developing a new Renoise tool in PHP.<a href="http://www.renoise.com/board/index.php?showtopic=13759"></a> </li> <li>Filling any of the positions at our <a href="http://sourceforge.net/people/?group_id=203983">Project Help Job List</a>, in particular <a href="http://sourceforge.net/people/viewjob.php?group_id=203983&job_id=29213">porting XRNS-SF to Mac OS X</a> *************** *** 140,155 **** <li>Renoise's propriety XRNI instrument format uses XML to describe the instrument's properties </li> ! <li>Data from within Renoise such as notes and envelopes can be copied to the clipboard. Pasted in a text editor, you will see the XML representation of the data. ! </li> </ul> ! <p> ! The XML data can be easily accessed, allowing anyone to manipulate the song without too much effort (eg. you don't have to reverse engineer the format). Our weapon of choice to manipulate the XML data is PHP. PHP scripts are commonly used as server-sided scripts, but it is also possible to run them from the command-line. ! </p> ! <p> ! We have chosen to write scripts in PHP because of its ease, portability and popularity. It is not hard language, within a few weeks you should already be able to write fairly impressive stuff. We hope to motivate interested souls into picking up PHP and write new scripts for Renoise. ! </p> ! <p> ! Few people appreciated having to installing a complete web server in order to use our tools. Also, the command-line method was not very popular with Windows users. To circumvent those problems, a frontend was developed that can be fed any php command-line script and displays it in an easy and pretty graphical interface. ! </p> <h2> Third party --- 143,167 ---- <li>Renoise's propriety XRNI instrument format uses XML to describe the instrument's properties </li> ! <li>Data ! from within Renoise such as notes and envelopes can be copied to the ! clipboard. Pasted in a text editor, you will see the XML representation ! of the data. </li> </ul> ! <p> The XML data can be easily ! accessed, allowing anyone to manipulate the song without too much ! effort (eg. you don't have to reverse engineer the format). Our weapon ! of choice to manipulate the XML data is PHP. PHP scripts are commonly ! used as server-sided scripts, but it is also possible to run them from ! the command-line. </p> ! <p> We have chosen to write scripts in PHP because ! of its ease, portability and popularity. It is not hard language, ! within a few weeks you should already be able to write fairly ! impressive stuff. We hope to motivate interested souls into picking up ! PHP and write new scripts for Renoise. </p> ! <p> Few people appreciated having to installing a ! complete web server in order to use our tools. Also, the command-line ! method was not very popular with Windows users. To circumvent those ! problems, a frontend was developed that can be fed any php command-line ! script and displays it in an easy and pretty graphical interface. </p> <h2> Third party *************** *** 165,169 **** <a href="http://flac.sourceforge.net/">FLAC</a> </li> ! </ul>If you intend to run these scripts at the command prompt without the <b>XRNS Script Frontend</b> package, ensure you have the aformentioned binaries in your path. The scripts work on any operating system with a command prompt and PHP5. ! </body> ! </html> \ No newline at end of file --- 177,185 ---- <a href="http://flac.sourceforge.net/">FLAC</a> </li> ! </ul>If you intend to run these scripts at the command prompt without the <b>XRNS Script Frontend</b> package, ensure you have the aformentioned binaries in your path. <br /><h2>Warranty</h2>This ! software is provided "as is," without warranty of any kind, express or ! implied. In no event shall the XRNS-PHP project or its contributors be ! held liable for any direct, indirect, incidental, special or ! consequential damages arising out of the use of or inability to use ! this software. ! </body></html> \ No newline at end of file Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/xrns-sf.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** xrns-sf.html 7 Nov 2007 17:33:32 -0000 1.3 --- xrns-sf.html 16 Mar 2008 18:06:10 -0000 1.4 *************** *** 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 /> XXXXXXXXXXXXX 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> --- 1,458 ---- <!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.06</h3> ! <p> ! ! Developed by Alexander Stoica 2007 - 2008<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 keywords are "options" and "dropindex". They are 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.06: ! ! <ul> ! ! <li>options: sends the selected value to the script</li> ! ! <li>dropindex: sends the the selected index to the script (first element starts at 0) </li> ! ! </ul> ! <p class="code"> ! ! gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10); dropindex(low, def:med, hi, super) ! </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 /><br /> + + Marvin Tjon for some extra features added Version in 1.06<br />> + <br /> + + <h4>History</h4> + + Version 1.06 (03/16/2008)<br /> + + <ul> + + <li>Changed: Updated included PHP version to 5.2.5.</li> + + <li>Added: Success or error dialog depending on the script exit code. Currenly 0 = ok, 1 = write protected, 2+ = generic error, + + but may change later. </li> + + <li>Added: dropindex keyword, returns the selected index to the script.</li> + + <li>Changed: The options keyword returns value of the dropdown again.</li> + + </ul> + 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: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-03-16 17:02:09
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv12745 Added Files: SampleToSplit.cfg SampleToSplit.php Log Message: Takes one xrni and maps the samples to the keys they belong to. As long as you've taken the care to put the basenotes of the samples in the correct order. And made sure that no two samples are in the same base note. --- NEW FILE: SampleToSplit.php --- <?php /* Public domain. Kyrre/Gnute http://folk.uio.no/kyrreg SampleToSplit is thought to save me some clicking on virtual keys while making samplebased *.xrnis. I cannot take responsibility for it, but it hasn't hurt anything in my tests. :D */ // ---------------------------------------------------------------------------- // 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 at least 2 parameters.\n"; echo "Usage: `php $argv[0] /path/to/instrument1.xrni instrument2.xrni `\n"; echo "$argv[0] will output new instrument (instrument2.xrni) 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$|\.xrni$)/i', $argv[2]))) { die("Error: The filename $argv[2] is invalid, use .xrni (or .zip)\n"); } $instrument1 = $argv[1]; $instrument2 = $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 . '/Sample_To_Split_' . md5(uniqid(mt_rand(), true)) . '_Instrument01/'; // Unzip song1 $result = UnzipAllFiles($instrument1, $unzip1); if($result === FALSE) { echo "Error: There was a problem unzipping the first file.\n"; die(); } $instrument = simplexml_load_file($unzip1 . 'Instrument.xml'); $basenotes = array(); foreach($instrument->Samples->children() as $sample) { $basenotes[] = $sample->BaseNote; } //check for duplicate basenotes if (count($basenotes) > count(array_unique($basenotes))) { echo "Make sure each sample has unique basenotes."; obliterate_directory($unzip1); die(); } //end if //check for rising basenote values $b=$basenotes; asort($b, SORT_NUMERIC); if ($b !== $basenotes) { echo "\nPlease make sure the basenotes are ascending.\n"; obliterate_directory($unzip1); die(); } //sets new splits according to basenotes $i = 0; $k = 0; while ($k < count($basenotes)-1) { while ($i < $basenotes[$k+1]) { $instrument->SplitMap->Split[$i] = $k; $i++; } //end while $k++; } //end while $k = count($basenotes)-1; while ($i < 120) { $instrument->SplitMap->Split[$i] = $k; $i++; } //end while // detune? if(isset($argv[3]) && $argv[3] == 0 ) { $detune = $instrument->Samples->Sample[0]->Finetune; $i = 1; while ($i < count($instrument->Samples->children() )) { $instrument->Samples->Sample[$i]->Finetune = $detune; $i++; } } /* // ---------------------------------------------------------------------------- // Validate // ---------------------------------------------------------------------------- if (!xrns_xsd_check($Instrument1, (int)$Instrument1['doc_version'])) { echo "Error: XML is invalid!\n"; obliterate_directory($unzip1); die(); } */ // ---------------------------------------------------------------------------- // Replace Instrument.xml // ---------------------------------------------------------------------------- unlink($unzip1 . 'Instrument.xml') or die("Error: There was a problem deleting a file.\n"); file_put_contents($unzip1 . 'Instrument.xml', $instrument->asXML()); // Zip song $result = ZipAllFiles($instrument2, $unzip1); if($result === FALSE) { echo "Error: There was a problem zipping the final file.\n"; obliterate_directory($unzip1); 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"; ?> --- NEW FILE: SampleToSplit.cfg --- (This appears to be a binary file; contents omitted.) |
From: Bantai <ba...@us...> - 2008-03-16 13:58:36
|
Update of /cvsroot/xrns-php/xrns-sf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16649 Modified Files: xrns-sf.html Log Message: Info for 1.06 release Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/xrns-sf.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** xrns-sf.html 7 Nov 2007 17:28:07 -0000 1.4 --- xrns-sf.html 16 Mar 2008 13:09:18 -0000 1.5 *************** *** 42,48 **** <body> ! <h3>XRNS Script Frontend 1.05</h3> <p> ! Developed by Alexander Stoica 2007<br /> <br /> License: Public Domain --- 42,48 ---- <body> ! <h3>XRNS Script Frontend 1.06</h3> <p> ! Developed by Alexander Stoica 2007, 2008<br /> <br /> License: Public Domain *************** *** 146,154 **** 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. --- 146,157 ---- gui=output(def:xrns, xrni, zip) </p> ! <p>The last keywords are "options" and "dropindex". They are 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.06: ! <ul> ! <li>options: sends the selected value to the script</li> ! <li>dropindex: sends the the selected index to the script (first element starts at 0) </li> ! </ul> <p class="code"> ! gui=options(1, 2, def:3, 4, 5, 6, 7, 8, 9, 10); dropindex(low, def:med, hi, super) </p> As a summary, here is an example of how a complete configuration file looks like. *************** *** 184,187 **** --- 187,197 ---- <h4>History</h4> + Version 1.06 (12/11/2007)<br /> + <ul> + <li>Added: Success or error dialog depending on the script exit code. Currenly 0 = ok, 1 = write protected, 2+ = generic error, + but may change later. </li> + <li>Added: dropindex keyword, returns the selected index to the script.</li> + <li>Changed: The options keyword returns value of the dropdown again.</li> + </ul> Version 1.05 (11/07/2007)<br /> <ul> |
From: Bantai <ba...@us...> - 2008-03-16 13:58:34
|
Update of /cvsroot/xrns-php/xrns-sf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18335 Modified Files: xrns-sf.html Log Message: Typo Index: xrns-sf.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-sf/xrns-sf.html,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** xrns-sf.html 16 Mar 2008 13:09:18 -0000 1.5 --- xrns-sf.html 16 Mar 2008 13:13:06 -0000 1.6 *************** *** 146,150 **** gui=output(def:xrns, xrni, zip) </p> ! <p>The last keywords are "options" and "dropindex". They are 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.06: <ul> --- 146,150 ---- gui=output(def:xrns, xrni, zip) </p> ! The last keywords are "options" and "dropindex". They are 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.06: <ul> |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-02-15 03:24:49
|
Update of /cvsroot/xrns-php/xrns-php/scripts/schemas In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16475 Added Files: RenoiseDeviceChain6.xsd RenoiseInstrument6.xsd RenoiseSong10.xsd Log Message: New schemas from Renoise 1.9.1 Final --- NEW FILE: RenoiseSong10.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="135" 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> [...32936 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="10"/> </xs:complexType> </xs:element> </xs:schema> --- NEW FILE: RenoiseDeviceChain6.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> [...10400 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="6"/> </xs:complexType> </xs:element> </xs:schema> --- NEW FILE: RenoiseInstrument6.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.9900000095367431640625" 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.699999988079071044921875" 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="PluginType" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="VST"/> <xs:enumeration value="AU"/> <xs:enumeration value="LADSAP"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PluginIdentifier" type="xs:string" minOccurs="0"/> <xs:element name="PluginDisplayName" type="xs:string" 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="PluginType" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="VST"/> <xs:enumeration value="AU"/> <xs:enumeration value="LADSAP"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PluginIdentifier" type="xs:string" minOccurs="0"/> <xs:element name="PluginDisplayName" type="xs:string" 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="PluginType" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="VST"/> <xs:enumeration value="AU"/> <xs:enumeration value="LADSAP"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PluginIdentifier" type="xs:string" minOccurs="0"/> <xs:element name="PluginDisplayName" type="xs:string" 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="6"/> </xs:complexType> </xs:element> </xs:schema> |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-02-15 01:55:23
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13158 Modified Files: index.html Log Message: Added Browse CVS link at the top of the document Index: index.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/index.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** index.html 15 Feb 2008 01:49:14 -0000 1.11 --- index.html 15 Feb 2008 01:55:27 -0000 1.12 *************** *** 20,24 **** <p> Last update: 13 Feb 2008<br /> ! Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a> </p> <h2> --- 20,25 ---- <p> Last update: 13 Feb 2008<br /> ! Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a><br /> ! <a href="http://xrns-php.cvs.sourceforge.net/xrns-php/xrns-php/scripts/">Browse CVS</a> </p> <h2> |
From: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2008-02-15 01:49:14
|
Update of /cvsroot/xrns-php/xrns-php/htdocs In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv10577 Modified Files: index.html Log Message: Added Linux as a supported Renoise platform, added microtuner and delete unused tracks scripts (CVS Only) to list, added link to CVS web, changed date. Index: index.html =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/htdocs/index.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** index.html 6 Sep 2007 22:30:47 -0000 1.10 --- index.html 15 Feb 2008 01:49:14 -0000 1.11 *************** *** 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> --- 19,23 ---- </h4> <p> ! Last update: 13 Feb 2008<br /> Latest release: <a href="http://sourceforge.net/project/showfiles.php?group_id=203983">XRNS-PHP downloads</a> </p> *************** *** 47,51 **** </div> <p> ! <a href="http://www.renoise.com">Renoise</a> currently runs on Windows and Mac OS X. </p> <p> --- 47,51 ---- </div> <p> ! <a href="http://www.renoise.com">Renoise</a> currently runs on Windows, Mac OS X and Linux. </p> <p> *************** *** 83,86 **** --- 83,93 ---- <b>xrns_searchandreplace:</b> Replaces every occurance of specific note in the song to another one </li> + <li> + <b>xrns_microtuner <i>(CVS only)</i>: </b> Tune XRNI instruments using standard Scala tuning (*.tun) files + </li> + <li> + <b>xrns_delete_unused_tracks <i>(CVS only)</i>: </b> Deletes tracks if there are no notes or commands + </li> + </ul> <h2> *************** *** 88,92 **** </h2> <p> ! Downloads are available on the XRNS-PHP SourceForge project site. Or you can grab the latest revisions from the CVS Repository (basically work in progress, but usually tested) if you are impatient or adventurous. Most tools can also be found on Renoise's own website. </p> <ul> --- 95,99 ---- </h2> <p> ! Downloads are available on the XRNS-PHP SourceForge project site. Or you can grab the latest revisions from the <a href="http://xrns-php.cvs.sourceforge.net/xrns-php/xrns-php/scripts/">CVS Repository</a> (basically work in progress, but usually tested) if you are impatient or adventurous. Most tools can also be found on Renoise's own website. </p> <ul> |
From: Bantai <ba...@us...> - 2008-01-13 12:01:28
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv20744 Modified Files: xrns_functions.php Log Message: In function obliterate_directory(): fixed bug by replacing literal string "scandir" with "scandir($dirname)". The function should now correctly report whether the dir was succesfully emptied. Index: xrns_functions.php =================================================================== RCS file: /cvsroot/xrns-php/xrns-php/scripts/xrns_functions.php,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** xrns_functions.php 2 Sep 2007 16:39:45 -0000 1.7 --- xrns_functions.php 13 Jan 2008 10:51:12 -0000 1.8 *************** *** 137,141 **** if (!rmdir($darr[$i])) echo ("Warning: There was a problem deleting a temporary file in $dirname\n"); } ! return (($only_empty)? (count(scandir)<=2) : (!is_dir($dirname))); } } --- 137,141 ---- if (!rmdir($darr[$i])) echo ("Warning: There was a problem deleting a temporary file in $dirname\n"); } ! return (($only_empty)? (count(scandir($dirname))<=2) : (!is_dir($dirname))); } } |
From: Bjorn N. <da...@us...> - 2007-11-21 20:58:36
|
Update of /cvsroot/xrns-php/xrns-php/scripts/tun In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv17742 Removed Files: 12_Tone_Equal_Temperament.tun 13_Tone_Equal_Temperament.tun 17_Tone_Equal_Temperament.tun 19_Tone_Equal_Temperament.tun 24_Tone_Equal_Temperament.tun 31_Tone_Equal_Temperament.tun mixol_chrom (modified).tun Log Message: removed duplicate tuning files --- 31_Tone_Equal_Temperament.tun DELETED --- --- 12_Tone_Equal_Temperament.tun DELETED --- --- 24_Tone_Equal_Temperament.tun DELETED --- --- mixol_chrom (modified).tun DELETED --- --- 13_Tone_Equal_Temperament.tun DELETED --- --- 17_Tone_Equal_Temperament.tun DELETED --- --- 19_Tone_Equal_Temperament.tun DELETED --- |
From: Bjorn N. <da...@us...> - 2007-11-21 20:46:41
|
Update of /cvsroot/xrns-php/xrns-php/scripts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv12685 Added Files: xrni_microtuner.cfg xrni_microtuner.php Log Message: checks for non-initialized variables --- NEW FILE: xrni_microtuner.php --- <?php /* XRNI Microtuner Public Domain, last modified 2007.11.21 Version: 1.03 Description: The script provide a simple way to tune Renoise XRNI instruments using standard Scala tuning (*.tun) files Usage: php xrni_microtuner.php /path/to/source.xrni /path/to/tuning.tun result.xrni Author: Bjørn Næsby (danoise) Website: http://xrns-php.sourceforge.net/ Testcases: - pentatonic.tun (standard 12-tone, octave repeating) - mystic.tun (spans 3 octaves before repeating) - bpg55557777.tun (doesn't repeat, has approx. 15 notes per octave) - breed-mult29.tun (complex repeating, 58 notes per octave) - gamelan_udan.tun (12-tone scale with duplicate tunings for 1st and 10th notes) Todo: - Determine automatic pitch adjustment (needed by "dark" tunings such as mixol_penta) - low/high limit (useful with non-12 based tunings that can otherwise output a large number of samples). Insert blank sample outside the range (exlude name/file nodes) - Support multisamples, maintain pitch for existing splits - semitone offset (with support for fractional values) - use precise tuning values if available - New parameter: if less than 12 unique tunings, provide option to expand number of tunings (enough to fill the keyboard), or insert empty slots to fit with octaves (less samples needed for the second option) Changes 0.3 - Limit output to 120 samples - Delete source sample after use - Use the generated sample names - round off finetune values - Find positive value in tuning file when extracting unique tunings (use as offset) - When finetune values exceed 128, adjust basenote Changes 0.2 - Clean temp-folder before unzipping - rename instrument to match output name - Fixed: registered interval '0' was reported as non-existing, causing an unneeded sample to be created */ //error_reporting(E_ALL); // ---------------------------------------------------------------------------- // Move to xrns_functions.php? // ---------------------------------------------------------------------------- function simplexml_replace(SimpleXMLElement $parent, SimpleXMLElement $new_child){ $node1 = dom_import_simplexml($parent); $dom_sxe = dom_import_simplexml($new_child); $node2 = $node1->ownerDocument->importNode($dom_sxe, true); $node1->parentNode->replaceChild($node2,$node1); } // ---------------------------------------------------------------------------- // Shared functions // ---------------------------------------------------------------------------- function createSampleName($index,$name,$ext){ // return string with name, formatted like this: // "Sample00 (rendered selection c5).flac" $number = str_pad($index, 2, "0", STR_PAD_LEFT); return "Sample".$number." (".$name.").".$ext; } function getFileType($path){ // determine filetype (should fix reported problem) // $path: full path to file, but without .suffix $formats = array("flac","ogg","wav"); foreach($formats as $key){ if(file_exists($path.".".$key)){ $type = $key; } } return $type; } function deleteFile($path){ unlink($path); } // ---------------------------------------------------------------------------- // 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 != 4) { echo "Error: $argv[0] expects 3 parameters.\n"; echo "Usage: `php $argv[0] /path/to/source.xrni /path/to/tuning.tun result.xrni`\n"; die(); } if (!file_exists($argv[1])) die("Error: The file $argv[1] was not found.\n"); if (!file_exists($argv[2])) die("Error: The file $argv[2] was not found.\n"); if (!(preg_match('/(\.zip$|\.xrni$)/i', $argv[3]))) { die("Error: The filename $argv[3] is invalid, use .xrni (or .zip)\n"); } $source = $argv[1]; $destination = $argv[3]; // ---------------------------------------------------------------------------- // 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 temp directory $unzip = $tmp_dir . '/xrni/'; // Delete it if it already exist // (perhaps due to a failed previous run) obliterate_directory($unzip); // Unzip instrument $result = UnzipAllFiles($source, $unzip); if($result === FALSE) { echo "Error: There was a problem unzipping the file.\n"; die(); } // Load XML $xml = simplexml_load_file($unzip . 'Instrument.xml'); // ---------------------------------------------------------------------------- // Collect information about instrument // ---------------------------------------------------------------------------- // software limitations $sample_basenote_min = 0; $sample_basenote_max = 119; $split_count = 120; // convert splits to an array $sample_count = 0; $split_arr = array(); foreach ($xml->SplitMap->Split as $x) { $split_arr[count($split_arr)] = $x.''; } /* echo "<pre>split_arr:"; print_r($split_arr); */ // deduce number of samples used $sample_count = count(array_unique($split_arr)); // ---------------------------------------------------------------------------- // Load the tuning file // ---------------------------------------------------------------------------- if (!file_exists($argv[2])) die("Error: The tuning file was not found.\n"); $tunings = parse_ini_file($argv[2],true); // determine if exact tunings are available //$precision = (array_key_exists("Exact Tuning",$tunings)) ? "Exact Tuning" : "Tuning"; $precision = "Tuning"; /* echo "tunings:"; print_r($tunings); echo "\n"; echo "precision:"; echo $precision; echo "\n"; */ // ---------------------------------------------------------------------------- // Apply the tuning // ---------------------------------------------------------------------------- // Calculate the number of different tunings required per octave // (an octave is exactly 1200 cents). An exact octave will be repeated // across the keyboard $unique_tunings = array(); $offset = 0; /* // Look for positive value when extracting tunings, since lower values // are almost not audible anyway foreach($tunings[$precision] as $key => $value){ if(intval($value)>=0){ $offset = intval(substr($key,5,strlen($key))); break; } } echo "offset ".$offset; echo "\n"; */ $initial_value = intval($tunings[$precision]["note ".$offset]); /* echo "initial_value ".$initial_value; echo "\n"; */ $reached_octave = false; while(!$reached_octave){ if(count($unique_tunings)+$offset>-1){ if(!isset($tunings[$precision]["note ".(count($unique_tunings)+$offset)])){ break; } } $current_value = intval($tunings[$precision]["note ".(count($unique_tunings)+$offset)]); /* echo "current_value:"; echo $current_value; echo "\n"; */ // reached octave if($current_value == $initial_value + 1200){ $reached_octave = true; break; } if($current_value > $initial_value + 1200){ //echo("Warning: Not enough splits to create a single octave.\n"); $reached_octave = false; } $unique_tunings[count($unique_tunings)] = $current_value; } /* echo "unique_tunings:"; print_r($unique_tunings); echo "\n"; */ /* Extend tunings ? ------------------------------- For example, 8 unique tunings will be multiplied by 3 (2 octaves) Note that it may not fit at all, in which case there will need to put a limit to the number of unique_tunings */ /* $tuning_count = count($unique_tunings); if($tuning_count!=12){ $octave = 1; // echo "tuning_count:".$tuning_count; // echo "\n"; // echo "octave:".$octave; // echo "\n"; do{ for($i=0; $i<$tuning_count; $i++){ $unique_tunings[count($unique_tunings)] = ($unique_tunings[$i]+($octave*1200)); } $octave++; }while(count($unique_tunings)/12!=round(count($unique_tunings)/12)); echo "extended unique_tunings:"; print_r($unique_tunings); echo "\n"; } */ /* */ /* optimize number of samples needed ----------------------------------------- Each of the samples we use for a specific tune has a frequency. Assigning the sample to a key can happen to produce an interval that match another sample with (100 cents X number of splits) These tunings: note 0=0 note 1=112 note 2=204 note 3=316 note 4=406 note 5=498 note 6=612 // matches note 1, 600 cents higher note 7=702 note 8=812 // matches note 1, 800 cents higher note 9=906 // matches note 4, 500 cents higher note 10=1006 // matches note 4, 600 cents higher note 11=1061 // matches note 1, but is 100 cents too small Matches are stored in the interval_groups array: [1] => Array ( [6] => 612 [8] => 812 ) [4] => Array ( [9] => 906 [10] => 1006 ) [0] = [1] 100 [2] 200 [3] 300 [4] 400 [5] 500 [6] 600 [7] 700 [8] 800 [9] 900 [10] 1000 [11] 1100 Conclusion: 50% less samples are needed after optimizing (but the number could still increase, depending on the number of splits) */ // tunings with matching intervals $interval_groups = array(); // register tunings to avoid multiple matches $registered_intervals = array(); for($i = 0; $i< count($unique_tunings); $i++ ){ $tuning = $unique_tunings[$i]; for($o = 0; $o < count($tunings[$precision]); $o++){ for($p = 0; $p < $split_count; $p++){ if($tuning===intval($tunings[$precision]["note ".$p])){ // check for duplicate tuning if((($p-1)>=0) && $tuning===intval($tunings[$precision]["note ".($p-1)])){ if(in_array($tuning,$unique_tunings)){ $interval_groups[($p)][$p] = $tuning; $registered_intervals[$p] = ($p); } }else if(!isset($registered_intervals[$p])){ // check that the difference btw. $i and $p match // the number of steps $matched=false; $diff_step = ($p-$i); if($diff_step>0){ if(($tuning-$unique_tunings[$i])==($diff_step*100)){ $matched=true; } }else{ $matched=true; } if($matched){ $interval_groups[$i][$p] = $tuning; $registered_intervals[$p] = $i; } } } } $tuning = ($tuning+100); } } /* echo "interval_groups:"; print_r($interval_groups); echo "\n"; echo "registered_intervals:"; print_r($registered_intervals); echo "\n"; */ //die(); /* */ // Modify the samples ------------------------------- $dom = new DOMDocument('1.0', 'iso-8859-1'); $samples = $dom->createElement("Samples"); $dom->appendChild($samples); // Base on the first sample, remove all others // todo: support multiple samples $first_sample = $xml->Samples->Sample; $filetype = getFileType($unzip.'SampleData/Sample00 ('.$first_sample->Name.')'); // clone first sample, delete others from disk $children = $xml->xpath('Samples/Sample'); $count = 0; foreach ($children as $node) { if($node->Name != $first_sample->Name){ // delete current sample from disk //$ext = $file = $unzip.'SampleData/'.createSampleName($count,$node->Name,$filetype); unlink($file) or die ("can't delete $file: $php_errormsg"); } $count++; } //echo "first sample:".$first_sample->Name; //echo "\n"; // Figure out number of samples to create, by looking // at unique registered intervals $sample_count = count(array_unique($registered_intervals)); /* echo "sample_count:".$sample_count; echo "\n"; */ // count number of skipped tunings *before* accepted ones // (used for the splitmap and samplenames) $skipped = 0; // count number of accepted tunings // (used for the splitmap) $created = 0; for($i = 0; $i < $sample_count; $i++){ $dom_sample = dom_import_simplexml($first_sample); $dom_sample = $dom->importNode($dom_sample, true); // apply the delta of each interval to the sample, // and adjust to Renoise's 127 levels of tuning $finetune = ($unique_tunings[$i]-(100*$i))*1.27; //$finetune = $finetune + (4300*1.27); // if the resulting finetune exceed acceptable values, // adjust the basenote and finetune accordingly $basenote_adjust = floor($finetune/128); $finetune = round($finetune-($basenote_adjust*128)); //echo "\n"; $nodelist = $dom_sample->getElementsByTagName("Finetune"); $nodelist->item(0)->nodeValue = $finetune; // $basenote = (intval($nodelist->item(0)->nodeValue)-$basenote_adjust); $nodelist = $dom_sample->getElementsByTagName("BaseNote"); $basenote = (intval($nodelist->item(0)->nodeValue)-$basenote_adjust); echo "basenote:".$basenote; if($basenote>0 && $basenote<119){ // inside valid range echo "\tfinetune:".$finetune; echo "\tbasenote_adjust:".$basenote_adjust; echo "\tfinetune:".$finetune; echo "\n"; $nodelist->item(0)->nodeValue = $basenote; // use first sample as source $samplename = createSampleName(($i-$skipped),$first_sample->Name." [".($i-$skipped)."]",$filetype); copy ( $unzip.'SampleData/'.createSampleName(0,$first_sample->Name,$filetype), $unzip.'SampleData/'.$samplename); $nodelist = $dom_sample->getElementsByTagName("Name"); $nodelist->item(0)->nodeValue = $samplename; $dom_sample = $samples->appendChild($dom_sample); $created++; }else{ // outside valid range, create an empty sample slot $blank_sample = true; if($basenote>0) $skipped++; } } if(isset($blank_sample)){ // create the empty sample slot $dom_sample = dom_import_simplexml($first_sample); $dom_sample = $dom->importNode($dom_sample, true); $node = $dom_sample->getElementsByTagName('Name')->item(0); $dom_sample->removeChild($node); $node = $dom_sample->getElementsByTagName('FileName')->item(0); $dom_sample->removeChild($node); $node = $dom_sample->getElementsByTagName('FileModificationDate')->item(0); $dom_sample->removeChild($node); $node = $dom_sample->getElementsByTagName('FileModificationDayTime')->item(0); $dom_sample->removeChild($node); $dom_sample = $samples->appendChild($dom_sample); } echo "\n"; echo "created ".$created." samples"; echo "\n"; echo "\n"; /* echo "skipped:".$skipped; echo "\n"; echo "unique_tunings:"; print_r($unique_tunings); echo "\n"; */ // Remove source sample ------------------------------ $filetype = getFileType($unzip.'SampleData/Sample00 ('.$first_sample->Name.')'); unlink($unzip.'SampleData/Sample00 ('.$first_sample->Name.').'.$filetype); // Create the splitmap ------------------------------- $splitmap = new SimpleXMLElement("<SplitMap/>"); $count = 0; for($i = 0; $i < $split_count; $i++){ // skip tunings outside range $inside = true; if($skipped!=0){ if($i<$skipped){ $inside = false; }else{ if($i>($skipped+$created+1)){ $inside = false; } } } /* echo "[$i] inside:".$inside; echo "\n"; */ if($inside){ if(array_key_exists(($count-$skipped),$registered_intervals)){ // this tuning has a match, assign that sample slot $split = $splitmap->addChild('Split',$registered_intervals[($count-$skipped)]); }else{ // assign rotating slot number based on #tunings $split = $splitmap->addChild('Split',$count); } if($count==count($unique_tunings)-1) $count=0; else $count++; }else{ // insert empty slot's above the range $split = $splitmap->addChild('Split',($created)); } } // ---------------------------------------------------------------------------- // Rename instrument to match output name (excluding the suffix) // ---------------------------------------------------------------------------- $name_arr = explode(".",$argv[3]); $count = 0; $name = ""; while(isset($name_arr[$count+1])){ $name.=$name_arr[$count]; $count++; } $xml->Name = $name; // ---------------------------------------------------------------------------- // Replace XML data // ---------------------------------------------------------------------------- $samples2 = new SimpleXMLElement($dom->saveXML()); simplexml_replace($xml->Samples,$samples2); simplexml_replace($xml->SplitMap,$splitmap); // ---------------------------------------------------------------------------- // Compress files // ---------------------------------------------------------------------------- unlink($unzip . 'Instrument.xml') or die("Error: There was a problem deleting a file.\n"); file_put_contents($unzip . 'Instrument.xml', $xml->asXML()); // Zip song $result = ZipAllFiles($destination, $unzip); if($result === FALSE) { echo "Error: There was a problem zipping the final file.\n"; die(); } // ---------------------------------------------------------------------------- // Remove temp directories // ---------------------------------------------------------------------------- obliterate_directory($unzip); echo "---------------------------------------\n"; echo "$argv[0] is done!\n"; echo date("D M j G:i:s T Y\n"); echo "---------------------------------------\n"; ?> --- NEW FILE: xrni_microtuner.cfg --- (This appears to be a binary file; contents omitted.) |