File: 010_getting_the_program.html

package info (click to toggle)
mp3diags 1.5.01-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 21,124 kB
  • sloc: cpp: 34,487; sh: 319; makefile: 101; xml: 97; python: 14
file content (891 lines) | stat: -rw-r--r-- 59,319 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="MP3, diags, diagnosis, tag editor, tagger, normalizer, repair, VBR" />
<meta name="description" content="End-user documentation for MP3 Diags, an MP3 analysis tool that also includes correction and tag editing functionality" />
<title>MP3 Diags - Getting MP3 Diags</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css" />
<!--[if lte IE 6]>  <link rel="stylesheet" type="text/css" href="style_ie6.css" />  <![endif]-->
<!--[if IE 7]>  <link rel="stylesheet" type="text/css" href="style_ie7.css" />  <![endif]-->
</head>

<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<body>

<!-- add_this_conf -->

<div class="HeaderTableText RegFnt ChpCol1">
<table width="100%" class="HeaderTable">
    <tr>
        <td border="0" class="HeaderText">
            <span class="HeaderPadLeft">
                <a href="index.html" class="RightMargin"><img src="logo.png" border="0" alt="MP3 Diags" align="middle" /></a>
                <!-- add_this_link -->
            </span>
        </td>

        <!-- sf_hosting -->
    </tr>
</table>
</div>

<!--
<td border="0" class="HeaderText HeaderPadRight RightAlign"><a href="http://sourceforge.net/projects/mp3diags"><img border="0" align="middle" src="http://sflogo.sourceforge.net/sflogo.php?group_id=260878&amp;type=12" width="120" height="30" alt="Get MP3 Diags at SourceForge.net. Fast, secure and Free Open Source software downloads" /></a></td>
-->

<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->


<div class="NavPadTable RegFnt ChpCol2">
<div style="width:100%"> <!-- !!! needed for IE6; see http://mikeage.net/2005/08/12/full-width-tables-in-ie6/ -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="NavTable">
    <tr>
        <!--
        <td align="left" class="NavPadLeft"> <a href="index.html" title="Home"> <img src="arrow_left_small.png" class="ImgNoBorder" align="absmiddle" /> </a> </td>
        <td align="left" class="NavPadLeft"> <a href="index.html"><img src="arrow_left_small.png" class="ImgNoBorder" align="absmiddle" /> </a> <a href="index.html"> Home </a> </td>
        -->
        <td width="30%" align="left"> <a href="index.html"><img src="arrow_left_small.png" class="ImgNoBorder NavPadLeft" align="absmiddle" /></a> <a href="index.html">Home</a> </td>
        <td width="40%" align="center" valign="middle" class="NavBarText"> Getting MP3 Diags </td>
        <!--
        <td class="NavPadRight"> <a href="020_mp3_introduction.html" title="Short MP3 introduction"> <img src="arrow_right_small.png" class="ImgNoBorder" align="absmiddle" /> </a> </td>
        <td align="right" class="NavPadRight"> <a href="020_mp3_introduction.html"> <img src="arrow_right_small.png" class="ImgNoBorder" align="absmiddle" /> </a> </td>
        <td align="right" class="NavPadRight"> <a href="020_mp3_introduction.html"> Short MP3 introduction</a> <a href="020_mp3_introduction.html"> <img src="arrow_right_small.png" class="ImgNoBorder" align="absmiddle" /> </a> </td>
        -->
        <td width="30%" align="right"> <a href="020_mp3_introduction.html"> Short MP3 introduction</a> <a href="020_mp3_introduction.html"> <img src="arrow_right_small.png" class="ImgNoBorder NavPadRight" align="absmiddle" /> </a> </td>
    </tr>
</table>
</div>
</div>

<div class="FreeNormalText RegFnt NoteCol">
<span class="NoteCol">You may want to look at the change log <a href="015_changelog.html" class="Note">here</a>, especially if you installed an older version before.</span>
</div>

<div class="FreeNormalText RegFnt NoteCol">
    <span class="NoteCol"><b>Version to use</b></span>
</div>

<div class="NormalText RegFnt NoteCol">
    <span class="NoteCol">There are 2 versions of MP3 Diags:  <a href="http://mp3diags.sourceforge.net/" class="Note" onClick="javascript: pageTracker._trackPageview('/sf/stable');">Stable</a> and <a href="http://mp3diags.sourceforge.net/unstable/" class="Note" onClick="javascript: pageTracker._trackPageview('/sf/unstable');">Unstable</a>. Development goes on in the unstable version and after a while changes get moved to the stable version.</span>
</div>


<div class="NormalText RegFnt NoteCol">
<span class="NoteCol">Bug fixes normally happen in the unstable version, but serious bugs are also fixed in the stable version. The plan is to fix bugs in a timely manner, so potential bugs shouldn't be a big issue even when running the unstable version (at least if you keep backup copies of your MP3s.) Note that fixing bugs is easiest when I can reproduce them or at least have a good idea about what might be causing them. I am aware of several outstanding bugs, which I can't fix due to lack of user feedback: I can't reproduce the bug and I can't make a reasonable guess as to what's causing it, so I need more details from the reporter, but the reporter doesn't provide those details. After a while these bugs will be closed.</span>
</div>

<div class="NormalText RegFnt NoteCol">
<span class="NoteCol">From time to time you may want to check the <a href="http://mp3diags.blogspot.com/" class="Note" onClick="javascript: pageTracker._trackPageview('/mp3diagsblog');">MP3 Diags blog</a>, where product announcements are made, with details about bug fixes, new features, and other changes. Then you can decide based on what changed in a given version if you want to upgrade or not. (If you use an RSS reader, you can add that page to it, so you see the notifications automatically.) </span>
</div>


<div class="FreeNormalText RegFnt MildWarnCol">
    The build / install instructions are terribly outdated, but they are not so important, as most users want the Windows install, which works. Those that compile the source code
    on Linux would need to play a bit with dependencies, which shouldn't be a big deal (but harder than before, when you could just run an .sh to get everything working).
    For Windows, compiling works as well, as long as the dependencies are downloaded / built.
</div>

<div class="FreeNormalText RegFnt MildWarnCol">
    The instructions will be updated at some point in time, based also on requests. Until then, the old ones will still be kept, as they might still be useful as starting points.
</div>

<strike>
<div class="FreeNormalText RegFnt ChpCol2">
There are both source files and binaries, for several Linux platforms, as well as for 32bit Windows. On this page there are all the links to the current packages. If you need some older version, you can go to the <a href="http://sourceforge.net/projects/mp3diags/filesQQQBRANCH_SLQQQ/" onClick="javascript: pageTracker._trackPageview('/files');">main download page</a> at SourceForge. The packaged Linux binaries that I provide are built and hosted by the <a href="https://build.opensuse.org/" onClick="javascript: pageTracker._trackPageview('/obs');">openSUSE Build Service</a>. There are also "generic Linux binaries", which I build on my own computer.
</div>

