Ticket #2598: mtd.patch

File mtd.patch, 3.0 KB (added by awk@…, 17 years ago)

Patches to mtd to use DiskArbitration? Framework on Mac OS X

  • mtd.pro

     
    33
    44TEMPLATE = app
    55CONFIG += thread opengl
     6CONFIG += console
    67TARGET = mtd
    78target.path = $${PREFIX}/bin
    89INSTALLS += target
     
    1617SOURCES += main.cpp ../mythdvd/dbcheck.cpp logging.cpp mtd.cpp serversocket.cpp
    1718SOURCES += jobthread.cpp dvdprobe.cpp fileobs.cpp threadevents.cpp
    1819
     20macx {
     21    DEFINES += USING_DARWIN_DA
     22    SOURCES += mtd-darwin.cpp
     23    HEADERS += mtd-darwin.h
     24
     25    # Mac OS X Frameworks
     26    FWKS = CoreFoundation IOKit DiskArbitration
     27
     28    # The following trick is tidier, and shortens the command line, but it
     29    # depends on the shell expanding Csh-style braces. Luckily, Bash & Zsh do.
     30    FC = $$join(FWKS,",","{","}")
     31
     32    QMAKE_CXXFLAGS += -F/System/Library/Frameworks/$${FC}.framework/Frameworks
     33    LIBS           += -framework $$join(FWKS," -framework ")
     34}
     35 No newline at end of file
  • dvdprobe.h

     
    179179    QString             getName(){return volume_name;}
    180180    QPtrList<DVDTitle>* getTitles(){return &titles;}
    181181    DVDTitle*           getTitle(uint which_one);
     182    void                setDevice(const QString &dvd_device) { device = dvd_device;}
     183    QString             getDevice() const { return device;}
    182184   
    183185  private:
    184186
  • mtd.cpp

     
    1818#include <mythtv/mythcontext.h>
    1919
    2020#include "mtd.h"
     21#ifdef USING_DARWIN_DA
     22#include "mtd-darwin.h"
     23#endif // USING_DARWIN_DA
    2124#include "logging.h"
    2225
    2326enum RIP_QUALITIES { QUALITY_ISO = -1, QUALITY_PERFECT, QUALITY_TRANSCODE };
     
    180183        exit(0);
    181184    }
    182185    dvd_probe = new DVDProbe(dvd_device);
     186#ifdef USING_DARWIN_DA
     187    disc_checking_thread = new DarwinDiscCheckingThread(this, dvd_probe, dvd_drive_access, titles_mutex);
     188#else
    183189    disc_checking_thread = new DiscCheckingThread(this, dvd_probe, dvd_drive_access, titles_mutex);
     190#endif // USING_DARWIN_DA
    184191    disc_checking_thread->start();
    185192    disc_checking_timer = new QTimer();
    186193    disc_checking_timer->start(1000);
     
    679686    QString file_name = dir_and_file.section("/", -1, -1);
    680687
    681688
    682     QString dvd_device = gContext->GetSetting("DVDDeviceLocation");
     689    QString dvd_device = dvd_probe->getDevice(); //gContext->GetSetting("DVDDeviceLocation");
    683690    if(dvd_device.length() < 1)
    684691    {
    685692        emit writeToLog("crapity crap crap - all set to launch a dvd job and you don't have a dvd device defined");
  • mtd.h

     
    3535    bool    haveDisc(){return have_disc;}
    3636    bool    keepGoing();
    3737   
    38   private:
     38  protected:
    3939 
    4040    MTD      *parent;
    4141    DVDProbe *dvd_probe;