Korg Forums Forum Index Korg Forums
A forum for Korg product users and musicians around the world.
Moderated Independently.
Owned by Irish Acts Recording Studio & hosted by KORG USA
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

MicroKorg XL+ to XL file converter
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Korg Forums Forum Index -> Korg MS2000 & microKorg
View previous topic :: View next topic  
Author Message
Zylvian



Joined: 26 Feb 2020
Posts: 1

PostPosted: Wed Feb 26, 2020 3:53 am    Post subject: Reply with quote

iron_horse wrote:
In case anyone needs a simple way to convert .mkxl_all files to .mkxlp_all I knocked up a python script that does exactly that (on my mac, or if you have python installed on windows). Cut/paste the python code below into a file (for example kconvert.py) and run it using: python kconvert.py inputfilename outputfilename

Code:
# Python2 (might work on python3, not tried it)
#
# Convert .mkxl_all files to .mkxlp_all format (minor byte change)
#
# From info on http://www.korgforums.com/forum/phpBB2/viewtopic.php?t=87208&sid=f7399b5d9092db496a82ef99d1c4f526
#

#
# Arguments: input-filename output-filename
#

def fixData(start):
  end = start+4
  if "".join(data[start:end]) != '6140':
    raise AssertionError('Expected 6140 but not found at '+str(start))
  data[start+3] = '1'

#
#--- Main program
import sys
import os.path

if len(sys.argv) != 3:
  print('Usage: <script> inputFilename outputFilename')
  sys.exit(1)

inputFilename = sys.argv[1]
outputFilename = sys.argv[2]

if os.path.isfile(outputFilename):
  raise AssertionError('Output file already exists, please delete it first')

if not os.path.isfile(inputFilename):
  raise AssertionError('Input file not found')

# File is small so read it in one go
data = open(inputFilename, "rb").read()
data = list(data)
fileLength = len(data)

# First two chunks to change are only a few bytes apart
fixData(0)
fixData(32)
for start in range(64, fileLength, 528):
  fixData(start)

with open(outputFilename, 'w') as f:
  f.write("".join(data))



I'm only getting "The file has invalid ID". I'm trying to get the free patches for the Microkorg XL to my XL+, any ideas?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Korg Forums Forum Index -> Korg MS2000 & microKorg All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group