</strike>
<div class="NormalText RegFnt ChpCol2">
<table border="0" cellpadding="0" cellspacing="0" class="NormalText RegFnt ChpCol2">
    <tr> <td> <strike><a href="#notes">Platform-specific notes</a> </strike></td> </tr>
    <tr> <td>
        <table border="0" cellpadding="0" cellspacing="0" class="NoBrdTableText RegFnt ChpCol2 SubtableSpace">
            <tr> <td> <strike><a href="#linuxNotes">Linux</a> </strike></td> </tr>
            <tr> <td> <strike><a href="#windowsNotes">Windows</a> </strike></td> </tr>
            <tr> <td> <strike><a href="#othersNotes">Others</a> </strike></td> </tr>
        </table>
    </td> </tr>
    <tr> <td> <a href="#code">Source code</a> </td> </tr>
    <tr> <td>
        <table border="0" cellpadding="0" cellspacing="0" class="NoBrdTableText RegFnt ChpCol2 SubtableSpace">
            <tr> <td> <strike><a href="#sourceGeneric">Generic / Linux</a> </strike></td> </tr>
            <tr> <td> <a href="#sourceWindows">Windows</a> </td> </tr>
            <tr> <td> <a href="#sourceGit">Git repository</a> </td> </tr>
        </table>
    </td> </tr>
    <tr> <td> <a href="#binaries">Binaries and packages</a> </td> </tr>
    <tr> <td>
        <table border="0" cellpadding="0" cellspacing="0" class="NoBrdTableText RegFnt ChpCol2 SubtableSpace">
            <tr> <td> <a href="#binWindows">Windows</a> </td> </tr>
            <tr> <td> <strike><a href="#binLinux">Linux generic</a> </strike></td> </tr>
            <tr> <td> <strike><a href="#binOpenSUSE">openSUSE</a> </strike></td> </tr>
            <tr> <td> <strike><a href="#binFedora">Fedora</a> </strike></td> </tr>
            <tr> <td> <strike><a href="#binUbuntu">Ubuntu</a> </strike></td> </tr>
            <tr> <td> <strike><a href="#binDebian">Debian</a> </strike></td> </tr>
            <tr> <td> <strike><a href="#binGentoo">Gentoo</a> </strike></td> </tr>
            <tr> <td> <strike><a href="#binOthers">Others</a> </strike></td> </tr>
        </table>
    </td> </tr>
    <tr> <td> <a href="#uninstall">Uninstallation</a> </td> </tr>
    <tr> <td> <a href="#documentation">Documentation</a> </td> </tr>
</table>
</div>

<strike>

<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->



<div class="SubChapterText RegFnt ChpCol1">
<a name="notes">Platform-specific notes</a>
</div>

<div class="NormalText TitleText RegFnt ChpCol2">
<a name="linuxNotes">Linux</a>
</div>

<div class="NormalText RegFnt ChpCol2">
Linux is the development platform (openSUSE, to be more precise), so the program should work best on Linux. The most important requirement is having Qt 4.3.1 (or above), so I expect most Linux distributions from 2007 or newer to be able to compile and run it (perhaps after some tweaks of the build scripts.)
</div>




<div class="NormalText TitleText RegFnt ChpCol1">
<a name="windowsNotes">Windows</a>
</div>

<div class="NormalText RegFnt ChpCol1">
Since this really is a Linux program, there might be some Windows-specific crashes or other issues, so I recommend using Linux instead, if at all possible. At any rate, I did process some 1600 songs with the Windows port to fix issues in the audio part, and then I corrected the ID3V2 tags and added images for 85 of my albums and everything went OK, no crash whatsoever. But, as they say, your mileage may vary. For one thing, there are some reports of crashes from Windows users, while others are happily using the program. I try to fix those crashes, but usually I need more details and quite often those who report the crash don't seem interested in providing those details. OTOH others have been really helpful, so the crashes that affected them got fixed.
</div>

<div class="NormalText RegFnt ChpCol1">
There is one outstanding bug causing files to be read-only on Windows 7. There were several reports, and I've seen it myself; however, when I wanted to get a closer look, the files became writable again (or perhaps I didn't remember their location correctly.) This seems to be related to user rights / file permissions, but for now it's an open issue and suggestions about why is this happening and how to make the program work are welcome. Some things that I would expect to help in this situation are running the program as an Administrator, copying files to a FAT partition, or turning off User Account Control. However, at least in one case they didn'do any good.
</div>

<div class="NormalText RegFnt ChpCol1">
I tested previous versions of the executable on XP SP1, XP SP2, XP SP3, Vista Home, and Windows 7. Currently the build and tests are done on Windows XP SP2.
</div>


<div class="NormalText TitleText RegFnt ChpCol2">
<a name="othersNotes">Others</a>
</div>

<div class="NormalText RegFnt ChpCol2">
There is <a href="http://pdb.finkproject.org/pdb/package.php/mp3diags-mac" onClick="javascript: pageTracker._trackPageview('/fink/mp3diags');">this page</a> in the Fink Project, so it looks like the program should work on OS X; also, several percent of the visits to the web site are by OS X users. However, I have never heard from any Mac user about their experience with MP3 Diags, so I can't really say that it works there. Or perhaps they would have told me if it didn't ...
</div>

<div class="NormalText RegFnt ChpCol2">
There is an OS/2 port by Elbert Pol. See <a href="http://svn.netlabs.org/qtapps/wiki/QT4%20Multimedia" onClick="javascript: pageTracker._trackPageview('/os2/mp3diags');">this page</a> for links.
</div>

<div class="NormalText RegFnt ChpCol2">
I'm not aware of attempts to compile and run the project on other platforms, but I'd like to know if anybody tried it and what the results were. At any rate, there is a file that only works with GCC or MSVC, so other compilers should fail until that file gets ported. If somebody wants to publish builds, it would probably be a good idea to tell me, so I can add a link to the build for that platform.
</div>






<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->


<div class="SubChapterText RegFnt ChpCol1">
<a name="code">Source code</a>
</div>

<div class="NormalText TitleText RegFnt ChpCol2">
<a name="sourceGeneric">Generic / Linux</a>
</div>


