~ubuntu-branches/ubuntu/breezy/kdemultimedia/breezy

« back to all changes in this revision

Viewing changes to arts/midi/midimanager_impl.cc

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2005-03-24 04:48:58 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 sarge)
  • Revision ID: james.westby@ubuntu.com-20050324044858-8ff88o9jxej6ii3d
Tags: 4:3.4.0-0ubuntu3
Add kubuntu_02_hide_arts_menu_entries.diff to hide artsbuilder and artscontrol k-menu entries

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
#include "midimanager_impl.h"
24
24
#include "midiclient_impl.h"
 
25
#include "midisyncgroup_impl.h"
25
26
#include "debug.h"
26
27
 
27
28
using namespace Arts;
51
52
        {
52
53
                arts_debug("Arts::MidiManager registered successfully.");
53
54
        }
 
55
        Dispatcher::the()->ioManager()->addTimer(1000, this);
 
56
}
 
57
 
 
58
MidiManager_impl::~MidiManager_impl()
 
59
{
 
60
        Dispatcher::the()->ioManager()->removeTimer(this);
54
61
}
55
62
 
56
63
vector<MidiClientInfo> *MidiManager_impl::clients()
57
64
{
 
65
        if(!alsaMidiGateway.isNull())
 
66
        {
 
67
                if(!alsaMidiGateway.rescan())
 
68
                        alsaMidiGateway = AlsaMidiGateway::null();
 
69
        }
 
70
 
58
71
        vector<MidiClientInfo> *result = new vector<MidiClientInfo>;
59
72
 
60
73
        list<MidiClient_impl *>::iterator i;
97
110
        return 0;
98
111
}
99
112
 
100
 
 
101
113
void MidiManager_impl::connect(long clientID, long destinationID)
102
114
{
103
115
        MidiClient_impl *src = findClient(clientID);
118
130
        src->disconnect(dest);
119
131
}
120
132
 
 
133
MidiSyncGroup MidiManager_impl::addSyncGroup()
 
134
{
 
135
        MidiSyncGroup_impl *impl = new MidiSyncGroup_impl(this);
 
136
        syncGroups.push_back(impl);
 
137
        return MidiSyncGroup::_from_base(impl);
 
138
}
 
139
 
 
140
void MidiManager_impl::removeSyncGroup(MidiSyncGroup_impl *group)
 
141
{
 
142
        syncGroups.remove(group);
 
143
}
 
144
 
 
145
void MidiManager_impl::notifyTime()
 
146
{
 
147
        list<MidiClient_impl *>::iterator i;
 
148
        for(i = _clients.begin(); i != _clients.end(); i++)
 
149
                (*i)->adjustSync();
 
150
 
 
151
        list<MidiSyncGroup_impl *>::iterator gi;
 
152
        for(gi = syncGroups.begin(); gi != syncGroups.end(); gi++)
 
153
                (*gi)->adjustSync();
 
154
}
 
155
 
121
156
namespace Arts { REGISTER_IMPLEMENTATION(MidiManager_impl); }