<div class="NormalText RegFnt ChpCol2">
You can download MP3Diags.tar.gz from <a href="http://sourceforge.net/projects/mp3diags/filesQQQBRANCH_SLQQQ/mp3diags-src/MP3DiagsQQQBRANCH_DQQQ.tar.gz" onClick="javascript: pageTracker._trackPageview('/files/src');">SourceForge</a> or from <a href="http://web.clicknet.ro/mciobanu/mp3diagsQQQBRANCH_SLQQQ/MP3DiagsQQQBRANCH_DQQQ-QQQVERQQQ.tar.gz" onClick="javascript: pageTracker._trackPageview('/clicknet/src');">my ISP</a>. At my ISP you can also find a <a href="http://web.clicknet.ro/mciobanu/mp3diagsQQQBRANCH_SLQQQ/MP3DiagsQQQBRANCH_DQQQ_Src+Doc-QQQVERQQQ.tar.gz" onClick="javascript: pageTracker._trackPageview('/clicknet/src_doc');">source + documentation bundle</a>. The intended target for the bundle are the packagers. In particular, the documentation doesn't get installed anywhere, but is mereley available for packagers to copy it wherever is appropriate for their distribution.
</div>

<div class="NormalText RegFnt ChpCol2">
The development system is openSUSE. I sometimes compile MP3 Diags on other distibutions, and that worked fine thus far.
</div>

<div class="NormalText RegFnt ChpCol2">
In order to compile and run the project, these packages should be installed:
</div>


<div class="NormalText RegFnt ChpCol2 GenericSpace">
<table border="1" cellpadding="3" cellspacing="1" class="TableText RegFnt ChpCol1">
    <tr>
        <td> <b>Generic names</b> </td>
        <td> C++ compiler, Qt4 development, zlib development, Boost development, Qt4 SVG, GIF and JPEG plugins (if they are separate packages) </td>
    </tr>
    <tr>
        <td> <b>openSUSE 10.3, openSUSE 11.2</b> </td>
        <td> gcc-c++, libqt4-devel, zlib-devel, boost-devel, make </td>
    </tr>
    <tr>
        <td> <b>Ubuntu 9.04</b> </td>
        <td> g++, libqt4-dev, zlib1g-dev, libboost1.35-dev, libqt4-svg </td>
    </tr>
    <tr>
        <td> <b>Fedora 10</b> </td>
        <td> gcc-c++, qt-devel, zlib-devel, boost-devel </td>
    </tr>
    <tr>
        <td> <b>Others</b> </td>
        <td> to be determined </td>
    </tr>
</table>
</div>

<div class="NormalText RegFnt ChpCol2">
Qt 4.3.1 is the one that was used initially for development but I moved to newer versions as they were released (so anything in 4.x above 4.3.1 should be OK too.) Currently the project cannot be compiled with Qt to 5.x, but it shouldn't be too hard to port it. Qt changes sometimes lead to UI glitches, which I don't always notice but about which <a href="050_feedback.html">I'd like to know</a>.
</div>


<div class="NormalText RegFnt ChpCol2">
If you use GCC 4.4 or above, you need Boost 1.37 or later (see <a href="http://bugs.xmms2.xmms.se/view.php?id=2215" onClick="javascript: pageTracker._trackPageview('/boost_bug');">http://bugs.xmms2.xmms.se/view.php?id=2215</a>.)
</div>


<div class="NormalText RegFnt ChpCol2">
If you find some other required package, please <a href="050_feedback.html">let me know</a>.
</div>

<div class="NormalText RegFnt ChpCol2">
To install the program, unpack the surce to some directory and just run <span class="Reference">Install.sh</span> in that directory. Note that double-clicking the script in some file browser may or may not work, depending on the "current directory" being set properly and on whether a terminal window gets opened so you can type the root password to get the executable copied to /usr/local/bin. Other options are to manually run the relevant commands in <span class="Reference">Install.sh</span>, or to compile the project in an IDE. If you don't use <span class="Reference">Install.sh</span>, pay attention to having the right serialization library. I think the default is OK for most platforms, but in some cases the file src/src.pro should have <span class="Reference">LIBS += -lboost_serialization</span> rather than <span class="Reference">LIBS += -lboost_serialization-mt</span>. Running <span class="Reference">Install.sh</span> or just <span class="Reference">AdjustMt.sh</span> sets the correct value.
</div>

<div class="NormalText RegFnt ChpCol2">
To uninstall the program, see the corresponding section at the <a href="#uninstall">bottom of the page</a>.
</div>
</strike>





<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->

<div class="NormalText TitleText RegFnt ChpCol1">
<a name="sourceWindows">Windows</a>
</div>

<div class="NormalText RegFnt ChpCol1">
Since there are <a href="#binWindows">binaries</a> available (both setup.exe and zip archive), it's more convenient to just use them. However, if you really want to build the project yourself, it's not that hard. You should run <span class="Reference">BuildMp3Diags.hta</span>, an HTML / JScript application that allows you to do these:
<ul>
    <strike><li>Build the project using MinGW</li></strike>
    <li>Build the project using Visual C++</li>
    <strike><li>Create a .pro file that can be open from Qt Creator</li></strike>
    <li>Create a .sln file that can be open from Visual C++</li>
</ul>

    (MinGW used to work out-of-the-box, but currently it's Visual Studio that's the primary target. MinGW "should work" but after some tweaks.)
</div>

<div class="NormalText RegFnt ChpCol1">
    So, several notes for Visual Studio
    <ul>
        <li>Used Visual C++ Community 2017</li>
        <li>Due to MusicBrainz / Discogs integration being disabled, zlib is not really needed right now, but it's part of the process, so it should be there. To make it more annoying, it no longer seems to be available as a binary, but only as source, which needed CMake to build.</li>
        <li>Qt 5.12.1.0 was used to build version 1.5.01, and it had all binaries included, so Qt itself didn't have to be built</li>
        <li>Boost (1.69) was built using instructions on the Boost site (serialization and program_options)</li>
        <li>BuildMp3Diags.hta used to work fine on previous Windows versions, but it's quite a pain on Windows 10 (forgets settings, has to be told several times what to do, ...)</li>
    </ul>
</div>


<strike>
<div class="NormalText RegFnt ChpCol1">
    First you need to download and perhaps compile the required libraries: zlib, Qt, Boost Program Options, and Boost Serialization. In case it's not obvious, you cannot mix C++ libraries created by / for different compilers. While downloadable binary Qt libraries existed for MinGW for some time, for Visual C++ 2008 they have been introduced in Qt 4.6.
</div>


<div class="NormalText RegFnt ChpCol1">
Well, you need binary zlib, Qt, and Boost for either MinGW or Visual C++. If you can find binaries - fine. Otherwise you'll have to build from sources what's missing. These are the options for building MP3 Diags on Windows, based on what you have available:
</div>


<div class="NormalText RegFnt ChpCol1">
<table border="1" cellpadding="5" cellspacing="2" class="RegFnt ChpCol2">
    <tr>
        <td>zlib for MinGW and Visual C++</td>
        <td>
            <ul>
                <li>Go to <a href="http://www.zlib.net/" onClick="javascript: pageTracker._trackPageview('/zlib');">http://www.zlib.net/</a> and get the "zlib compiled DLL". Unpack it somewhere and you're done. (This is a C DLL, not a C++ one, so it works with all the compilers)</li>
            </ul>
        </td>
    </tr>

    <tr>
        <td>Qt binaries for MinGW</td>
        <td>
            <ul>
                <li>Go to <a href="http://qt-project.org/downloads" onClick="javascript: pageTracker._trackPageview('/qt-project.org/downloads');">http://qt-project.org/downloads</a> and see what you can find. As mentioned above, the program currently doesn't compile with Qt 5, so 4.x is needed. Note that the "Qt root folder" that BuildMp3Diags.hta wants is something like C:\QtSDK\Desktop\Qt\4.x.y\mingw</li>
            </ul>
        </td>
    </tr>

    <tr>
        <td>Boost sources 1.47 and above for MinGW</td>
        <td>
            <ul>
                <li>Go to <a href="http://www.boost.org/users/download/" onClick="javascript: pageTracker._trackPageview('/boost/mingw');">http://www.boost.org/users/download/</a> and click on "Download". Unpack the archive in the folder where you want Boost to be located</li>
                <li>Open a <b>Qt Command Prompt</b> and go to the Boost root folder</li>
                <li>run <span class="Reference">bootstrap</span></li>
                <li>run <span class="Reference">b2 toolset=gcc serialization program_options threading=multi release</span> . This will only build the <i>Serialization</i> and <i>Program Options</i> libraries, and put them inside a "bin.v2" folder</li>
            </ul>
        </td>
    </tr>

    <tr>
        <td>Boost sources up to 1.46 for MinGW</td>
        <td>
            <ul>
                <li>Go to <a href="http://www.boost.org/users/download/" onClick="javascript: pageTracker._trackPageview('/boost/mingw');">http://www.boost.org/users/download/</a> and click on "Download". Unpack the archive in the folder where you want Boost to be located</li>
                <li>Go to <a href="https://sourceforge.net/projects/boost/files/boost-jam/" onClick="javascript: pageTracker._trackPageview('/bjam/mingw');">https://sourceforge.net/projects/boost/files/boost-jam/</a> and download the latest ntx86.zip. Unpack the archive and copy bjam.exe to the Boost root folder</li>
                <li>Open a <b>Qt Command Prompt</b> and go to the Boost root folder</li>
                <li>run <span class="Reference">bjam toolset=gcc serialization program_options threading=multi release</span> . This will only build the <i>Serialization</i> and <i>Program Options</i> libraries, and put them inside a "bin.v2" folder</li>
            </ul>
        </td>
    </tr>

    <tr>
        <td>Qt Binaries for Visual C++</td>
        <td>
            <ul>
                <li>Go to <a href="http://qt-project.org/downloads" onClick="javascript: pageTracker._trackPageview('/qt-project.org/downloads');">http://qt-project.org/downloads</a>, and see what you can find there</li>
            </ul>
        </td>
    </tr>

    <tr>
        <td>Qt Sources for Visual C++</td>
        <td>
            In case you can't find binaries for your Visual C++ you can try to build from sources. These used to work but weren't tested in a while:
            <ul>
                <li>Go to <a href="http://qt-project.org/downloads" onClick="javascript: pageTracker._trackPageview('/qt-project.org/downloads');">http://qt-project.org/downloads</a>, and get the archive</li>
                <li>Unpack the zip file in the folder where you want Qt to be located</li>
                <li>Install <a href="http://www.activestate.com/downloads">Active Pearl</a></li>
                <li>Open a <b>Visual C++ Command Prompt</b> and go to the root folder of the unpacked Qt</li>
                <li>run <span class="Reference">configure.exe</span> (which may take a while)</li>
                <li>run <span class="Reference">nmake</span> (which will take much longer than configure.exe)</li>
            </ul>
            (These are mainly taken from <a href="http://rajorshi.net/blog/2009/01/using-qt-with-msvc-express-2008/" onClick="javascript: pageTracker._trackPageview('/rajorshi');">Rajorshi's blog</a>, where you can find more details. As of January 2014 the post seems deleted, but you might get it via <a href="http://web.archive.org" onClick="javascript: pageTracker._trackPageview('/wayback_machine');">the Wayback Machine</a>)
        </td>
    </tr>

    <tr>
        <td>Boost binaries for Visual C++</td>
        <td>
            <ul>
                <li>Go to <a href="https://sourceforge.net/projects/boost/files/boost-binaries/" onClick="javascript: pageTracker._trackPageview('/boost/msvc_bin');">https://sourceforge.net/projects/boost/files/boost-binaries/</a> and download the package corresponding to your compiler. Unpack the archive in the folder where you want Boost to be located</li>
            </ul>
        </td>
    </tr>

    <tr>
        <td>Boost sources 1.47 and above for Visual C++</td>
        <td>
            <ul>
                <li>Go to <a href="http://www.boost.org/users/download/" onClick="javascript: pageTracker._trackPageview('/boost/msvc');">http://www.boost.org/users/download/</a> and click on "Download". Unpack the archive in the folder where you want Boost to be located</li>
                <li>Open a <b>Visual C++ Command Prompt</b> and go to the Boost root folder</li>
                <li>run <span class="Reference">bootstrap</span></li>
                <li>run <span class="Reference">b2 toolset=msvc serialization program_options threading=multi release debug</span> . This will only build the <i>Serialization</i> and <i>Program Options</i> libraries, and put them inside a "bin.v2" folder</li>
            </ul>
        </td>
    </tr>

    <tr>
        <td>Boost sources up to 1.46 for Visual C++</td>
        <td>
            <ul>
                <li>Go to <a href="http://www.boost.org/users/download/" onClick="javascript: pageTracker._trackPageview('/boost/msvc');">http://www.boost.org/users/download/</a> and click on "Download". Unpack the archive in the folder where you want Boost to be located</li>
                <li>Go to <a href="https://sourceforge.net/projects/boost/files/boost-jam/" onClick="javascript: pageTracker._trackPageview('/bjam/msvc');">https://sourceforge.net/projects/boost/files/boost-jam/</a> and download the latest ntx86.zip. Unpack the archive and copy bjam.exe to the Boost root folder</li>
                <li>Open a <b>Visual C++ Command Prompt</b> and go to the Boost root folder</li>
                <li>run <span class="Reference">bjam toolset=msvc serialization program_options threading=multi release debug</span> . This will only build the <i>Serialization</i> and <i>Program Options</i> libraries, and put them inside a "bin.v2" folder</li>
            </ul>
        </td>
    </tr>

</table>

</div>


<div class="NormalText RegFnt ChpCol1">
In many cases it's possible to choose various options or do things differently, but I won't get into any of that, instead trying to make this as concise as possible. If you care about those options you probably shouldn't be reading this anyway, as you already know what to do.
</div>


<div class="NormalText RegFnt ChpCol1">
After the libraries are downloaded / built, download and unpack MP3Diags.tar.gz from <a href="http://sourceforge.net/projects/mp3diags/filesQQQBRANCH_SLQQQ/mp3diags-src/MP3DiagsQQQBRANCH_DQQQ.tar.gz" onClick="javascript: pageTracker._trackPageview('/files/src');">SourceForge</a> or from <a href="http://web.clicknet.ro/mciobanu/mp3diagsQQQBRANCH_SLQQQ/MP3DiagsQQQBRANCH_DQQQ-QQQVERQQQ.tar.gz" onClick="javascript: pageTracker._trackPageview('/clicknet/src');">my ISP</a>, run <span class="Reference">BuildMp3Diags.hta</span>, fill in the fields, and create the project files or build the program. BuildMp3Diags.hta has more details about this process.
</div>

<div class="NormalText RegFnt ChpCol1">
If you don't like the idea of some JScript doing things on your hard drive, you can always change the src\src.pro file until it works. And there's another option as well: Sebastian Schuberth made it possible to compile the project with Visual C++ using CMake. You'll need to set BOOST_ROOT and QTDIR, then run CMake-VS2008-Win32.cmd to generate MP3Diags.sln and MP3Diags.vcproj. Since I don't actually use this, the code may fail to compile occasionally, due to missing headers or some other non-GCC issue. Most likely I won't notice these issues until told.
</div>


<div class="NormalText RegFnt ChpCol1">
To uninstall the program, see the corresponding section at the <a href="#uninstall">bottom of the page</a>.
</div>



<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->
</strike>

<div class="NormalText TitleText RegFnt ChpCol2">
<a name="sourceGit">Git repository</a>
</div>

<div class="NormalText RegFnt ChpCol2 GenericSpace">
    The source code used to be in Subversion, but now it's in git. There are now 2 public repositories, one at SourceForge and one at GitHub.
    <ul>
        <li><a href="https://sourceforge.net/p/mp3diags/code-git/ci/master/tree/">Sourceforge page</a> or run <span class="Reference">git clone git://git.code.sf.net/p/mp3diags/code-git mp3diags-code-git</span> </li>
        <li><a href="https://github.com/mciobanu/mp3diags">GitHub page</a> or run <span class="Reference">git clone https://github.com/mciobanu/mp3diags.git</span> </li>
    </ul>
</div>

<div class="NormalText RegFnt ChpCol2 GenericSpace">
    (Note that the Subversion repository wasn't imported to git. Rather, a private Perforce repository was used as the source for what's in git.)
</div>

<strike>
<div class="NormalText RegFnt ChpCol2">
The source code may also be downloaded from the Subversion server provided by SourceForge, by going to the <a href="https://sourceforge.net/p/mp3diags/code/HEAD/tree/" onClick="javascript: pageTracker._trackPageview('/svn_trunk');">SVN Browser</a> and clicking on <a href="http://mp3diags.svn.sourceforge.net/viewvc/mp3diags/trunk/mp3diags/?view=tar" onClick="javascript: pageTracker._trackPageview('/svn_trunk/tgz');">Download snapshot</a> in the top-right corner of the page. Or you can check out the trunk using this command:
</div>

<div class="NormalText RegFnt ChpCol2 GenericSpace">
<span class="Reference">svn checkout svn://svn.code.sf.net/p/mp3diags/code/trunk/mp3diags mp3diags</span>
</div>

<div class="NormalText RegFnt ChpCol2">
Builds created from code from this server are supposed to be of the same quality as official releases. Changes are tested before checking in. (However, occasionally mistakes may be made.)
</div>

<div class="NormalText RegFnt ChpCol2">
The Subversion repository stores all the tools that are needed to build the project, not just the source code. So you can find there the documentation, installer and build scripts, and desktop integration files. The build scripts can be used as a starting point for creating binary packages for other .rpm- or Debian- based distributions. Before trying to compile on openSUSE 10.3 (and perhaps other distributions), you should run <span class="Reference">AdjustMt.sh</span> or <span class="Reference">Install.sh</span>.
</div>

<div class="NormalText RegFnt ChpCol2">
There are some differences between the sources that you download via Subversion and the ones that you get from SourceForge as <a href="http://sourceforge.net/projects/mp3diags/filesQQQBRANCH_SLQQQ/mp3diags-src" onClick="javascript: pageTracker._trackPageview('/files/src');">source packages</a>, as the latter ones are "generated", using <span class="Reference">MakeArchives.sh</span>. This script is Linux-specific; there is no Windows equivalent or plan for it (it might work with Cygwin, though, perhaps after some adjustments). <span class="Reference">MakeArchives.sh</span> is used to set the correct branch and version number in a number of places, mainly the build tools and the documentation, but also several C++ files. It also renames some of the files, so they have the branch as part of their name and moves the documentation files up one folder. Or, well, it doesn't do any of these, but it creates a directory called <span class="Reference">package/out</span> where it makes a copy of the project that includes these changes.
</div>

<div class="NormalText RegFnt ChpCol2">
Note that you may need to set the executable bit for <span class="Reference">AdjustMt.sh</span>, <span class="Reference">Install.sh</span>, <span class="Reference">Uninstall.sh</span>, and <span class="Reference">MakeArchives.sh</span>, at least when downloading the tarball.
</div>


<div class="NormalText RegFnt ChpCol2">
See the notes above about <a href="#code">requirements and how to build the code</a>.
</div>


<div class="NormalText RegFnt ChpCol2">
To uninstall the program, see the corresponding section at the <a href="#uninstall">bottom of the page</a>.
</div>




<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->

</strike>
<div class="SubChapterText RegFnt ChpCol1">
<a name="binaries">Binaries and packages</a>
</div>

<strike>
<div class="NormalText RegFnt ChpCol1">
There are 2 main choices: binaries that I build and those built by others. Since this is my first attempt at creating distributable binaries, I'm not very confident that they are of good quality, so using binaries built by others might be a better idea. One known issue is that they are not signed.
</div>


<div class="NormalText RegFnt ChpCol1">
MP3 Diags is included in some well-known repositories and official distributions; as far as I know, you can get it for Gentoo, Ubuntu, Debian, Mac OS X, openSUSE, and Arch Linux. Besides those, I build the program for Fedora, openSUSE, and Ubuntu at openSUSE Build Service.
</div>


<div class="NormalText RegFnt ChpCol1">
For Linux binaries you'll probably want to install from a repository (or use 1-Click-Install on openSUSE), rather than install the .rpm or .deb file directly. This way you get new versions automatically.
</div>


<div class="NormalText RegFnt ChpCol1">
There used to be specific packages for several versions of a distribution. Building them was a long, tedious process. Now there are more generic packages, which are easier to build and should work on all recent versions of a distribution. Note that you might need to <b>uninstall the previous version</b> if installing from a new repository doesn't work.
</div>


<div class="NormalText RegFnt ChpCol1">
If you can't find a pre-packaged binary for your Linux distribution, or if what you can find is out-of-date, you may want to try the <a href="#binLinux">generic Linux binaries</a>. Also, if your distribution is "based" on some other distribution that has packages that I build, you may want to try those packages or the repositories; they should work in many cases, because they are built in a way that minimizes dependency issues.
</div>


<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->
</strike>
<div class="NormalText TitleText RegFnt ChpCol2">
<a name="binWindows">Windows</a>
</div>

<div class="NormalText RegFnt ChpCol2">
There is a pretty standard Windows installer, as well as a zip archive with the executable and the DLLs it needs. Either one of these should be OK:
<ul>
    <li> <a href="http://sourceforge.net/projects/mp3diags/filesQQQBRANCH_SLQQQ/mp3diags-windows-setup/MP3DiagsSetupQQQBRANCH_DQQQ.exe" onClick="javascript: pageTracker._trackPageview('/files/setup');">Windows 32bit installer</a> (if the link doesn't work, there's a copy at my ISP, <a href="http://web.clicknet.ro/mciobanu/mp3diagsQQQBRANCH_SLQQQ/MP3DiagsSetupQQQBRANCH_DQQQ-QQQVERQQQ.exe" onClick="javascript: pageTracker._trackPageview('/clicknet/setup');">here</a>) </li>
    <li> <a href="http://sourceforge.net/projects/mp3diags/filesQQQBRANCH_SLQQQ/mp3diags-windows-exe/MP3DiagsExeQQQBRANCH_DQQQ.zip" onClick="javascript: pageTracker._trackPageview('/files/exe');">Zip archive with Windows 32bit executable and required DLLs</a></li>
</ul>
</div>

<strike>

<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->

<div class="NormalText TitleText RegFnt ChpCol1">
<a name="binLinux">Linux generic</a>
</div>

<div class="NormalText RegFnt ChpCol1">
Starting with version 0.99.06.043, "generic" Linux executables are provided. They are supposed to work on any recent distribution on x86 or x86_64 CPUs but very limited testing was done, so some tweaks might be needed (or it may prove impossible to make them work as intended.) The point of having them is to make it easier for more people to run MP3 Diags. Please share your experience if you try them. Note that running these alternatively with pre-packaged MP3 Diags might lead to the MP3 files being rescanned, due to a different serialization library.
</div>

<div class="NormalText RegFnt ChpCol1">
This is what's available:
<ul>
    <li><a href="http://sourceforge.net/projects/mp3diags/filesQQQBRANCH_SLQQQ/mp3diags-linux-bin/i686/MP3DiagsQQQBRANCH_DQQQ-Linux-i686.tar.bz2" onClick="javascript: pageTracker._trackPageview('/files/linux/i686');">Linux i686 binary</a></li>
    <li><a href="http://sourceforge.net/projects/mp3diags/filesQQQBRANCH_SLQQQ/mp3diags-linux-bin/x86_64/MP3DiagsQQQBRANCH_DQQQ-Linux-x86_64.tar.bz2" onClick="javascript: pageTracker._trackPageview('/files/linux/x86_64');">Linux x86-64 binary</a></li>
</ul>
</div>

<div class="NormalText RegFnt ChpCol1">
If you use these, you'll have to make sure that you have the correct dependencies. All you'll need to add is probably Qt 4. If on your distribution the SVG support in Qt 4 is packaged separately, as it is on Debian-based distributions, you'll need to add that as well. Note that the program will run without SVG, but the buttons will have no icons in such a case. If you have KDE 4.x you probably don't need to add anything.
</div>



<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->

<div class="NormalText TitleText RegFnt ChpCol2">
<a name="binOpenSUSE">openSUSE</a>
<span class="NormalText">(see also the generic <a href="#binaries">notes about binaries</a>)</span>
</div>

<div class="NormalText RegFnt ChpCol2">
You should probably get MP3 Diags from the <a href="http://packman.links2linux.org/" onClick="javascript: pageTracker._trackPageview('/packman');">PackMan</a> repository. See <a href="http://packman.links2linux.org/package/mp3diagsQQQBRANCH_DQQQ" onClick="javascript: pageTracker._trackPageview('/packman/mp3diags');">this link</a>.
</div>

<div class="NormalText RegFnt ChpCol2">
There are also binaries that I build at openSUSE Build Service:
</div>

<div class="NormalText RegFnt ChpCol2">
<table border="1" cellpadding="5" cellspacing="2" class="RegFnt ChpCol1">
    <tr>
        <td><b> openSUSE 13.2 </b></td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/openSUSE_13.2/" onClick="javascript: pageTracker._trackPageview('/obs/suse');"> Repository </a> </td>
        <td> <a class="NoUnderline" href="http://software.opensuse.org/ymp/home:ciobi/openSUSE_13.2/MP3DiagsQQQBRANCH_DQQQ.ymp" onClick="javascript: pageTracker._trackPageview('/obs/suse/ymp');"> 1-Click Install </a> </td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/openSUSE_13.2/i586/" onClick="javascript: pageTracker._trackPageview('/obs/suse/i586');"> i586 .rpm </a> </td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/openSUSE_13.2/x86_64/" onClick="javascript: pageTracker._trackPageview('/obs/suse/x86_64');"> x86_64 .rpm </a> </td>
    </tr>
    <tr>
        <td><b> openSUSE 13.1 </b></td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/openSUSE_13.1/" onClick="javascript: pageTracker._trackPageview('/obs/suse');"> Repository </a> </td>
        <td> <a class="NoUnderline" href="http://software.opensuse.org/ymp/home:ciobi/openSUSE_13.1/MP3DiagsQQQBRANCH_DQQQ.ymp" onClick="javascript: pageTracker._trackPageview('/obs/suse/ymp');"> 1-Click Install </a> </td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/openSUSE_13.1/i586/" onClick="javascript: pageTracker._trackPageview('/obs/suse/i586');"> i586 .rpm </a> </td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/openSUSE_13.1/x86_64/" onClick="javascript: pageTracker._trackPageview('/obs/suse/x86_64');"> x86_64 .rpm </a> </td>
    </tr>
    <tr>
        <td><b> openSUSE Tumbleweed </b></td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/openSUSE_Tumbleweed/" onClick="javascript: pageTracker._trackPageview('/obs/suse');"> Repository </a> </td>
        <td> <a class="NoUnderline" href="http://software.opensuse.org/ymp/home:ciobi/openSUSE_Tumbleweed/MP3DiagsQQQBRANCH_DQQQ.ymp" onClick="javascript: pageTracker._trackPageview('/obs/suse/ymp');"> 1-Click Install </a> </td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/openSUSE_Tumbleweed/i586/" onClick="javascript: pageTracker._trackPageview('/obs/suse/i586');"> i586 .rpm </a> </td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/openSUSE_Tumbleweed/x86_64/" onClick="javascript: pageTracker._trackPageview('/obs/suse/x86_64');"> x86_64 .rpm </a> </td>
    </tr>
</table>
</div>




<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->

<div class="NormalText TitleText RegFnt ChpCol1">
<a name="binFedora">Fedora</a>
<span class="NormalText">(see also the generic <a href="#binaries">notes about binaries</a>)</span>
</div>

<div class="NormalText RegFnt ChpCol1">
Binaries that I build at openSUSE Build Service:
</div>

<div class="NormalText RegFnt ChpCol1">
<table border="1" cellpadding="5" cellspacing="2" class="RegFnt ChpCol2">
    <tr>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/Fedora/" onClick="javascript: pageTracker._trackPageview('/obs/fedora');"> Home directory </a> </td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/Fedora/i386/" onClick="javascript: pageTracker._trackPageview('/obs/fedora/i386');"> i386 .rpm </a> </td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/Fedora/x86_64/" onClick="javascript: pageTracker._trackPageview('/obs/fedora/x86_64');"> x86_64 .rpm </a> </td>
    </tr>
</table>
</div>

<div class="NormalText RegFnt ChpCol1">
For Fedora there are no repositories, so newer versions can only be installed manually. Perhaps somebody will offer to get me started on creating repositories, or just build the program elsewhere.
</div>



<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->

<div class="NormalText TitleText RegFnt ChpCol2">
<a name="binUbuntu">Ubuntu</a>
<span class="NormalText">(see also the generic <a href="#binaries">notes about binaries</a>)</span>
</div>

<div class="NormalText RegFnt ChpCol2">
Starting with 9.10 (Karmic Koala), MP3 Diags is included in Ubuntu, so you can simply install it from Synaptic. The package's page is <a href="http://packages.ubuntu.com/natty/mp3diags" onClick="javascript: pageTracker._trackPageview('/ubuntu/mp3diags');">here</a>.
</div>


<div class="NormalText RegFnt ChpCol2">
For the latest version, there are binaries that I build at openSUSE Build Service:
</div>

<div class="NormalText RegFnt ChpCol2">
<table border="1" cellpadding="5" cellspacing="2" class="RegFnt ChpCol1">
    <tr>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/Ubuntu/" onClick="javascript: pageTracker._trackPageview('/obs/ubuntu');"> Repository </a> (<a class="NoUnderline" href="http://ftp5.gwdg.de/pub/opensuse/repositories/home:/ciobi/Ubuntu/" onClick="javascript: pageTracker._trackPageview('/obs/mirror/ubuntu');">mirror</a>)</td>
        <!-- <td> <a class="NoUnderline" href="http://ftp5.gwdg.de/pub/opensuse/repositories/home:/ciobi/Ubuntu/"> Repository </a> </td> -->
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/Ubuntu/i386/mp3diagsQQQBRANCH_DQQQ_QQQVERQQQ_i386.deb" onClick="javascript: pageTracker._trackPageview('/obs/ubuntu/i386');"> i386 .deb </a> </td> <!-- ttt0 "unstable" -->
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/Ubuntu/amd64/mp3diagsQQQBRANCH_DQQQ_QQQVERQQQ_amd64.deb" onClick="javascript: pageTracker._trackPageview('/obs/ubuntu/amd64');"> amd64 .deb </a> </td>
    </tr>
</table>
</div>



<div class="NormalText RegFnt ChpCol2">
Normally you should use the repositories rather than the .deb file, so you are notified automatically about updates. Another issue with the .deb files is that the direct links are broken for a while after running a new build (the link is for the old version, which got replaced by the new version.) You can still get a .deb file from the repository, though.
</div>


<div class="NormalText RegFnt ChpCol2">
In my tests, the Ubuntu 9.04 i386 .deb installation was OK except for a warning about the package not being authenticated, because it's not digitally signed. I looked at this and I think I can't sign Ubuntu / Debian packages that are hosted on the openSUSE servers. I might be wrong, though, since I know next to nothing about building .deb files or signing them. However, I'm not going to look any further into this by my own, but merely hope that somebody more experienced would offer to help (or even better, take ownership of the build process, so I don't have to deal with it.) At any rate, the program installs and runs OK if you ignore that warning. You can read about adding repositories on Ubuntu <a href="https://help.ubuntu.com/community/Repositories/Ubuntu" onClick="javascript: pageTracker._trackPageview('/ubuntu');">here</a>. The command I used when prompted for the "APT line" was:
</div>

<div class="NormalText RegFnt ChpCol2 GenericSpace">
<span class="Reference">deb http://download.opensuse.org/repositories/home:/ciobi/Ubuntu/ ./</span>
</div>


<div class="NormalText RegFnt ChpCol2">
The repository on the main server uses redirection, which apparently isn't supported by Synaptic (or at least it wasn't until some time ago, because Ubuntu 9.04 works fine with the main server; maybe the others work too, but I don't have them installed.) Perhaps somebody would like to test if installation and / or automatic updates work for the main repositories and then share the results.
</div>


<div class="NormalText RegFnt ChpCol2">
One thing I noticed on 10.10 (and I guess it's the same on others) was that I couldn't update the package using the Update Manager, because the package is unsigned. The update went OK through Synaptic, though.
</div>



<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->

<div class="NormalText TitleText RegFnt ChpCol1">
<a name="binDebian">Debian</a>
<span class="NormalText">(see also the generic <a href="#binaries">notes about binaries</a>)</span>
</div>


<div class="NormalText RegFnt ChpCol1">
MP3 Diags is now available from <a href="http://packages.debian.org/unstable/sound/mp3diags" onClick="javascript: pageTracker._trackPageview('/debian/sid');">sid / unstable</a>, as well as <a href="http://packages.debian.org/stable/sound/mp3diags" onClick="javascript: pageTracker._trackPageview('/debian/stable');">stable</a> and <a href="http://packages.debian.org/testing/sound/mp3diags" onClick="javascript: pageTracker._trackPageview('/debian/testing');">testing</a>.
</div>


<div class="NormalText RegFnt ChpCol1">
For binaries that I build at openSUSE Build Service you could probably use the ones for Ubuntu. A while ago I tested the i386 .deb on a Live 5.0 and it worked fine:
</div>


<div class="NormalText RegFnt ChpCol1">
<table border="1" cellpadding="5" cellspacing="2" class="RegFnt ChpCol2">
    <tr>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/Ubuntu/" onClick="javascript: pageTracker._trackPageview('/obs/debian');"> Repository </a> (<a class="NoUnderline" href="http://ftp5.gwdg.de/pub/opensuse/repositories/home:/ciobi/Ubuntu/" onClick="javascript: pageTracker._trackPageview('/obs/mirror/debian');">mirror</a>)</td>
        <!-- <td> <a class="NoUnderline" href="http://ftp5.gwdg.de/pub/opensuse/repositories/home:/ciobi/Ubuntu/"> Repository </a> </td> -->
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/Ubuntu/i386/mp3diagsQQQBRANCH_DQQQ_QQQVERQQQ_i386.deb" onClick="javascript: pageTracker._trackPageview('/obs/debian/i386');"> i386 .deb </a> </td>
        <td> <a class="NoUnderline" href="http://download.opensuse.org/repositories/home:/ciobi/Ubuntu/amd64/mp3diagsQQQBRANCH_DQQQ_QQQVERQQQ_amd64.deb" onClick="javascript: pageTracker._trackPageview('/obs/debian/amd64');"> amd64 .deb </a> </td>
    </tr>
</table>
</div>

<div class="NormalText RegFnt ChpCol1">
I'm not sure if the main repository can be used, because of redirection issues (see also the notes for Ubuntu, above); if it can't, the mirrors should work.
</div>




<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->

<div class="NormalText TitleText RegFnt ChpCol2">
<a name="binGentoo">Gentoo</a>
</div>

<div class="NormalText RegFnt ChpCol2">
I don't package MP3 Diags for Gentoo. There's no need for it, as the project is now included in the distribution, thanks to Dominik Kapusta. The install instructions are rather simple:
</div>

<div class="NormalText RegFnt ChpCol2 GenericSpace">
<span class="Reference">emerge mp3diags</span>
</div>



<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->

<div class="NormalText TitleText RegFnt ChpCol1">
<a name="binOthers">Others</a>
</div>


<div class="NormalText RegFnt ChpCol1">
If you can't find a pre-packaged binary for your Linux distribution / version, and you don't want to build from sources, have a look at the <a href="#binaries">notes about binaries</a> above for suggestions about getting binaries and packages.
</div>



<div class="NormalText RegFnt ChpCol1">
If you want to build binaries for other platforms, please let me know, so I can add the links here.
</div>

</strike>



<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->


<div class="SubChapterText RegFnt ChpCol2">
<a name="uninstall">Uninstallation</a>
</div>


<div class="NormalText RegFnt ChpCol2">
How the uninstallation should proceed depends on how the program was installed. If you installed from sources with <span class="Reference">Install.sh</span>, there is an <span class="Reference">Uninstall.sh</span>. If you installed on Windows using the installer, you can use both the Control panel and the "Uninstall" entry created when MP3 Diags was installed. If you used a package manager on Linux, use the same thing. If you just copied binaries, remove the binaries.
</div>

<div class="NormalText RegFnt ChpCol2">
Keep in mind that besides the executable, there are data files and settings. You probably created some data files, and if you are sure you no longer need them you should remove them manually. Note that the data files come in pairs. Although you only specify an ".ini" file when you start the program for the first time (or when you <a href="310_advanced.html">create a new session</a>), two files get created. The ".ini" only stores settings, while the actual data is stored in a file in the same directory and with the same name but with the extension ".dat".
</div>

<div class="NormalText RegFnt ChpCol2">
Besides the ".ini" and ".dat" files, there is a small configuration file which is named <span class="Reference">~/.config/Ciobi/Mp3DiagsQQQBRANCH_DQQQ.conf</span> on Linux and similar systems. That file should be removed as well if you want no trace of MP3 Diags left on your computer. (Of course, you lose your settings, should you want to reinstall MP3 Diags.) The corresponding place on Windows is the registry entry <span class="Reference">HKEY_CURRENT_USER\Software\Ciobi\Mp3DiagsQQQBRANCH_DQQQ</span>.
</div>

<div class="NormalText RegFnt ChpCol2">
If you used shell integration, you should disable it before simply removing the program, so it won't leave garbage in your system. This is done automatically by the Windows uninstaller. You can do this manually by running the program with the "-u" parameter or by going to the <a href="298_config_shell.html"> Shell integration </a> configuration page and unchecking all the options there.
</div>




<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->


<div class="SubChapterText RegFnt ChpCol1">
<a name="documentation">Documentation</a>
</div>

<div class="NormalText RegFnt ChpCol1">
If for some reason you don't want to look at the documentation online, you can download it <a href="http://sourceforge.net/projects/mp3diags/filesQQQBRANCH_SLQQQ/mp3diags-doc/MP3DiagsDocQQQBRANCH_DQQQ.tar.gz" onClick="javascript: pageTracker._trackPageview('/files/doc');">here</a>.
</div>




<!-- Query mirrors: http://download.opensuse.org/repositories/home:/ciobi/xUbuntu_9.04/Packages?mirrorlist -->

<!--
http://ftp5.gwdg.de/pub/opensuse/repositories/home:/ciobi/
http://widehat.opensuse.org/repositories/home:/ciobi/xUbuntu_9.04/
-->





<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->




<!--

I didn't find much on this subject on the net, but (see <a href="http://lists.alioth.debian.org/pipermail/pkg-lyx-devel/2009-May/003244.html">this link</a> for some more details.)

http://osdir.com/ml/linux.debian.devel.games.devel/2007-08/msg00211.html
-->

<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->





<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->
<!-- ========================================================================================================== -->






<div class="NavPadTable RegFnt ChpCol2">
<div style="width:100%">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="NavTable">
    <tr>
        <td width="30%" align="left"> <a href="index.html"><img src="arrow_left_small.png" class="ImgNoBorder NavPadLeft" align="absmiddle" /></a> <a href="index.html"> Home </a> </td>
        <td width="40%" align="center" valign="middle" class="NavBarText"> Getting MP3 Diags </td>
        <td width="30%" align="right"> <a href="020_mp3_introduction.html"> Short MP3 introduction</a> <a href="020_mp3_introduction.html"><img src="arrow_right_small.png" class="ImgNoBorder NavPadRight" align="absmiddle" /> </a> </td>
    </tr>
</table>
</div>
</div>


<!--QQQStatCounterQQQ-->

</body>

</html>